GPU Direct Storage (GDS)
[!tldr] 업무 관점 takeaway GPU ↔ NVMe 간 데이터 이동에서 CPU를 거치지 않는 NVIDIA 기술. [[LMCache-개요|LMCache]]가 공식적으로 GDS Backend를 지원한다 — 이건 우리에게 FDP Backend 설계 레퍼런스 코드다. "Direct I/O + Direct DMA"의 완성형. FDP + GDS 조합이 가능하다면 (PCIe 경로상으로 가능) CPU 우회 + NAND 우회 GC가 동시에 달성되어 KV Cache 로드의 이상적 형태가 된다.
한 줄 정의
NVIDIA의 기술. PCIe peer-to-peer DMA를 사용해 GPU 메모리와 NVMe SSD 간에 CPU/시스템 메모리를 거치지 않고 직접 데이터 전송.
기존 경로:
SSD → System DRAM → GPU memory
(CPU/DRAM 통과 → bounce buffer 비용)
GDS 경로:
SSD ──────► GPU memory (PCIe P2P DMA)
(CPU/DRAM 우회)
왜 KV Cache에 중요한가
LMCache의 [[LMCache-아키텍처|4티어]] 중:
CPU DRAM ──(LRU evict)──► SSD
▲
│ (prefetch)
▼
SSD ──(read)──► CPU DRAM ──► GPU memory
마지막 SSD → CPU DRAM → GPU 단계가 [[TTFT-ITL|warm TTFT]]의 핵심 비용. GDS는 이 중간 CPU DRAM 단계를 우회.
[[KV-Cache]] read는 [[LMCache-Local-Disk-Backend|blocking]]이므로 직결 효과가 직접적.
LMCache의 GDS 지원
LMCache 공식 문서에 GDS Backend가 명시:
- 자체 backend로 등록 가능
- Direct I/O (
O_DIRECT)와 비슷한 alignment 요구 - CUDA + cuFile 라이브러리 활용
→ 우리에게는 FDP Backend 작성의 레퍼런스 코드.
FDP + GDS 조합 가능성
이상적 시나리오 (Phase 4 검토 항목):
GPU ───── PCIe P2P DMA (GDS) ──── NVMe FDP SSD
│ │
│ ├── RUH로 hot/cold 분리 (FDP)
│ └── GC 최소화 → WAF ~1.0
│
└── CPU/DRAM 우회 → latency ↓
물리적으로는 가능 (둘 다 NVMe write/read 명령에 부가 정보). 단:
- 드라이버 수준 통합 확인 필요
- cuFile + io_uring_cmd 조합 가능성 조사 필요
- [[기여-포인트-맵]]의 장기 항목
의외의 연결
[!note] GDS ↔ io_uring_cmd 철학적 유사성 둘 다 "중간 레이어를 건너뛰어 디바이스에 직결". GDS는 CPU DRAM 우회, io_uring_cmd는 FS/Block layer 우회. 차이: GDS는 GPU↔SSD, io_uring_cmd는 CPU↔NVMe driver. 둘을 결합하면 "CPU도 안 거치고 FS도 안 거치고 GPU↔SSD 직결" 이라는 가장 깊은 직결이 된다.
[!note] GDS 효과는 LMCache의 PUT보다 GET에서 크다 PUT은 LMCache가 이미 async이므로 CPU latency가 critical path 아님. GET은 blocking → CPU DRAM 통과가 그대로 [[TTFT-ITL|TTFT]]에 더해진다. 즉 GDS는 read 가속 도구로 봐야 한다.
측정/실험 관점
- vLLM은 GPU 직접 모델 실행 → GDS와 같은 PCIe 도메인
- HC-SSD 환경에서 GDS read 성능 → cold load 가속화
- baseline (no GDS) vs GDS 측정으로 효과 정량화
관련 페이지
- [[LMCache-Local-Disk-Backend]] — GDS backend의 이웃 (참고 구현)
- [[NVMe-FDP]] — 함께 활성화 가능한 SSD 기능
- [[O_DIRECT]] — GDS와 비슷한 "우회" 옵션 (CPU 쪽)
- [[io_uring]] — 동일한 직결 철학
- [[Storage-Stack]] — GDS가 어느 레이어를 우회하는가
- [[Mission]] — Phase 4의 부가 검토 항목