AI 스토리지⑤ — GPUDirect Storage: 저장장치에서 GPU로 바로 데이터를 보내는 기술
AI 스토리지⑤ — GPUDirect Storage: 저장장치에서 GPU로 바로 데이터를 보내는 기술 · 불마켓 제작

SSD가 빨라도 CPU를 두 번 거치면 느려진다

쉽게 말하면

창고에서 공장으로 보내는 물건이 있는데 꼭 중간 물류센터에 내렸다가 다시 트럭에 실어야 한다면 시간이 더 걸립니다. 기존 스토리지 데이터가 CPU 메모리를 한 번 거쳐 GPU로 가는 구조가 비슷합니다. GPUDirect Storage는 이 중간 환승을 줄이는 기술입니다.

전통적인 서버에서 저장장치의 데이터를 GPU가 사용하려면 보통 Storage → CPU Memory → GPU Memory 순으로 이동한다.

SSD에서 읽은 데이터를 먼저 시스템 DRAM에 복사하고, 다시 PCIe를 통해 GPU HBM으로 보내는 것이다.

이 방식은 SSD와 네트워크가 느렸던 시대에는 큰 문제가 아니었다. 하지만 NVMe와 400G 네트워크, GPU가 빨라지면서 CPU 메모리 경로 자체가 병목이 될 수 있다.

GPUDirect Storage는 저장장치 또는 네트워크에서 GPU 메모리로 더 직접적인 DMA 경로를 만들어 불필요한 CPU bounce buffer를 줄인다.

AI 데이터 이동을 ‘CPU 중심’에서 ‘GPU 중심’으로 바꾸는 기술이다.

Bounce Buffer란 무엇인가?

용어부터 쉽게

Bounce Buffer는 데이터가 목적지인 GPU로 가기 전에 잠깐 내려놓는 ‘중간 대기장소’입니다. 이 대기장소가 필요하면 데이터 복사가 한 번 더 생기고 CPU 메모리 대역폭도 사용합니다.

스토리지 I/O는 전통적으로 CPU 메모리를 중심으로 설계됐다.

NVMe SSD에서 데이터를 읽으면 먼저 kernel과 system memory buffer에 들어간다. GPU application은 이 데이터를 다시 GPU memory로 복사한다.

이 중간 메모리 공간을 bounce buffer라고 부른다.

데이터를 두 번 복사하면 메모리 대역폭을 사용하고 CPU 작업도 늘어난다.

데이터셋이 TB 단위이고 GPU가 수천 개라면 작은 복사비용도 전체 시스템에서는 매우 커진다.

AI 스토리지⑤ — GPUDirect Storage: 저장장치에서 GPU로 바로 데이터를 보내는 기술 핵심 구조와 데이터 흐름
핵심 구조와 데이터 흐름 · 공식 자료를 바탕으로 불마켓이 재구성

GPUDirect Storage는 무엇을 바꿀까?

한 문장으로

저장장치에서 GPU 메모리까지 더 직접적인 길을 만들어 CPU가 데이터를 들고 옮기는 일을 줄입니다. CPU가 완전히 사라지는 것은 아니지만 실제 데이터 이동의 우회로를 줄이는 것이 핵심입니다.

GPUDirect Storage는 DMA라는 하드웨어 데이터 전송 기능을 이용해 로컬 NVMe SSD나 네트워크 너머의 NVMe-oF 스토리지에서 GPU 메모리로 데이터를 더 직접적으로 옮긴다. DMA는 CPU가 데이터 한 조각 한 조각을 직접 복사하지 않아도 장치끼리 데이터를 옮기게 해주는 기능이라고 생각하면 된다.

CPU는 I/O 설정과 제어에는 참여하지만 실제 데이터가 CPU DRAM을 통과할 필요가 줄어든다.

NVIDIA는 이를 direct path between storage and GPU memory라고 설명한다.

이렇게 하면 CPU utilization을 낮추고 end-to-end latency와 throughput을 개선할 수 있다.

Local NVMe뿐 아니라 Remote Storage에도 적용된다

쉬운 비유

바로 옆 창고뿐 아니라 네트워크 건너편 물류센터에서도 GPU로 직배송할 수 있게 만드는 개념입니다. 이때 RDMA와 NVMe-oF 같은 고속 네트워크 기술이 함께 필요합니다.

AI 클러스터에서는 모든 데이터를 서버 내부 SSD에 둘 수 없다.

대부분은 고성능 shared storage를 네트워크로 연결한다.

GPUDirect Storage는 NVMe-oF와 RDMA network를 통해 remote storage에서도 GPU memory와 직접 데이터 경로를 만들 수 있다.

NIC와 storage device의 DMA capability를 활용해 CPU bounce buffer를 우회한다.

따라서 GPUDirect Storage는 단순 SSD 기술이 아니라 storage network와 GPU memory를 연결하는 I/O architecture다.

AI 스토리지⑤ — GPUDirect Storage: 저장장치에서 GPU로 바로 데이터를 보내는 기술 기술 전환과 시스템 구성
기술 전환과 시스템 구성 · 공식 자료를 바탕으로 불마켓이 재구성

학습에서 어떤 효과가 있을까?

AI 학습에서는 GPU가 새로운 batch를 받을 때 데이터 loading이 지연되면 utilization이 떨어진다.

GPUDirect Storage를 사용하면 데이터 preprocessing과 transfer pipeline을 더 효율적으로 구성할 수 있다.

대형 dataset을 GPU로 빠르게 스트리밍하고, 여러 NVMe 장치와 network link의 대역폭을 동시에 활용할 수 있다.

특히 RAPIDS처럼 GPU에서 직접 데이터를 처리하는 workload에서는 CPU로 데이터를 가져왔다가 다시 GPU로 보내는 과정이 불필요하다.

데이터가 생성된 위치에서 GPU까지 더 직접적으로 이동할수록 전체 pipeline이 단순해진다.

Checkpoint에도 왜 중요한가?

GPUDirect Storage는 읽기뿐 아니라 쓰기에도 의미가 있다.

학습 중 GPU memory에 있는 모델 상태를 저장할 때 CPU memory를 거치지 않고 storage로 더 직접적으로 전송할 수 있다.

대규모 checkpoint는 순간적으로 엄청난 write bandwidth를 요구한다.

수천 GPU가 동시에 checkpoint를 저장하면 storage system의 bandwidth뿐 아니라 CPU memory path도 병목이 될 수 있다.

GPU와 storage 사이 경로를 단순화하면 checkpoint pause를 줄이는 데 도움이 된다.

AI 스토리지⑤ — GPUDirect Storage: 저장장치에서 GPU로 바로 데이터를 보내는 기술 메모리·스토리지 계층 및 운영 구조
메모리·스토리지 계층 및 운영 구조 · 공식 자료를 바탕으로 불마켓이 재구성

GPUDirect Storage가 모든 환경에서 빠른 것은 아니다

중요한 주의점

고속도로를 새로 만들었다고 출발지 창고가 느리거나 목적지 진입로가 막혀 있으면 빨라지지 않습니다. GDS도 SSD, 파일시스템, 네트워크, PCIe 배치가 함께 받쳐줘야 효과가 납니다.

직접 경로라고 해서 항상 성능이 자동으로 좋아지는 것은 아니다.

File system, storage array, NIC, PCIe topology, NUMA placement, GPU와 NVMe의 위치가 모두 중요하다.

작은 파일이나 CPU preprocessing이 많은 workload에서는 GDS의 장점이 제한될 수 있다.

또 storage가 충분한 throughput을 제공하지 못하면 GPU direct path를 만들어도 병목은 storage 자체에 남는다.

따라서 GDS는 전체 I/O pipeline을 함께 설계해야 효과가 난다.

AI 스토리지의 미래는 ‘CPU 우회’가 될까?

큰 흐름

GPU끼리는 GPUDirect RDMA, 저장장치와 GPU는 GPUDirect Storage, 메모리 확장은 CXL처럼 데이터가 꼭 CPU를 중심으로 돌아가지 않는 구조가 늘고 있습니다. AI 서버의 중심이 CPU 하나에서 여러 가속기로 이동하는 변화입니다.

AI 시스템에서는 GPU와 accelerator가 점점 데이터 처리의 중심이 되고 있다.

Network에서는 GPUDirect RDMA가 GPU끼리 직접 통신하고, Storage에서는 GPUDirect Storage가 데이터를 GPU memory로 직접 전달한다.

CXL은 CPU와 memory device 사이의 coherent access를 확대한다.

이런 기술들의 공통점은 데이터가 CPU를 반드시 거쳐야 한다는 전통적인 서버구조에서 벗어나는 것이다.

AI 데이터센터는 CPU 중심 컴퓨터에서 여러 accelerator와 memory, storage가 직접 연결되는 heterogeneous system으로 발전하고 있다.

다음은 누가 이 인프라를 실제로 공급하는가?

GPUDirect Storage가 동작하려면 GPU뿐 아니라 NVMe SSD, high-speed Ethernet/InfiniBand, storage array, file system이 필요하다.

Pure Storage, NetApp, DDN, WEKA 같은 스토리지 플랫폼 업체와 Micron, Samsung, SK hynix/Solidigm 계열, Kioxia 등 flash 공급망이 함께 연결된다.

마지막 편에서는 이 AI 스토리지 공급망을 반도체부터 enterprise storage platform까지 한 번에 정리한다.

이 글에서 기억할 핵심

GPUDirect Storage를 읽는 기준

GPUDirect Storage는 저장장치의 데이터를 GPU 메모리로 옮기는 경로에서 불필요한 복사와 CPU 개입을 줄이는 기술입니다. 모든 환경에서 같은 효과가 나는 것은 아니므로 소프트웨어 스택과 실제 워크로드를 함께 봐야 합니다.

  • AI 스토리지와 메모리 인프라는 GPU가 데이터를 기다리지 않게 만드는 핵심 시스템이다.
  • GPUDirect Storage의 핵심은 SSD 자체를 빠르게 만드는 것이 아니라 저장장치와 GPU 사이에서 CPU 복사를 줄여 데이터가 더 짧은 경로로 움직이게 하는 것이다.
  • 최신 규격과 기술은 상용화 수준과 연구·로드맵 단계를 구분해 설명해야 한다.

한 줄 핵심

GPUDirect Storage의 핵심은 SSD 자체를 빠르게 만드는 것이 아니라 저장장치와 GPU 사이에서 CPU 복사를 줄여 데이터가 더 짧은 경로로 움직이게 하는 것이다.

같이 읽기

‘GPU로 바로 간다’는 표현의 정확한 의미

전통적인 저장 I/O는 저장장치에서 읽은 데이터를 CPU 메모리의 버퍼에 놓고 GPU 메모리로 다시 복사하는 경로를 사용할 수 있습니다. GPUDirect Storage(GDS)는 지원되는 구성에서 저장장치와 GPU 메모리 사이의 DMA 데이터 경로를 제공해 불필요한 CPU bounce buffer를 피하도록 설계됐습니다. 다만 제어 요청까지 CPU가 완전히 사라진다는 의미는 아닙니다.

GDS의 효과는 파일시스템, 커널·드라이버, NIC와 GPU의 PCIe 배치, 버퍼 정렬, I/O 크기와 동시성에 좌우됩니다. 작은 파일과 메타데이터 작업이 병목인 경우에는 직접 경로만으로 문제가 해결되지 않을 수 있습니다. 도입 전에는 GDS 활성 여부만 확인하지 말고 동일한 데이터셋으로 CPU 사용률, GPU 대기시간, 종단 간 처리량과 지연을 비교해야 합니다.

검증 체크리스트

  • 사용 중인 로컬·분산 파일시스템이 해당 구성의 GDS를 지원하는가
  • GPU와 NIC·NVMe 사이 PCIe 경로가 불필요하게 우회하지 않는가
  • 정렬된 큰 I/O와 실제 애플리케이션 패턴을 모두 시험했는가
  • 장애 시 기존 POSIX I/O 경로로의 동작과 성능을 확인했는가
  • CPU 사용률 감소가 전체 학습시간 단축으로 이어지는가

추가 원자료: NVIDIA GPUDirect Storage Overview Guide, NVIDIA GPUDirect Storage Design Guide

공식·주요 참고자료

※ 본 글은 산업과 기술 구조를 이해하기 위한 정보형 콘텐츠이며 특정 종목의 매수·매도 추천이나 수익 보장을 목적으로 하지 않습니다.