
메타 엔지니어 그레고리 프라이스가 리눅스에서 하드웨어 압축 메모리를 활용하기 위한 ‘CRAM’ 지원 구상을 공개했다. Linux Plumbers Conference 2026 공식 세션 소개와 발표 자료에 따르면, 프라이스는 10월 5일 체코 프라하에서 압축 메모리를 일반 메모리와 비슷하게 다루는 커널 구조를 제시했다.
핵심은 압축 자체보다 메모리에 접근하는 방식이다. zswap·zram과 달리 하드웨어 압축 메모리는 바이트나 캐시라인 단위의 접근을 제공한다. 압축된 영역을 페이지 테이블에 연결해 둔 채 직접 읽을 수 있어, 읽기 때 페이지 폴트를 일으키고 소프트웨어로 압축을 푸는 과정을 피할 수 있다는 설명이다.
다만 커널에는 새로운 관리 문제가 생긴다. 커널은 메모리 페이지에 실제 용량이 뒷받침된다고 전제하지만, 압축 메모리의 논리 용량은 데이터의 압축률에 따라 달라진다. 예상만큼 압축되지 않으면 커널이 사용할 수 있다고 판단한 공간과 실제 저장 가능한 공간이 어긋날 수 있다.
프라이스가 제시한 구조는 압축 영역에서 직접 읽기를 허용하되, 쓰기가 필요하면 해당 데이터를 일반 메모리로 옮기는 방식이다. 전용 NUMA 노드와 메모리 이동, 용량을 동적으로 조절하는 벌루닝을 조합하고, 장치가 더 이상 할당을 받지 않도록 제어하는 장치도 둔다. 파일 페이지 캐시는 읽기 전용 익명 메모리보다 처리가 복잡해, 변경되지 않은 페이지를 다루는 clean-cache 방식의 활용을 검토했다.
공식 세션 소개는 필요한 커널 기능 대부분이 이미 있거나 과거에 존재했다고 설명한다. 프라이스는 시험한 구현인 ‘mm/cram.c’가 TAOBench와 FIO에서 DRAM에 가까운 성능을 보였으며, 커널에 포함된 대부분의 파일시스템을 대상으로 페이지 캐시의 정확성도 시험했다고 밝혔다.
성능 결과의 해석에는 단서가 있다. 발표 자료는 페이지 폴트 비용을 분리해 보기 위해 비교 대상을 모두 DRAM으로 구성했다고 명시한다. zswap 결과에는 별도의 메모리 회수 지연 문제가 있어 완전히 유효한 비교가 아니라는 설명도 붙였다. 따라서 이번 자료만으로 실제 압축 하드웨어가 모든 작업에서 zswap·zram보다 빠르다고 일반화할 수는 없다.
이번 발표는 압축 메모리를 단순한 스왑 저장소가 아니라 직접 읽을 수 있는 메모리 계층으로 다루는 방안을 보여준다. 읽기 접근 비용을 줄이는 동시에 쓰기와 실제 용량을 엄격히 통제하는 것이 과제다. 공식 자료는 지원 구조와 시험 결과를 제시한 것으로, 특정 리눅스 버전에 정식 채택됐다는 발표와는 구분된다.
출처: Linux Plumbers Conference 2026 공식 세션 ‘A Compressed RAM Service’ https://lpc.events/event/20/contributions/2424/
그레고리 프라이스 발표 자료 ‘A Compressed RAM Service’ https://lpc.events/event/20/contributions/2424/attachments/2052/4705/A%20Compressed%20RAM%20Service%20(1).pptx