엔비디아는 데이터센터 GPU를 SSD에 연결해 데이터 전송 속도를 높이고 싶어한다.
샤론 하딩 - 2022년 3월 17일 오후 4:49 UTC
Microsoft는 이번 주에 Windows PC에 DirectStorage를 도입했습니다. API는 게임 개발자가 SSD에서 GPU로 직접 그래픽 데이터를 로드하는 앱을 만들 수 있도록 함으로써 더 빠른 로드 시간과 더 자세한 그래픽을 약속합니다. 이제 Nvidia와 IBM은 유사한 SSD/GPU 기술을 개발했지만 이를 데이터 센터의 대규모 데이터 세트를 목표로 하고 있습니다.
BaM(Big Accelerator Memory)은 DirectStorage와 같은 콘솔이나 PC 게임을 대상으로 하는 대신 기계 학습 훈련, 분석, 고성능 컴퓨팅과 같은 GPU 집약적 애플리케이션의 방대한 양의 데이터에 데이터 센터에 빠르게 액세스할 수 있도록 하기 위한 것입니다. 이번 주에 The Register가 발견한 연구 논문에 대한 내용입니다. Nvidia, IBM 및 몇몇 미국 대학의 연구원들이 작성한 "BaM: A Case for Enabling Fine-grain High Throughput GPU-Orchestrated Access to Storage"(PDF)라는 제목의 논문은 차세대 애플리케이션을 실행하는 보다 효율적인 방법을 제안합니다. 엄청난 컴퓨팅 성능과 메모리 대역폭을 갖춘 데이터 센터입니다.
또한 BaM은 시스템 아키텍처 작성자가 오픈 소스로 만들 계획이라는 점에서 DirectStorage와 다릅니다.
논문에서는 CPU 조정 스토리지 데이터 액세스가 "사전 정의된 규칙적, 조밀한" 데이터 액세스 패턴을 사용하는 조밀한 신경망 훈련과 같은 "전통적인" GPU 애플리케이션에 적합하지만 너무 많은 "CPU-GPU 동기화 오버헤드 및/또는 또는 I/O 트래픽 증폭." 따라서 그래프 및 데이터 분석, 추천 시스템, 그래프 신경망 및 기타 "세밀한 데이터 종속 액세스 패턴"을 사용하는 차세대 애플리케이션에는 적합하지 않다고 저자는 썼습니다.
DirectStorage와 마찬가지로 BaM은 NVMe SSD와 함께 작동합니다. 논문에 따르면 BaM은 "GPU 스레드가 컴퓨터의 결정에 따라 필요에 따라 소량의 데이터를 읽거나 쓸 수 있도록 함으로써 I/O 트래픽 증폭을 완화합니다."
보다 구체적으로 BaM은 소프트웨어 관리 캐시인 GPU의 온보드 메모리와 GPU 스레드 소프트웨어 라이브러리를 사용합니다. 스레드는 SSD로부터 데이터를 수신하고 사용자 정의 Linux 커널 드라이버의 도움으로 이를 이동합니다. 연구원들은 Nvidia A100 40GB PCIe GPU, 각각 64개의 코어를 갖춘 2개의 AMD EPYC 7702 CPU, 1TB의 DDR4-3200 메모리를 갖춘 프로토타입 시스템에서 테스트를 수행했습니다. 시스템은 Ubuntu 20.04 LTS를 실행합니다.
저자는 "소비자급" SSD라도 "훨씬 더 비싼 DRAM 전용 솔루션에 비해 경쟁력 있는" 앱 성능으로 BaM을 지원할 수 있다고 언급했습니다.