すべてのプロダクト
Search
ドキュメントセンター

Container Service for Kubernetes:GPU トポロジー対応スケジューリングの概要

最終更新日:Apr 17, 2025

このトピックでは、GPU トポロジーとトポロジー対応 GPU スケジューリングの利点について説明します。

GPU トポロジー

次の図は、NVLink を介して相互に通信する 8 つの Tesla V100 GPU のハイブリッドキューブメッシュトポロジーを示しています。各 Tesla V100 GPU には 6 つの NVLink が割り当てられており、8 つの Tesla V100 GPU を完全に相互接続することはできません。2 つの Tesla V100 GPU 間で最大 2 つの NVLink 接続を確立できます。

この例では、GPU0 は 2 つの NVLink を介して GPU3 と GPU4 に接続されています。 GPU0 は、1 つの NVLink を介して GPU1 と GPU2 に接続されています。一方、GPU0 と GPU6 の間には NVLink 接続が存在せず、それらの通信は Peripheral Component Interconnect Express (PCIe) に依存しています。

トポロジー対応 GPU スケジューリングの利点

各 NVLink の一方向帯域幅と双方向帯域幅は、25 GB/s と 50 GB/s です。 PCIe リンクの帯域幅は 16 GB/s です。トレーニング中、GPU の組み合わせが異なると、トレーニング速度に違いが生じる可能性があります。したがって、さまざまな GPU モデルを組み合わせて、最適なトレーニングパフォーマンスを実現できます。

Kubernetes は、ノード上の GPU リソースのトポロジーを認識していません。したがって、Kubernetes は GPU リソースをランダムにスケジュールします。トレーニング速度は、組み合わせによって異なります。この問題を解決するために、Container Service for Kubernetes (ACK) は スケジューリングフレームワーク に基づくトポロジー対応 GPU スケジューリングをサポートしています。これにより、ACK はノード上の GPU の組み合わせからトレーニング速度が最も速い構成を選択できます。