블록 장치를 위한 지속 메모리 캐시로 제안된 Linux PCACHE

전문: https://www.phoronix.com/news/Linux-PCACHE-RFC

원저자: Michael Larabel | 작성일: 2025-04-14 10:07
사이트 내 게시일: 2025-04-14 10:30
이 글에서는 SSD 및 HDD와 같은 전통적인 블록 장치에 대해 지속 메모리(PMem)를 고성능 캐싱 계층으로 활용하기 위해 설계된 새로운 Linux 커널 블록 레이어 모듈인 `pcache`의 도입에 대해 논의합니다. 이 혁신적인 캐싱 솔루션은 DAX(DIRECT ACCESS) 지원 지속 메모리를 활용하여 빠르고 바이트 주소 지정이 가능한 비휘발성 캐싱을 가능하게 합니다. DAX의 기능에 따라 직접 매핑 및 vmap 기반 접근을 모두 지원합니다.

`pcache`의 아키텍처는 모듈화되어 있으며, 여러 구성 요소로 이루어져 있습니다: 지속 메모리 장치를 위한 `cache_dev`, 캐시되는 블록 장치를 위한 `backing_dev`, 사용자 공간에 블록 장치를 노출하는 `logic_dev`, 그리고 적중/미적중 추적, 쓰기 백 및 가비지 수집을 포함한 핵심 캐싱 로직을 구현하는 `cache`가 있습니다.

`pcache`의 동기는 HDD와 SATA/NVMe SSD와 같은 느린 저장 옵션과 새로운 바이트 주소 지정이 가능한 지속 메모리 기술 간의 성능 격차를 해소하기 위함입니다. 전통적인 블록 레이어 캐싱과 달리, `pcache`는 지속성, 낮은 대기 시간 및 높은 동시성을 제공하여 현대의 스토리지 클래스 메모리 장치에 더 적합합니다.

이 패치는 또한 `pcache`의 초기화 진입점, sysfs 버스 등록, 루트 장치 처리 및 Kconfig 통합을 포함하고 있어, `pcache` 서브시스템이 이제 블록 I/O 성능을 향상시키기 위해 커널 모듈로 로드될 준비가 되었음을 나타냅니다.

* 이 글은 phoronix.com의 기사를 요약한 것입니다. 전체 기사의 내용은 이곳에서 확인하실 수 있습니다.
카테고리: Storage
태그: Linux (1268) Performance (1137) SSD (275) HDD (37) DAX (2) kernel module (2) block devices (2) Persistent Memory (1) Caching (1)

댓글

댓글을 쓰기 위해서는 로그인을 해 주세요.