Swing: Short-cutting Rings for Higher Bandwidth Allreduce

要約

allreduce 集合操作は、分散システム上で実行されるワークロードの実行時間のかなりの部分を占めます。
パフォーマンスを決定する要因の 1 つは、特にトーラスなどのネットワーク上での通信ノード間の距離です。距離が長いほど、複数のメッセージが同じリンク上で転送されることになり、帯域幅が減少します。
トーラス ネットワークは、機械学習ワークロード用に最適化されたシステム (Google TPU や Amazon Trainium デバイスなど) だけでなく、Top500 スーパーコンピューターの一部でも広く使用されています。
トーラス ネットワークでの allreduce のパフォーマンスを向上させるために、トーラス方向間でスイングすることで通信ノード間の距離を短く保つ新しいアルゴリズムである Swing を導入します。
私たちの分析と実験による評価では、形状やサイズに関係なく、さまざまなタイプのトーラスおよびトーラスに似たトポロジ上で、32B から 128MiB の範囲のベクトルに対して、Swing が既存の allreduce アルゴリズムよりも最大 3 倍優れたパフォーマンスを発揮することが示されています。

要約(オリジナル)

The allreduce collective operation accounts for a significant fraction of the runtime of workloads running on distributed systems. One factor determining its performance is the distance between communicating nodes, especially on networks like torus, where a higher distance implies multiple messages being forwarded on the same link, thus reducing the allreduce bandwidth. Torus networks are widely used on systems optimized for machine learning workloads (e.g., Google TPUs and Amazon Trainium devices), as well as on some of the Top500 supercomputers. To improve allreduce performance on torus networks we introduce Swing, a new algorithm that keeps a low distance between communicating nodes by swinging between torus directions. Our analysis and experimental evaluation show that Swing outperforms by up to 3x existing allreduce algorithms for vectors ranging from 32B to 128MiB, on different types of torus and torus-like topologies, regardless of their shape and size.

arxiv情報

著者 Daniele De Sensi,Tommaso Bonato,David Saam,Torsten Hoefler
発行日 2024-01-17 17:24:36+00:00
arxivサイト arxiv_id(pdf)

提供元, 利用サービス

arxiv.jp, Google

カテゴリー: C.2.4; C.2.2, cs.DC, cs.LG, cs.NI, cs.PF パーマリンク