CXDVirt: 저지연 커널 모듈 기반 CXL-SSD 에뮬레이션
요약
본 논문은 CXL-SSD 에뮬레이션의 성능 문제를 해결하기 위해 커널 모듈 기반의 새로운 에뮬레이터 CXDVirt를 제안합니다. 기존 VM 기반 에뮬레이터(Cylon)는 높은 지연 시간과 스레드 증가에 따른 급격한 성능 저하 문제가 있었습니다. CXDVirt는 MMU와 사용자 정의 페이지 폴트 경로를 활용하여 미스 시 NAND 지연 시간을 모델링함으로써, 낮은 오버헤드로 CXL-SSD의 이중 모드 지연 프로파일을 유지합니다.
핵심 포인트
- CXDVirt는 커널 모듈 기반으로 VM 오버헤드를 제거했습니다.
- 미스당 지연 시간 및 스레드 증가에 따른 성능 저하가 현저히 개선되었습니다.
- CXL-SSD의 이중 모드 지연 프로파일을 유지하며 낮은 오버헤드로 에뮬레이션이 가능합니다.
CXL-SSD는 소규모 온디바이스 DRAM 캐시를 통해 NAND 규모의 용량에 대한 메모리 의미론적 접근을 약속하지만, 희소한 하드웨어로 인해 CXL-SSD 연구에서 에뮬레이션이 핵심입니다. 최신 에뮬레이터인 Cylon은 워크로드를 VM(가상 머신) 내에서 실행하며 DRAM 미스(miss)를 가로채 NAND 지연 시간을 주입합니다. 우리는 이 VM 메커니즘이 미스당 3$ ext{μs}$ 이상을 추가하여 고성능 NAND 읽기 지연 시간을 초과하고, 반복적인 VM 종료(exit)가 테일 미스 지연 시간을 수 배 증가시킨다는 것을 보여줍니다. 우리는 VM을 완전히 제거한 커널 모듈 기반의 CXL-SSD 에뮬레이터인 CXDVirt를 제시합니다: 이 장치는 host devdax를 통해 노출되고, 히트(hits)는 MMU(메모리 관리 장치)를 통해 네이티브하게 실행되며, 사용자 정의 페이지 폴트 경로가 미스 시 NAND 지연 시간을 모델링합니다. CXDVirt는 CXL-SSD의 이중 모드 지연 시간 프로파일을 유지하면서 미스당 지연 시간을 1.41.6$ imes$ 감소시키고 (P99.9에서는 4.1$ imes$), 8개 스레드를 사용할 경우 미스 지연 시간이 단지 두 배가 되는 반면, Cylon은 QEMU의 전역 잠금(global lock) 때문에 89$ imes$ 증가합니다. CXDVirt는 NAND 트래픽이 없는 원격 DRAM과 5% 이내로 유지되는 반면, Cylon은 3.1~3.6$ imes$ 느리며, 구성 가능한 제거(eviction) 및 프리페치 정책 연구를 가능하게 합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 arXiv cs.AR의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기