Core Concepts
HotMem은 서버리스 함수의 메모리 할당을 분리하여 빠르고 효율적인 메모리 회수를 가능하게 하는 새로운 메모리 관리 메커니즘으로, 서버리스 환경에서 메모리 사용 효율성을 향상시킵니다.
Abstract
HotMem: 서버리스 마이크로 VM을 위한 빠르고 효율적인 메모리 회수
본 연구 논문에서는 서버리스 컴퓨팅 환경에서 마이크로 VM의 메모리 회수를 위한 새로운 접근 방식인 HotMem을 제안합니다.
서버리스 컴퓨팅은 사용량 기반 과금 모델을 제공하며, 이는 자원의 동적 할당 및 회수를 필요로 합니다. 특히, 함수 실행을 격리하기 위해 사용되는 마이크로 VM의 메모리 자원 관리는 서버리스 환경에서 중요한 과제입니다. 기존의 메모리 회수 메커니즘은 페이지 마이그레이션으로 인한 높은 오버헤드를 발생시켜 성능 저하를 야기합니다. 본 연구는 이러한 문제를 해결하고 서버리스 함수에 최적화된 빠르고 효율적인 메모리 회수 메커니즘을 제공하는 것을 목표로 합니다.
HotMem은 게스트 메모리를 파티션하여 함수 인스턴스의 메모리 공간을 격리하고, 파티션 인식 메모리 회수 인터페이스를 통해 빠르고 간섭 없는 메모리 회수를 가능하게 합니다.
HotMem 파티션
HotMem은 게스트 메모리를 고정 크기의 청크로 분할하여 각 청크가 단일 함수 인스턴스를 호스팅하도록 합니다. 이를 위해 새로운 메모리 영역인 ZONE_HotMem을 도입하여 각 파티션을 나타냅니다. 각 파티션은 고유 ID로 식별되며, 부팅 시 지정된 동시성 계수에 따라 초기 파티션 수가 결정됩니다.
HotMem 인터페이스
HotMem은 시스템 호출 기반 인터페이스를 통해 함수 인스턴스에 HotMem 파티션을 할당합니다. 함수 인스턴스는 HotMem 인터페이스를 통해 메모리 할당을 요청하고, HotMem은 사용 가능한 파티션을 할당하여 인스턴스의 메모리 공간을 격리합니다.
파티션 인식 메모리 회수
HotMem은 수정된 virtio-mem 드라이버를 통해 파티션 정보를 활용하여 메모리 회수를 수행합니다. 함수 인스턴스가 종료되면 HotMem은 해당 인스턴스에 할당된 파티션을 즉시 회수하고, 이때 페이지 마이그레이션이 발생하지 않으므로 빠르고 효율적인 메모리 회수가 가능합니다.