top of page

GPUDirect Storage - 스토리지와 GPU 메모리 직통 연결! AI, HPC 워크로드 성능 병목 문제의 근본적인 해결책...

AI, HPC 워크로드 성능을 이야기할 때 만성 병목 구간으로 지목되는 곳이 있습니다. 네, 스토리지입니다. AI, HPC 데이터 세트가 나날이 커지면서 스토리지 성능 병목은 모두의 고민이 되었습니다. 성능 저하의 본질적인 문제 해결을 위해 NVIDIA는 GPU Direct 기술을 개발했습니다. GPUDirect는 CPU에 의존하는 전통적인 IO 처리 방식이 갖는 한계를 뛰어넘기 위해 등장했습니다.


상습 정체 구간과 고속도로의 차이


IO 처리에 GPU를 투입하면 어떤 일이 발생할까요? 다음 그림 한 장이면 깔끔하게 설명할 수 있습니다. 병목 구간이 막힘없는 고속도로로 바뀌는 변화가 일어납니다. 이 차이가 나는 이유는 GPU, NVMe 드라이버, 스토리지 컨트롤러 등은 DMA(direct memory access) 엔진을 지원하는 반면 CPU는 지원을 하지 않기 때문입니다.


GPU Direct 기술은 크게 세 가지로 유형이 나뉩니다. 첫 번째는 GPUDirect peer to peet입니다. 이를 적용하면 PCIe, NVLink 인터페이스 상에 연결된 GPU 피어 간 접근이 가속됩니다. 다음으로 GPUDirect RDMA(Remote Direct Memory Address)입니다. 이는 NIC(network interface card)와 GPU 메모리 간 데이터 IO가 직접 처리되게 하는 것입니다. 마지막으로 GPUDirect Storage는 DMA 경로를 통해 GPU 메모리와 로컬 또는 원격 스토리지가 직접 연결되는 방식입니다.


CPU와 시스템 메모리로 IO를 처리하는 것과 GPU 메모리에 직접 접근할 수 있는 경로로 IO를 처리하는 방식은 큰 차이를 보입니다. 단순히 비교를 해보면 NVMe Gen3가 적용된 DGX 2와 NVMe Gen4가 적용된 DGX A100 환경에서 CPU와 시스템 메모리를 쓸 때와 GPU 메모리를 이용할 때 대략 2배가량의 대역폭 차이가 생깁니다. 대역폭이 넓다는 것은 그만큼 IO 처리에 여유가 있다는 것이고, 일관성 있는 성능 보장이 가능하다는 것을 뜻합니다.


GPUDirect Storage를 적용한 벤치마크 결과를 보면 이 기술은 반드시 AI, HPC 워크로드 가속을 위해 써야 한다는 확신을 갖게 됩니다. 소매 업계에서 다루는 데이터를 대상으로 한 분석 쿼리 수행하는 시나리오로 TPCx-BB 벤치마크를 수행한 결과 GPUDirect Storage를 적용하면 5배 이상 쿼리 속도가 빨라지는 것을 알 수 있었습니다. 이런 속도 개선은 GPUDirect Storage를 지원하는 버전의 RAPIDS가 출시되면 더욱 커질 전망입니다. 반복적인 쿼리 수행에 대한 TPC-H 벤치마크 결과도 주목할만합니다. IO와 CPU 메모리 관리 모든 측면에서 개선이 이루어졌음을 알 수 있습니다.



Pytorch 관련 성능 개선도 큽니다. DeepLabv3+가 개념 검증(PoC)을 위해 GPUDirect Storage를 적용해 본 결과 CPU를 이용할 때와 비교해 3배 이상 데이터 로딩 속도 차이가 났습니다.



이외 테스트 결과 중 흥미로운 것이 또 하나 있습니다. 바로 CPU 부하를 GPUDirect Storage가 얼마나 낮출 수 있는가에 대한 테스트 결과입니다. 테스트를 해보니 CPU와 시스템 메모리를 이용해 IO를 처리할 때는 파일 사이즈가 클수록 코어 사용량이 늘어납니다. 반면에 GPUDirect Storage를 이용하면 CPU 코어 사용량이 현저하게 줄어듭니다. CPU 자원 활용률 측면에서 스토리지 IO 처리에 자원을 낭비하지 않는 효과를 제공하는 것입니다.



NVIDIA는 GPUDirect Storage를 스토리지에 적용하고자 하는 기업, 개발자, OEM 기업, 스토리지 벤더를 돕기 위해 디자인 가이드를 제공합니다. 이 가이드는 GPUDirect Storage 아키텍처를 각사의 솔루션에 최적화하기 위한 지침이라 보면 됩니다.


현재 NVIDIA는 dan, DELLEMC, Ecelery, IBM Spectrum Scale, LIQID, MICROCHIP, NetApp, ScaleFlux, VAST, WEKA 등과 개발 파트너십을 맺고 GPUDirect Storage 적용을 지원하고 있습니다. 현재 적용 테스트를 마친 곳은 MARVELL, Micron, Qunata Computer 세 곳입니다.



조회수 1,386회댓글 0개
bottom of page