30
パケットペーシングを用いた 集団通信アルゴリズムの シミュレーション評価 柴村英智 1) 薄田竜太郎 1) 三輪英樹 2) 三吉郁夫 2) 井上弘士 3) 1) 九州先端科学技術研究所 2) 富士通株式会社 3) 九州大学

パケットペーシングを用いた 集団通信アルゴリズムの シミュ … · パケットペーシングを用いた 集団通信アルゴリズムの シミュレーション評価

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: パケットペーシングを用いた 集団通信アルゴリズムの シミュ … · パケットペーシングを用いた 集団通信アルゴリズムの シミュレーション評価

パケットペーシングを用いた

集団通信アルゴリズムの

シミュレーション評価

○ 柴村英智1) 薄田竜太郎1) 三輪英樹2)

三吉郁夫2) 井上弘士3)

1) 九州先端科学技術研究所

2) 富士通株式会社

3) 九州大学

Page 2: パケットペーシングを用いた 集団通信アルゴリズムの シミュ … · パケットペーシングを用いた 集団通信アルゴリズムの シミュレーション評価

発表の概要と流れ

►概要 集団通信アルゴリズムにパケットペーシングを適用し、 シミュレーション評価を行った

⇒ パケットの送信間隔を調整することで高速化

►発表の流れ 背景

目的

実験概要

シミュレーション結果

まとめ

2011/7/28 All Rights Reserved, Copyright © Institute of Systems, Information Technologies and Nanotechnologies 2011 2

Page 3: パケットペーシングを用いた 集団通信アルゴリズムの シミュ … · パケットペーシングを用いた 集団通信アルゴリズムの シミュレーション評価

背景

►ペタ/エクサ コンピューティング時代に「集団通信」は使えるのか?

大きな問題

動かない(かも): メモリ不足

ノード数増大、メニーコア化

遅い(かも): 通信混雑

FatTree網 ⇒ メッシュ/トーラス網

解決方法

使わない ⇒ アプリケーション毎に通信アルゴリズムを考える

速いものを選ぶ ⇒ 集団通信アルゴリズムの動的選択

なんとかしよう ⇒ 省メモリで高速な集団通信機構の開発

省メモリ(実装)については別途研究

集団通信の高速化に焦点を絞る

2011/7/28 All Rights Reserved, Copyright © Institute of Systems, Information Technologies and Nanotechnologies 2011 3

Page 4: パケットペーシングを用いた 集団通信アルゴリズムの シミュ … · パケットペーシングを用いた 集団通信アルゴリズムの シミュレーション評価

集団通信の高速化

►高速化の方法 新規に集団通信アルゴリズムを開発

システムとの親和性が重要

適応ルーティングの利用 集団通信は高トラフィック ⇒ 渋滞を迂回しても結局は渋滞

パケットペーシング ネットワークへのパケット投入を抑制(Injection Rate Control)

►通信混雑による遅延の増加 パケットがひとたびブロックされると、 後続パケットの転送再開が遅れる 例) 交通渋滞時: 先行車両が進み始めても

自車はすぐには進めない

続々とパケットが投入され遅延が累積

⇒ パケットの投入間隔を制御(ペーシング)

2011/7/28 All Rights Reserved, Copyright © Institute of Systems, Information Technologies and Nanotechnologies 2011 4

Page 5: パケットペーシングを用いた 集団通信アルゴリズムの シミュ … · パケットペーシングを用いた 集団通信アルゴリズムの シミュレーション評価

ブロッキング発生による後続パケットの遅延発生

2011/7/28 All Rights Reserved, Copyright © Institute of Systems, Information Technologies and Nanotechnologies 2011 5

A

B

ホップ数

転送が開始された(ブロッキングの原因となる)パケット(A)に対して、パケット(B)は

「パケットのリンク転送時間×(ホップ数+バッファでの順番-1)」だけ転送開始が遅れる

バッファでの

順番-1

Page 6: パケットペーシングを用いた 集団通信アルゴリズムの シミュ … · パケットペーシングを用いた 集団通信アルゴリズムの シミュレーション評価

パケットペーシング

►指定する間隔(パケット間ギャップ)を空けて、

パケットをネットワークに送出

2011/7/28 All Rights Reserved, Copyright © Institute of Systems, Information Technologies and Nanotechnologies 2011 6

パケットペーシング無し

(パケット間ギャップ=0) パケットペーシング有り

(パケット間ギャップ=1)

■通信時のパケットの流れ

1 2 3 4 1 2 3 4 5 6

1パケット分のギャップ

通信効率を最適化(通信時間を最小化)するためには、

適切なパケット間ギャップの導出がポイント

Page 7: パケットペーシングを用いた 集団通信アルゴリズムの シミュ … · パケットペーシングを用いた 集団通信アルゴリズムの シミュレーション評価

目的

►一般的な集団通信アルゴリズムに対する

パケットペーシングの効果を調査

► SWoPP金沢2010

リッチなルータ(複数NICを搭載)と専用アルゴリズムを評価対象

⇒ バンド幅をほぼ最大限に活用できた

► SWoPP鹿児島2011

一般的なインターコネクト(1NIC)、一般的なアルゴリズム(MPI_All~系)を対象

⇒ パケットペーシングは有効なのか?

⇒ ホップ数に応じたペーシングは効果があるのか?

2011/7/28 All Rights Reserved, Copyright © Institute of Systems, Information Technologies and Nanotechnologies 2011 7

Page 8: パケットペーシングを用いた 集団通信アルゴリズムの シミュ … · パケットペーシングを用いた 集団通信アルゴリズムの シミュレーション評価

SWoPP金沢2010

► 同時送信可能なNICを4つ搭載した2次元トーラス網を対象に、A2ATアルゴリズム(全対全通信)とペーシングを適用

2011/7/28 All Rights Reserved, Copyright © Institute of Systems, Information Technologies and Nanotechnologies 2011 8

理想実行時間:24.0ms

ペーシング有り実行時間:25.8ms ・3.2倍の高速化

・理想実行時間の

107.5%

ペーシング無し

ペーシング有り

ペーシング無し実行時間:84.0ms

理想実行時間

理想実行時間

柴村他、パケットペーシングを用いた最適全対全通信

アルゴリズムのシミュレーション評価、SWoPP金沢2010

Page 9: パケットペーシングを用いた 集団通信アルゴリズムの シミュ … · パケットペーシングを用いた 集団通信アルゴリズムの シミュレーション評価

実験概要

►実験1:様々なパケット間ギャップによる評価

集団通信アルゴリズムに対するペーシングの有効性調査

パケット間ギャップを、0(ペーシング無し)から最大ホップ数まで変化

►実験2:ホップ数に応じたパケットペーシング

ホップペーシングによる集団通信の高速化

パケット間ギャップ=ホップ数-1

► NSIM(インターコネクトシミュレータ)を用いて、集団通信の実行時間を算出

2011/7/28 All Rights Reserved, Copyright © Institute of Systems, Information Technologies and Nanotechnologies 2011 9

Page 10: パケットペーシングを用いた 集団通信アルゴリズムの シミュ … · パケットペーシングを用いた 集団通信アルゴリズムの シミュレーション評価

評価対象インターコネクト(1)

2011/7/28 All Rights Reserved, Copyright © Institute of Systems, Information Technologies and Nanotechnologies 2011 10

● トポロジ:2次元/3次元トーラス網

■ ルーティング:次元順+日付変更線

+X

-X

+Y

-Y

+Z

-Z

+X

-X

+Y

-Y

+Z

-Z

■ NIC数:1

リンクバンド幅:4GB/s(単方向)

仮想チャネル数:2

仮想チャネルバッファ:2KiB(MTU)×4

4GB/s 4GB/s

■ パケット転送方式:VCT(フリット長:16B)

パケット長:32B~2KiB(ヘッダ長:32B)

16GB/s 16GB/s

■ フロー制御方式:クレジットベース

3次元トーラス網の場合

Page 11: パケットペーシングを用いた 集団通信アルゴリズムの シミュ … · パケットペーシングを用いた 集団通信アルゴリズムの シミュレーション評価

評価対象インターコネクト(2)

► メモリ・DMA転送バンド幅: 16GB/s

► MPI関数処理オーバヘッド: 200ns

► ルーティング計算時間(RC): 4ns

► 仮想チャネル設定時間(VA): 4ns

► スイッチ設定時間(SA): 4ns

► フリット転送時間(ST): 4ns

► スイッチ遅延時間: 78ns

► ケーブル遅延時間: 10ns

► MPIプロセス数/ノード: 1 ※ 以上は実在しないシステムであるが、一般的なスーパーコンピュータの仕様・構成に近い

2011/7/28 All Rights Reserved, Copyright © Institute of Systems, Information Technologies and Nanotechnologies 2011 11

Page 12: パケットペーシングを用いた 集団通信アルゴリズムの シミュ … · パケットペーシングを用いた 集団通信アルゴリズムの シミュレーション評価

様々なパケット間ギャップによる評価

実験1

2011/7/28 All Rights Reserved, Copyright © Institute of Systems, Information Technologies and Nanotechnologies 2011 12

Page 13: パケットペーシングを用いた 集団通信アルゴリズムの シミュ … · パケットペーシングを用いた 集団通信アルゴリズムの シミュレーション評価

実験1:様々なパケット間ギャップによる評価

► アルゴリズム Pairwise exchange (pwx) Ring (ring) Simple spread - 集約型 (ssprd) Simple spread - 拡散型 (ssprd2) Bruck (bruck)

► トポロジ 2次元トーラス網/3次元トーラス網 (1NIC)

► ノード数 64、128、256、512、1024

► メッセージサイズ 32KiB、64KiB、128KiB、256KiB、512KiB

► パケット間ギャップ 0 (ペーシング無し) ~ 最大ホップ数、ステップ:1

► 評価指標 MGEN実行時間(集団通信の実行時間)

2011/7/28 All Rights Reserved, Copyright © Institute of Systems, Information Technologies and Nanotechnologies 2011 13

Page 14: パケットペーシングを用いた 集団通信アルゴリズムの シミュ … · パケットペーシングを用いた 集団通信アルゴリズムの シミュレーション評価

集団通信アルゴリズム(pwx)

2011/7/28 All Rights Reserved, Copyright © Institute of Systems, Information Technologies and Nanotechnologies 2011 14

0 1 2 3 4 5 6 7

プロセス

ステップ

1

2

3

4

5

:

ステップ: p - 1

Page 15: パケットペーシングを用いた 集団通信アルゴリズムの シミュ … · パケットペーシングを用いた 集団通信アルゴリズムの シミュレーション評価

集団通信アルゴリズム(ring)

2011/7/28 All Rights Reserved, Copyright © Institute of Systems, Information Technologies and Nanotechnologies 2011 15

0 1 2 3 4 5 6 7

プロセス

ステップ

1

2

3

4

5

:

ステップ: p - 1

Page 16: パケットペーシングを用いた 集団通信アルゴリズムの シミュ … · パケットペーシングを用いた 集団通信アルゴリズムの シミュレーション評価

集団通信アルゴリズム(ssprd2 拡散型)

2011/7/28 All Rights Reserved, Copyright © Institute of Systems, Information Technologies and Nanotechnologies 2011 16

0 1 2 3 4 5 6 7

プロセス

ステップ

1

2

3

4

5

:

ステップ: p

Page 17: パケットペーシングを用いた 集団通信アルゴリズムの シミュ … · パケットペーシングを用いた 集団通信アルゴリズムの シミュレーション評価

集団通信アルゴリズム(ssprd 集約型)

2011/7/28 All Rights Reserved, Copyright © Institute of Systems, Information Technologies and Nanotechnologies 2011 17

0 1 2 3 4 5 6 7

プロセス

ステップ

1

2

3

4

5

:

ステップ: p

Page 18: パケットペーシングを用いた 集団通信アルゴリズムの シミュ … · パケットペーシングを用いた 集団通信アルゴリズムの シミュレーション評価

集団通信アルゴリズム(bruck)

2011/7/28 All Rights Reserved, Copyright © Institute of Systems, Information Technologies and Nanotechnologies 2011 18

0 1 2 3 4 5 6 7

プロセス

ステップ

1

2

3

ステップ: log(p)

基本的にはringアルゴリズムと同じ通信パターン

ただし、通信ステップ毎にメッセージサイズが増加

Page 19: パケットペーシングを用いた 集団通信アルゴリズムの シミュ … · パケットペーシングを用いた 集団通信アルゴリズムの シミュレーション評価

各パケット間ギャップ値における実行時間

2011/7/28 All Rights Reserved, Copyright © Institute of Systems, Information Technologies and Nanotechnologies 2011 19

2次元トーラス網:512ノード 3次元トーラス網:512ノード

spsprd, spsprd2

bruck

pwx&ring

spsprd, spsprd2

bruck

pwx&ring

Page 20: パケットペーシングを用いた 集団通信アルゴリズムの シミュ … · パケットペーシングを用いた 集団通信アルゴリズムの シミュレーション評価

各パケット間ギャップ値における実行時間

2011/7/28 All Rights Reserved, Copyright © Institute of Systems, Information Technologies and Nanotechnologies 2011 20

2次元トーラス網:1024ノード 3次元トーラス網:1024ノード

spsprd, spsprd2

bruck

pwx&ring

spsprd, spsprd2

bruck

pwx&ring

Page 21: パケットペーシングを用いた 集団通信アルゴリズムの シミュ … · パケットペーシングを用いた 集団通信アルゴリズムの シミュレーション評価

各パケット間ギャップ値における実行時間

2011/7/28 All Rights Reserved, Copyright © Institute of Systems, Information Technologies and Nanotechnologies 2011 21

2次元トーラス網:1024ノード 3次元トーラス網:1024ノード

理想実行時間(32KiB):34.1msec.

理想実行時間(64KiB):68.2msec.

理想実行時間(32KiB):17.0msec.

理想実行時間(64KiB):34.1msec.

pwx

ring

pwx

ring

pwx ring

pwx

ring

ssprd

ssprd

Page 22: パケットペーシングを用いた 集団通信アルゴリズムの シミュ … · パケットペーシングを用いた 集団通信アルゴリズムの シミュレーション評価

実験1のまとめ

► ssprd、ssprd2に対するペーシングの効果は大きい 場合によっては10倍以上の高速化

短時間で大量のパケットをネットワークに投入するため

ただし、実行時間はpwxやringよりも遅い

パケットペーシングは、集団通信のみならずトラフィックの 多い一般アプリケーションに対しても有効では?

► pwx、ring、bruckに対する効果は小さい pwx (2DT:1.6倍、3DT:1.4倍、スループット:33~38%)

ring (2DT:1.9倍、3DT:1.6倍、スループット:23~24%)

bruck (2DT:1.2倍、3DT:1.1倍、スループット:6~8%)

pwxは速いが、プロセス数は2べき数のみ

メッセージサイズが大きくなると、ペーシングの効果も 増える傾向

2011/7/28 All Rights Reserved, Copyright © Institute of Systems, Information Technologies and Nanotechnologies 2011 22

理想的な実行に対して

Page 23: パケットペーシングを用いた 集団通信アルゴリズムの シミュ … · パケットペーシングを用いた 集団通信アルゴリズムの シミュレーション評価

ホップ数に応じたパケットペーシング

実験2

2011/7/28 All Rights Reserved, Copyright © Institute of Systems, Information Technologies and Nanotechnologies 2011 23

Page 24: パケットペーシングを用いた 集団通信アルゴリズムの シミュ … · パケットペーシングを用いた 集団通信アルゴリズムの シミュレーション評価

実験2:ホップ数に応じたパケットペーシング

► アルゴリズム Pairwise exchange (pwx) Ring (ring) Simple spread - 拡散型 (ssprd) Simple spread - 集約型 (ssprd2) Bruck (bruck)

► トポロジ 2次元トーラス網/3次元トーラス網 (1NIC)

► ノード数 64、128、256、512、1024

► メッセージサイズ 32KiB、64KiB、128KiB、256KiB、512KiB

► パケット間ギャップ(ホップペーシング) ホップ数 ー 1 = ギャップ値の上限

► 評価指標 MGEN実行時間(集団通信の実行時間)

2011/7/28 All Rights Reserved, Copyright © Institute of Systems, Information Technologies and Nanotechnologies 2011 24

Page 25: パケットペーシングを用いた 集団通信アルゴリズムの シミュ … · パケットペーシングを用いた 集団通信アルゴリズムの シミュレーション評価

ホップペーシング

► ある時刻にノードでの送(受)信は一つ(NIC=1)の場合、送受信ノード間のリンクは、Nホップ時に高々N個のメッセージで共有

► パケット間に(N-1)パケット分のギャップを挿入し、リンクの帯域効率を向上 (逆にこれ以上空けても無駄) パケット間ギャップ = ホップ数-1

2011/7/28 All Rights Reserved, Copyright © Institute of Systems, Information Technologies and Nanotechnologies 2011 25

src dst

パケットの流れ

2パケット分のパケットペーシング

3ホップ時は、3メッセージで1リンクを共有

Page 26: パケットペーシングを用いた 集団通信アルゴリズムの シミュ … · パケットペーシングを用いた 集団通信アルゴリズムの シミュレーション評価

ホップペーシングによる実行時間

2011/7/28 All Rights Reserved, Copyright © Institute of Systems, Information Technologies and Nanotechnologies 2011 26

512ノード

1024ノード

Page 27: パケットペーシングを用いた 集団通信アルゴリズムの シミュ … · パケットペーシングを用いた 集団通信アルゴリズムの シミュレーション評価

ホップペーシングによる速度向上率

2011/7/28 All Rights Reserved, Copyright © Institute of Systems, Information Technologies and Nanotechnologies 2011 27

64ノード 128ノード 256ノード

512ノード 1024ノード

Page 28: パケットペーシングを用いた 集団通信アルゴリズムの シミュ … · パケットペーシングを用いた 集団通信アルゴリズムの シミュレーション評価

実験2のまとめ

►ノード数増加

⇒ ペーシングの効果も増加

⇒ pwxは効果なし(衝突が本来少ない) ⇒ 2次元トーラス網よりも3次元トーラス網に効果が現れ出す

►SimpleSpreadに対する効果が大きい

⇒ 短時間で大量のパケットをネットワークに投入するため(ただし、実行時間はpwxやringよりも遅い)

► ring、bruckは実験1よりも1割ほど高速化

⇒ リング系のアルゴリズムとの親和性が高いため

2011/7/28 All Rights Reserved, Copyright © Institute of Systems, Information Technologies and Nanotechnologies 2011 28

Page 29: パケットペーシングを用いた 集団通信アルゴリズムの シミュ … · パケットペーシングを用いた 集団通信アルゴリズムの シミュレーション評価

まとめ

►一般的な集団通信アルゴリズムに対する

パケットペーシングの効果を調査

一般的な集団通信アルゴリズムでもパケットペーシングの効果あり

高トラフィックな通信パターンに特に有効

アルゴリズムや通信ごとに適切なパケット間ギャップの設定が重要

プロセッサには「キャッシュ」を!

インターコネクトには「ペーシング」を!

2011/7/28 All Rights Reserved, Copyright © Institute of Systems, Information Technologies and Nanotechnologies 2011 29

Page 30: パケットペーシングを用いた 集団通信アルゴリズムの シミュ … · パケットペーシングを用いた 集団通信アルゴリズムの シミュレーション評価

On-going Works

►集団通信アルゴリズムの通信ステップ毎に、最適化なパケット間ギャップを求める手法の開発

► ロードインバランス/OSジッターを含めた

シミュレーション評価

2011/7/28 All Rights Reserved, Copyright © Institute of Systems, Information Technologies and Nanotechnologies 2011 30