[論文レビュー] Designing a Micro-Benchmark Suite to Evaluate gRPC for TensorFlow: Early Experiences
本稿では、実際の通信パターンをモデル化することで、TensorFlowワークロードにおけるgRPCのパフォーマンスを評価することを目的としたマイクロベンチマークスイート、TF-gRPC-Benchを提案する。スイートには、人気のあるディープラーニングモデルのプロファイリングから得られた3つのターゲットベンチマークが含まれており、イーサーネット、IPoIB、RDMAネットワークにおける評価により、特に低遅延・高スループット条件下で顕著なパフォーマンス差が明らかになった。これはgRPCのネットワークスタック選択に対する感受性を示している。
Remote procedure call (RPC) is the backbone of many modern distributed systems. Google's gRPC is one of the most popular open source RPC frameworks available in the community. gRPC is the main communication engine for Google's Deep Learning framework TensorFlow. TensorFlow primarily uses gRPC for communicating tensors and administrative tasks among different processes. Tensor updates during the training phase are communication intensive and thus TensorFlow's performance is heavily dependent on the underlying network and the efficacy of the communication engine. Training deep learning models on TensorFlow can take significant time ranging from several minutes to several hours, even several days. Thus system researchers need to devote a lot of time to understand the impact of communication on the overall performance. Clearly, there is lack of benchmarks available for system researchers. Therefore, we propose TF-gRPC-Bench micro-benchmark suite that enables system researchers to quickly understand the impact of the underlying network and communication runtime on deep learning workloads. To achieve this, we first analyze the characteristics of TensorFlow workload over gRPC by training popular deep learning models. Then, we propose three micro-benchmarks that take account these workload characteristics. In addition, we comprehensively evaluate gRPC with TF-gRPC-Bench micro-benchmark suite on different clusters over Ethernet, IPoIB, and RDMA, and present the results.
研究の動機と目的
- TensorFlowにおける分散ディープラーニングワークロードにおけるgRPCの影響を評価するための専用ベンチマークの不足に対処すること。
- TensorFlowトレーニングワークロードにおけるgRPCを介した通信の主要な特徴を特定し、モデル化すること。
- TensorFlowにおける代表的な通信パターンを分離・再現するためのターゲットマイクロベンチマークの設計。
- 提案されたベンチマークスイートを用いて、gRPCのパフォーマンスをイーサーネット、IPoIB、RDMAといった異なるネットワークトポロジーで評価すること。
- システム研究者らが、分散MLシステムにおける通信スタックのパフォーマンスを検証できる再現可能で効率的なツールを提供すること。
提案手法
- 著者らは、まず、人気のあるディープラーニングモデル(例:ResNet、Inception)のトレーニングワークロードをTensorFlowでプロファイリングし、メッセージサイズ、頻度、データ型といった通信特徴を抽出した。
- これらの特徴に基づき、3つのマイクロベンチマークを設計した:小規模で頻繁なメッセージ(例:勾配)を対象とするもの、大規模で稀なメッセージ(例:モデル重み)を対象とするもの、および実際のトレーニングフェーズを反映する混合ワークロードを対象とするもの。
- ベンチマークは、TensorFlowの内部RPCメカニズムを用いてgRPC通信パターンをシミュレートし、主にテンソルのシリアル化とトランスポートオーバーヘッドに焦点を当てた。
- スイートは、イーサーネット、IPoIB(InfiniBand)、RDMAの3つのネットワークタイプを用いた複数のクラスタで評価され、パフォーマンス差を隔離できるように制御された設定が採用された。
- パフォーマンス指標には、エンドツーエンド遅延、スループット、およびさまざまなメッセージサイズとネットワーク状態におけるスケーラビリティが含まれた。
- 再現性と公平性を確保するため、標準化され、繰り返し可能な設定が使用された。
実験結果
リサーチクエスチョン
- RQ1イーサーネット、IPoIB、RDMAといった異なるネットワークトポロジーは、TensorFlow通信ワークロードにおけるgRPCパフォーマンスにどのように影響するか?
- RQ2gRPCパフォーマンスに影響を与えるTensorFlowトレーニングワークロードの支配的通信パターンは何か?
- RQ3マイクロベンチマークスイートは、gRPC上で実行される実際のディープラーニングトレーニングワークロードのパフォーマンス特性を正確に反映できるか?
- RQ4分散TensorFlowトレーニングにおけるメッセージサイズと頻度の変化に伴い、gRPCパフォーマンスはどのように変化するか?
- RQ5ネットワークスタックの選択は、gRPCベースの分散MLシステムにおけるエンドツーエンドトレーニング遅延にどの程度影響を与えるか?
主な発見
- gRPCパフォーマンスはネットワークトポロジーによって顕著に異なり、特に小規模メッセージに対してRDMAが最小の遅延と最大のスループットを達成した。
- IPoIBは、カーネルオーバーヘッドが低く、割り込み処理が優れているため、標準イーサーネットよりも優れたパフォーマンスを示し、特に低遅延シナリオで顕著だった。
- マイクロベンチマークは、実際のTensorFlowトレーニングワークロードのパフォーマンスボトルネック(特に勾配同期フェーズ)を効果的に捉えていた。
- 小規模メッセージ通信(例:勾配)はネットワークスタック選択に対して最も感受性が高く、RDMAはイーサーネットに比べて遅延を最大50%まで削減した。
- すべてのネットワークでメッセージサイズに応じたスループットのスケーリングは良好だったが、特に高頻度・低遅延領域においてRDMAが優れたパフォーマンスを維持した。
- ベンチマークスイートは一貫性があり、繰り返し可能なパフォーマンス測定を可能にし、分散MLにおける通信スタックのシステムレベル評価に適していた。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。