先駆的科学計算に関するフォーラム2014(Forum on Advanced Scientific Computing 2014)～平成25年度 先端的計算科学研究プロジェクト成果報告～

FX10におけるパケットペーシング
ならびにその活用技術の有効性調査

2014年4月25日(金)（公財）九州先端科学技術研究所
次世代スーパーコンピュータ開発支援室
柴村英智<shibamura@isit.or.jp>

研究概略► 研究対象

HPCアプリにおけるメッセージ通信► 動機

インターコネクトでの通信混雑（パケットの衝突）を解消・抑制し、メッセージ通信（⇒アプリの実行）を速くしたい► 提案手法

混雑が発生しないように、パケットペーシングして（パケットの送信間隔を空けて）送る► これまでの成果


シミュレーションによってパケットペーシングの有効性を確認► 本研究での成果

2014/4/25

実機（FX10）におけるパケットペーシングの有効性を確認
All Rights Reserved, Copyright © Institute of Systems, Information Technologies and Nanotechnologies 20142

発表のながれ► 研究の概要► パケットペーシング► これまでにわかったこと► 目的、方法、評価指標► 評価実験
► まとめ► 今後の課題2014/4/25

All Rights Reserved, Copyright © Institute of Systems, Information Technologies and Nanotechnologies 20143

研究の概要► これまでの研究では


HPCアプリの通信高速化

 ペーシングって効くの？
 単に遅くなるだけじゃない？

⇒ パケットペーシングに着目

ペーシングを施したアプリについて、「シミュレーション」による通信性能評価⇒ パケットペーシングの効果を確認► 本発表では シミュレーションで効果が出てもねぇ。。。
 はやく実機で結果を示せ！

「実機（FX10）」における通信性能評価⇒ パケットペーシングの効果を確認
2014/4/25

All Rights Reserved, Copyright © Institute of Systems, Information Technologies and Nanotechnologies 20144

パケットペーシング► 指定する間隔（パケット間ギャップ）を空けて、パケットをネットワークに送出

パケットの停止・再送遅延を抑制

Packet flow A
PacketGap

Gap

PacketGap

Gap

PacketGap

Gap

PacketGap

Gap

PacketGap

Gap

PacketGap

Gap = 2Packet flow B
Gap

PacketPacketPacketPacketPacket flow C
Gap

Gap

通信効率を最適化（通信時間を最小化）するためには、適切なパケット間ギャップの導出がポイント
2014/4/25

All Rights Reserved, Copyright © Institute of Systems, Information Technologies and Nanotechnologies 20145

これまでにわかったこと► パケットペーシングの有効性
通信アルゴリズムに応じたペーシング効果


通信アルゴリズムによっては通信帯域をほぼ最大に利用メッセージ長やノード数によるペーシング効果の増加

ポストペタ時代の通信基盤技術となりうる► パケットペーシングの弱点


通信開始時刻のインバランス
通信アルゴリズム、トポロジ、ノード数によって異なる
 場合によってはペーシングの効果が損なわれることも

ただし、これらはシミュレーションでのお話
2014/4/25

All Rights Reserved, Copyright © Institute of Systems, Information Technologies and Nanotechnologies 20146

目的、方法、評価指標► 目的

実機におけるパケットペーシングの有効性を実証► 方法

パケットペーシング可能なシステムを用いて、パケット間ギャップを変えた通信プログラムを実行► 評価指標

2014/4/25

ペーシング無しの通信時間を基準（1.0）とした、ペーシング有りの通信時間の比 ⇒ ペーシング効果「速い」 0.0
1.0
2.0 … 「遅い」

All Rights Reserved, Copyright © Institute of Systems, Information Technologies and Nanotechnologies 2014

7

評価実験
► 実験環境パケット転送間隔を変更可能なシステム
 富士通 PRIMEHPC FX10
＠九州大学情報基盤研究開発センター
► 実験１：ランダムリング通信

HPC Challengeより
 ランダムに選んだランクの並びでリングを形成し、隣接するプロセス同士で1対1通信を行う
► 実験２：全対全通信

Pairwise exchangeアルゴリズム
 MPICHやOpenMPIなどの多くのMPI実装で採用


2014/4/25

All Rights Reserved, Copyright © Institute of Systems, Information Technologies and Nanotechnologies 20148

実験１：ランダムリング通信► MPIライブラリ（MPI_～）で記述► ノード数：12，24，48，96，192，384，768► プロセス数： ノード数×16コア► パケット間ギャップ：0（ペーシング無）～16.0


ジョブオプションで指定► メッセージサイズ： 16KiB～4MiB

2014/4/25

パケットヘッダサイズ含む

All Rights Reserved, Copyright © Institute of Systems, Information Technologies and Nanotechnologies 20149

ランダムリング（12～96ノード）
FX10 12nodes (192cores)

FX10 24nodes (384cores)
1.15
16 KiB

1.1032 KiB

1.05

64 KiB128 KiB

1.00

256 KiB

512 KiB

0.95

1 MiB

Effect of Packet Pacing
Fast <=+=> Slow

Effect of Packet Pacing
Fast <=+=> Slow

1.15

2 MiB

0.900.0 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0
Inter-Packet GAP

32 KiB

1.05

128 KiB
256 KiB

512 KiB

0.95

1 MiB
2 MiB

0.90

4 MiB

0.0 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0
Inter-Packet GAP

4 MiB

FX10 96nodes (1,536cores)

1.15

1.15

メッセージ長が大きくなるに
16 KiB
1.10
つれてペーシング効果も向上
32 KiB

1.10
1.05

64 KiB128 KiB1.00

256 KiB

512 KiB

0.95

1 MiB
2 MiB

0.90
0.0 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0
Inter-Packet GAP

4 MiB

Effect of Packet Pacing
Fast <=+=> Slow

Effect of Packet Pacing
Fast <=+=> Slow

64 KiB

1.00

FX10 48nodes (768cores)

2014/4/25

16 KiB

1.10

1.05

16 KiB
32 KiB
64 KiB128 KiB

1.00

256 KiB

512 KiB

0.95

1 MiB
2 MiB

0.900.0 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0
Inter-Packet GAP

4 MiB

All Rights Reserved, Copyright © Institute of Systems, Information Technologies and Nanotechnologies 201410ランダムリング（192～768ノード）
FX-10 384nodes (6,144cores)

1.20

1.20

1.15

1.15

1.10
1.05

16 KiB

1.00

32 KiB
64 KiB

0.95

128 KiB

Packet PAcing Effect
Fast <=+=> Slow

Packet PAcing Effect
Fast <=+=> Slow

FX-10 192nodes (3,072cores)

1.10
1.05

16 KiB

1.00

32 KiB

0.90

0.90

0.85

0.85
0.0

4.0
8.0
12.0
Inter-Packet GAP

16.0

64 KiB

0.95

128 KiB

0.0

4.0
8.0
12.0
Inter-Packet GAP

16.0

FX-10 768nodes (12,288cores)
1.20

ノード数が大きくなるにつれてペーシング効果も向上
12ノード ⇒ 0.94程度

Packet PAcing Effect
Fast <=+=> Slow

1.15
1.10
1.05

16 KiB

32 KiB

1.00

64 KiB

0.95

128 KiB

0.90
0.85
0.0

2014/4/25

4.0
8.0
12.0
Inter-Packet GAP

実機でのペーシング効果を確認

16.0

All Rights Reserved, Copyright © Institute of Systems, Information Technologies and Nanotechnologies 201411

実験２：全対全通信► Tofuライブラリで記述（RDMA put）


パケットペーシングの挙動を変える要因を排除


要因： 通信モード（高速型、省メモリ型）や通信方式（Eager、ランデブー）の切替► ノード数： 64／768


（X,Y,Z,0,0,0）のみ使用⇒ 物理3次元メッシュ網（4,2,8）を構成► プロセス数： 64 （1プロセス／ノード）► パケット間ギャップ：0（ペーシング無）～2.0► メッセージサイズ： 512KiB、1MiB、2MiB► ランクの割り当て方（3軸に割り当てる順番）：

XYZ（4×2×8）、YXZ（2×4×8）、XZY（4×8×2）、YZX（2×8×4）、ZXY（8×4×2）、ZYX（8×2×4）
2014/4/25

All Rights Reserved, Copyright © Institute of Systems, Information Technologies and Nanotechnologies 201412

FX10に3次元メッシュ網を構成► Tofu網（8x6x16） から 3次元メッシュ網（4x2x8）を抽出
a,b,c軸によるショートカットパスの排除

z=8
y=2

FX10のTofuブロック

x=4
2014/4/25

All Rights Reserved, Copyright © Institute of Systems, Information Technologies and Nanotechnologies 201413

全対全通信（FX10）実機でのペーシング効果を確認
2014/4/25

All Rights Reserved, Copyright © Institute of Systems, Information Technologies and Nanotechnologies 201414

考察
► ランダムリング

実機におけるペーシングの有効性を確認

ノードサイズ、メッセージサイズが大きくなるとペーシングの効果も大きくなることも確認⇒ ポストペタ／エクサシステムに有効► 全対全通信

2014/4/25

64ノードは規模が小さくペーシング効果が低い


シミュレーションでは8K、16Kノードを対象

X軸（=4）、Y軸（＝2） ではペーシングは効かない

Z軸（=8） で若干作用するが、PWXでは機会が少ない

All Rights Reserved, Copyright © Institute of Systems, Information Technologies and Nanotechnologies 2014

15

まとめ
► FX10におけるパケットペーシングならびにその活用技術の有効性調査


これまでの研究「シミュレーション」による通信性能評価

本発表では


「実機（FX10）」における通信性能評価


ランダムリング通信と全対全通信を実行⇒ 実機におけるパケットペーシングの有効性を確認⇒ メッセージ長やノード数によるペーシング効果の増加
2014/4/25

All Rights Reserved, Copyright © Institute of Systems, Information Technologies and Nanotechnologies 201416