[논문 리뷰] Optimized Broadcast for Deep Learning Workloads on Dense-GPU InfiniBand Clusters: MPI or NCCL?
이 논문은 고밀도 GPU InfiniBand 클러스터에서 딥러닝 워크로드를 최적화하기 위해 MVAPICH2-GDR에 통합된 파이프라인형 린 기반 MPI_Bcast 설계를 제안한다. 이는 내부 노드 GPU 브로드캐스트에서 NCCL 대비 최대 14배, 외부 노드 GPU 브로드캐스트에서 최대 16.6배의 낮은 지연 시간을 달성하며, Microsoft CNTK를 사용한 128개 GPU에서 VGG의 경우 최대 7% 빠른 학습을 제공한다. 이는 최적화된 MPI가 NCCL와 같은 전용 라이브러리보다 뛰어난 성능을 낼 수 있음을 입증한다.
Dense Multi-GPU systems have recently gained a lot of attention in the HPC arena. Traditionally, MPI runtimes have been primarily designed for clusters with a large number of nodes. However, with the advent of MPI+CUDA applications and CUDA-Aware MPI runtimes like MVAPICH2 and OpenMPI, it has become important to address efficient communication schemes for such dense Multi-GPU nodes. This coupled with new application workloads brought forward by Deep Learning frameworks like Caffe and Microsoft CNTK pose additional design constraints due to very large message communication of GPU buffers during the training phase. In this context, special-purpose libraries like NVIDIA NCCL have been proposed for GPU-based collective communication on dense GPU systems. In this paper, we propose a pipelined chain (ring) design for the MPI_Bcast collective operation along with an enhanced collective tuning framework in MVAPICH2-GDR that enables efficient intra-/inter-node multi-GPU communication. We present an in-depth performance landscape for the proposed MPI_Bcast schemes along with a comparative analysis of NVIDIA NCCL Broadcast and NCCL-based MPI_Bcast. The proposed designs for MVAPICH2-GDR enable up to 14X and 16.6X improvement, compared to NCCL-based solutions, for intra- and inter-node broadcast latency, respectively. In addition, the proposed designs provide up to 7% improvement over NCCL-based solutions for data parallel training of the VGG network on 128 GPUs using Microsoft CNTK.
연구 동기 및 목표
- 대규모 딥러닝 워크로드에서 일반적인 MPI 런타임과 NCCL와 같은 전용 라이브러리 간의 성능 격차를 해소하기 위해.
- 딥러닝 워크로드에서 흔히 발생하는 큰 메시지 크기의 특성을 고려해, 고밀도 GPU InfiniBand 클러스터에서 내부 및 외부 노드 GPU 통신을 위한 MPI_Bcast를 최적화하기 위해.
- NCCL 성능을 따라잡거나 초월할 수 있도록 CUDA 인식 MPI 런타임인 MVAPICH2-GDR를 개선할 수 있는지 평가하기 위해.
- 마이크로 벤치마크와 실제 DNN 학습(예: VGG)을 통한 종합적인 성능 비교를 통해 NCCL, NCCL 통합 MPI, 최적화된 MPI_Bcast 간의 성능을 평가하기 위해.
- 데이터 병렬 DNN 학습에서 NCCL와 같은 외부 라이브러리가 필요 없이 효율적인 MPI 런타임 설계로 충분히 성능을 낼 수 있음을 입증하기 위해.
제안 방법
- 멀티 GPU 노드에서 지연 시간을 줄이고 확장성을 향상시키기 위해 파이프라인형 체인(링) 알고리즘을 사용한 MPI_Bcast 설계를 수행한다.
- MVAPICH2-GDR에 향상된 컬렉티브 튜닝 프레임워크를 통합하여 다양한 메시지 크기와 시스템 구성에 동적으로 대응할 수 있도록 한다.
- RDMA 및 하드웨어 멀티캐스트와 같은 InfiniBand 하드웨어 기능을 활용해 GPU 간 데이터 이동을 가속화한다.
- GPU 메모리 등록 및 피어 투 피어 액세스를 통해 CPU의 참여를 최소화하고 지연 시간을 감소시킨다.
- 제안된 MPI_Bcast를 마이크로 벤치마크와 Microsoft CNTK 및 VGG 네트워크를 사용한 실제 학습 환경에서 구현하고 평가한다.
- 내부 노드 및 외부 노드 통신 시나리오에서 NCCL 기반 브로드캐스트 및 NCCL 통합 MPI_Bcast와의 성능을 비교한다.
실험 결과
연구 질문
- RQ1고밀도 GPU 클러스터에서 파이프라인형 링 기반 MPI_Bcast 설계가 NCCL보다 GPU 브로드캐스트 성능을 뛰어나게 할 수 있는가?
- RQ2딥러닝 워크로드에서 큰 메시지 통신을 위한 표준 MPI 런타임의 성능 저하 요인은 무엇인가?
- RQ3다양한 메시지 크기와 시스템 구성에서 최적화된 MPI_Bcast의 성능은 NCCL과 비교해 어떻게 되는가?
- RQ4CUDA 인식 MPI 런타임은 딥러닝 워크로드에서 NCCL와 같은 전용 라이브러리의 성능을 뛰어나게 할 수 있는가?
- RQ5실제 딥러닝 프레임워크인 Microsoft CNTK와 같은 환경에서 최적화된 MPI_Bcast를 사용할 경우의 응용 수준의 이점은 무엇인가?
주요 결과
- 제안된 MVAPICH2-GDR 최적화 MPI_Bcast는 내부 노드 GPU 브로드캐스트에서 NCCL 대비 최대 14배 낮은 지연 시간을 달성한다.
- 외부 노드 브로드캐스트에서는 제안된 설계가 NCCL 기반 솔루션 대비 최대 16.6배 낮은 지연 시간을 기록한다.
- Microsoft CNTK를 사용한 128개 GPU에서 VGG 네트워크의 응용 수준 학습에서, 최적화된 MPI_Bcast는 NCCL 통합 MPI 대비 최대 7% 빠른 학습 시간을 제공한다.
- 성능 향상은 특히 NCCL의 설계 제약으로 인해 한계를 보이는 작은 메시지 및 중간 크기 메시지에서 가장 두드러진다.
- 큰 메시지 크기에서는 최적화된 MPI_Bcast가 NCCL와 유사한 성능을 유지하며, 전체 메시지 크기 스펙트럼에서 뛰어난 안정성을 입증한다.
- 적절한 튜닝을 통해 일반적인 MPI 런타임도 딥러닝 통신 워크로드에서 NCCL와 같은 전용 라이브러리의 성능을 따라잡거나 초월할 수 있음을 입증한다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.