## Memo
## Memo with LLM
### 論文情報
- 論文のタイトル: "Exploring GPU-to-GPU Communication: Insights into Supercomputer Interconnects"
- 著者と所属:
- Daniele De Sensi (Sapienza University of Rome)
- Lorenzo Pichetti (University of Trento)
- Flavio Vella (University of Trento)
- Tiziano De Matteis (Vrije Universiteit Amsterdam)
- Zebin Ren (Vrije Universiteit Amsterdam)
- Luigi Fusco (ETH Zurich)
- Matteo Turisini (CINECA)
- Daniele Cesarini (CINECA)
- Kurt Lust (University of Antwerp)
- Animesh Trivedi (IBM Research Europe)
- Duncan Roweth (HPE Cray)
- Filippo Spiga (NVIDIA)
- Salvatore Di Girolamo (NVIDIA)
- Torsten Hoefler (ETH Zurich)
- カンファレンス/ジャーナル名: SC24: International Conference for High Performance Computing, Networking, Storage and Analysis
- 発表年: 2024
### 論文概要
本論文は、エクサスケールスーパーコンピュータにおけるマルチGPUノード間通信の性能を包括的に特性化した研究である。Alps(NVIDIA H100 GPU + Slingshot)、Leonardo(NVIDIA A100 GPU + InfiniBand HDR)、LUMI(AMD MI250X GPU + Slingshot)という3つの異なるアーキテクチャを持つスーパーコンピュータで、最大4,096GPUでのノード内・ノード間相互接続の性能評価を実施し、システム効率の最大化に向けた実用的なガイダンスを提供している。
### 詳細解説
#### 問題設定
エクサスケールスーパーコンピュータにおいて、マルチGPUノードが急速に普及し、同一ノード上のGPUは数テラビット/秒の帯域幅を持つ専用ネットワークで接続されている。しかし、異なる技術、設計選択、ソフトウェア層により性能期待値の評価やシステム効率の最大化が困難となっている。
**入力**: 各種GPU間通信パターン(Point-to-Point、All-to-All、集合通信、ハロー交換等)のベンチマークデータ
**出力**: 通信性能特性、帯域幅利用効率、レイテンシ測定値、ボトルネック分析結果
**必要なデータ**: 各スーパーコンピュータのハードウェア構成(GPU間接続トポロジー、ネットワーク構成)、ソフトウェアスタック情報(MPI実装、NCCL/RCCL バージョン、ドライバ情報)
#### 提案手法
著者らは「Blink-GPU」と呼ばれる包括的なマイクロベンチマークスイートを開発し、以下の通信戦略を体系的に評価している:
1. **Trivial Staging**: GPUメモリ→ホストメモリ→MPIでホスト間転送→GPUメモリのストア・アンド・フォワード方式
2. **Device-Device Copy**: プロセス間でメモリハンドルを共有し、GPU間で直接データ転送
3. **GPU-Aware MPI**: GPUバッファを直接MPIプリミティブに渡す方式
4. **\*CCL (NCCL/RCCL)**: NVIDIA Collective Communication Library/ROCm Collective Communication Libraryを使用
**性能評価の詳細手法**:
- 各通信パターンについて100〜1,000回の実験を実施(転送サイズに依存)
- MPI_Wtimeを使用した高精度タイミング測定(分解能: LUMI/Leonardo 25ns、Alps 30ns)
- 集合通信では全参加ランク間の最大時間(最小スループット)を報告
- GPUとの同期を取って完全なデータ受信を保証
#### 新規性
本研究の主要な新規性は以下の通り:
1. **マルチアーキテクチャ横断比較**: 3つの異なるGPUアーキテクチャ(NVIDIA H100/A100、AMD MI250X)と相互接続技術(Slingshot、InfiniBand HDR)での統一的評価
2. **大規模スケール評価**: 従来研究が数ノード〜数十ノードに限定されていたのに対し、最大4,096GPUという大規模環境での評価
3. **包括的通信ライブラリ比較**: Trivial Staging、Device-Device Copy、GPU-Aware MPI、\*CCLの体系的性能比較
4. **実環境ネットワークノイズ分析**: 合成ノイズではなく実プロダクション環境でのネットワークノイズ影響の定量的評価
5. **オープンソースベンチマークツール**: 既存ベンチマーク(OSU、nccl-tests)の限界を克服した新しいベンチマークスイートの開発・公開
先行研究では個別システムや限定的な通信パターンでの評価が多かったが、本研究は複数の最先端システムでの包括的かつ横断的比較を実現している。
#### 実験設定
**評価対象システム**:
- **Alps**: 4×NVIDIA H100 GPU、NVLink 4.0(1.2 Tb/s)、Slingshot-11、Dragonfly トポロジー
- **Leonardo**: 4×NVIDIA A100 GPU、NVLink 3.0(800 Gb/s)、InfiniBand HDR、Dragonfly+ トポロジー
- **LUMI**: 4×AMD MI250X GPU(8 GCD)、Infinity Fabric(400 Gb/s)、Slingshot-11、Dragonfly トポロジー
**評価指標**:
- **レイテンシ**: マイクロ秒単位での往復時間測定
- **スループット/帯域幅**: ギガビット/秒単位での実効データ転送率
- **効率**: 理論帯域幅に対する実効帯域幅の比率
- **スケーラビリティ**: GPU数増加に対する性能の線形性
**ベンチマーク詳細**: Point-to-Point通信、AlltoAll、AllReduce、集合通信、ハロー交換等の各種通信パターンを1B〜1GiBの転送サイズで評価
#### 実験結果
論文中で報告されている具体的な数値結果と知見:
**ノード内通信性能**:
- **Point-to-Point**: GPU-Aware MPIが全システムで最高スループットを達成
- **レイテンシ**: AlpsとLeonardoで\*CCLとMPIが同等、LUMIでMPIが最大3倍高速
- **LUMI特有の問題**: RCCLがGPU間帯域幅を正しく認識せず、実際の50%程度の性能しか発揮できない場合がある
**AlltoAll性能**:
- **期待スループット**: Alps/Leonardo 3,200/2,400 Gb/s、LUMI 600 Gb/s
- **実測値**: \*CCLが大容量転送で最高性能、小容量転送ではシステム依存
**AllReduce性能**:
- **Alps/Leonardo**: \*CCLがMPIを上回る性能
- **LUMI**: 小容量転送でMPIが最大3倍高速、大容量転送では\*CCLが優位
**ノード間通信性能**:
- **Point-to-Point**: MPIが\*CCLより小容量転送で最大10倍、大容量転送で最大3倍高速
- **ネットワーク距離の影響**: Alps/LUMIでは軽微(レイテンシ28%増、スループット1%減)、Leonardoでは顕著(レイテンシ2倍増、スループット17%減)
**スケーラビリティ**:
- **4,096GPU AlltoAll**: Alps/Leonardoで約75%効率、LUMIで若干低下
- **ネットワークノイズ影響**: Leonardoで最大50%の性能低下(AllReduce)、20%の性能低下(AlltoAll)
**パフォーマンスチューニングの重要性**:
- デフォルト設定では最適性能が得られず、最大10倍の性能改善が可能
- 環境変数調整により: NCCL_IGNORE_CPU_AFFINITY=1で1.6倍改善、NCCL_NET_GDR_LEVEL=3で2倍改善等
**主要な観察結果(8つの重要な知見)**:
1. マルチGPUシステムでの高性能実現には複雑なチューニングが必要
2. ノード内Point-to-Point転送ではGPU-Aware MPIが最適
3. LUMIでRCCLがノード内GPU間帯域幅を正しく判定できない
4. 単一ノード集合通信では\*CCLがMPIを上回る(LUMI小容量転送除く)
5. ノード間Point-to-Point通信ではMPIが\*CCLを大幅に上回る
6. ネットワーク距離の影響はシステム依存(特にLeonardoで顕著)
7. \*CCLはノード内GPU間接続をより効果的に活用するが大規模ノード数で不安定
8. ネットワークノイズがスケーラビリティに最大50%の影響
これらの結果は、未活用の帯域幅が存在し、ネットワークからソフトウェアレベルまで多くの最適化機会があることを明確に示している。
## Abstract
マルチGPUノードは、急速に進化するエクサスケールスーパーコンピュータの状況において、ますます一般的になっている。これらのシステムでは、同一ノード上のGPUは専用ネットワークを通じて接続され、数テラビット/秒の帯域幅を持つ。しかし、異なる技術、設計選択、ソフトウェア層により、性能期待値の評価やシステム効率の最大化は困難である。本論文では、それぞれが独自のアーキテクチャと設計を持つ3つのスーパーコンピュータ - Alps、Leonardo、LUMI - を包括的に特性化する。ノード内およびノード間ベンチマークを組み合わせて使用し、最大4,096GPUでのノード内・ノード間相互接続の性能評価に焦点を当てている。その制限と機会を分析することで、マルチGPUスーパーコンピューティングを扱う研究者、システム設計者、ソフトウェア開発者に実用的なガイダンスを提供することを目的とする。我々の結果は、未活用の帯域幅が存在し、ネットワークからソフトウェア最適化まで、多くの最適化機会がまだ残されていることを示している。