Skip to main content
QUICK REVIEW

[論文レビュー] Optimized Broadcast for Deep Learning Workloads on Dense-GPU InfiniBand Clusters: MPI or NCCL?

Ammar Ahmad Awan, Ching-Hsiang Chu|arXiv (Cornell University)|Jul 28, 2017
Caching and Content Delivery被引用数 15
ひとこと要約

本論文は、密なGPU InfiniBandクラスタ上でディープラーニングワークロードを最適化するため、MVAPICH2-GDRにおける強化されたチューニングを備えたパイプライン化されたリングベースのMPI_Bcast設計を提案する。これは、ノード内およびノード間のGPUブロードキャストにおいて、それぞれNCCLよりも最大14倍および16.6倍の低遅延を達成し、Microsoft CNTKを用いた128 GPUでのVGGのトレーニングで最大7%の高速化を実現した。これにより、最適化されたMPIがNCCLのような専用ライブラリを上回ることを示した。

ABSTRACT

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のような専用ライブラリとの間の性能ギャップを是正すること。
  • 特にDNNトレーニングで一般的な大きなメッセージサイズを想定し、密なGPU InfiniBandクラスタにおけるノード内およびノード間GPU通信のMPI_Bcastを最適化すること。
  • CUDA対応MPIランタイム(例:MVAPICH2-GDR)が、NCCLのような専用ライブラリを上回る性能を発揮できるようにチューニングできるかどうかを評価すること。
  • マイクロベンチマークと実世界のDNNトレーニング(例:VGG)を用いた、NCCL、NCCL統合MPI、最適化されたMPI_Bcastの包括的性能比較を提供すること。
  • 効率的なMPIランタイム設計により、データ並列DNNトレーニングにおいてNCCLのような外部ライブラリの必要性を排除できることを実証すること。

提案手法

  • マルチGPUノードにおける遅延低減とスケーラビリティ向上を目的として、MPI_Bcastのためのパイプライン化されたチェーン(リング)アルゴリズムを設計する。
  • MVAPICH2-GDRに強化されたコラボレーティブチューニングフレームワークを統合し、メッセージサイズやシステムトポロジの変化に動的に適応できるようにする。
  • RDMAやハードウェアマルチキャストなどのInfiniBandハードウェア機能を活用して、GPU間のデータ転送を高速化する。
  • GPUメモリの登録とピアツピアアクセスを最適化することで、CPUの関与を最小限に抑え、遅延を低減する。
  • Microsoft CNTKとVGGネットワークを用いたマイクロベンチマークおよび実世界のトレーニングにおいて、提案されたMPI_Bcastを実装・評価する。
  • ノード内およびノード間通信シナリオにおいて、NCCLベースのブロードキャストおよびNCCL統合MPI_Bcastと性能を比較する。

実験結果

リサーチクエスチョン

  • RQ1パイプライン化されたリングベースのMPI_Bcast設計は、密なGPUクラスタにおけるGPUブロードキャストでNCCLを上回ることができるか?
  • RQ2ディープラーニングワークロードにおける大容量メッセージ通信において、標準MPIランタイムに見られる性能ボトルネックは何か?
  • RQ3さまざまなメッセージサイズおよびシステム構成において、最適化されたMPI_BcastとNCCLの性能はどのように比較されるか?
  • RQ4CUDA対応MPIランタイムは、DNNトレーニングワークロードにおいてNCCLのような専用ライブラリを上回る性能を発揮できるようにチューニングできるか?
  • RQ5Microsoft 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が作成し、人間の編集者が確認しました。