• 検索結果がありません。

アプリケーションの性能評価

ドキュメント内 JAIST Repository (ページ 80-83)

PEのみでいい。そのため3次元階層型ネットワークの最大値は以下のようにして求める。

Maximum;

CONVERGE BM();

for j=2:L

if(a [j01:0]

x

=0 and a [j01:0]

y

=0 and a [j01:0]

z

=0),OPERATION(m,m+2 j

);endif;

CONVERGE network-j();

endif;

endfor;

g

= 4( N01) (4.1)

S

max

= 2(

p

N01) (4.2)

3Dトーラス:

S

bitonic

= 6 N

1

3

01

X

j=0 N

1

3

2 j

= 6(N 1

3

01) (4.3)

S

max

= 3(N 1

3

01) (4.4)

最大値問題では値を返す必要がないため、通信ステップ数がバイトニックマージの半分 になっているのが非階層型ネットワークの特徴である。これに対して、3次元階層型ネッ トワークの総通信ステップ数は以下のようになる。

3次元階層型トーラス:

S

bitonic

= (L01)3(4+2)64+18

= 1152(L01)+18 (4.5)

S

max

= 18L (4.6)

3次元階層型メッシュ:

S

bitonic

= (L01)2(4+2)64=4+12

= 192(L01)+18 (4.7)

S

max

= 12(L01)+18 (4.8)

(4.9)

階層型ネットワークでは、O(logN)の通信ステップ数でアプリケーションの実行が可 能である。しかし、バイトニックマージのように全PE間の通信が必要なアプリケーショ ンではオーダーにかかる係数が大きくなっている。これは基本モジュール間のリンクに通 信の集中が起こるためである。図 4.2と図 4.3はバイトニックソートと最大値問題の実行 に必要な総通信ステップ数である。基本モジュールを用いた結合方式ではレベルが上がる につれ階層間のネットワーク数が増加する。例えば 次元階層型トーラスのレベル 階層

4.1: 総通信ステップ数

バイトニックマージ 最大値問題

総通信ステップ数 オーダー 総通信ステップ数 オーダー

2Dトーラス 4(

p

N 01) O(

p

N) 2(

p

N 01) O(

p

N)

3Dトーラス 6(N13 01) O(

p

N) 3(N

1

3

01) O(

p

N)

3次元階層型トーラス 1152(L01)+18 O(logN) 18L O(logN)

3次元階層型メッシュ 12(L-1)+18 O(logN) 12(L-1)+18 O(logN)

ル数に等しい643Dトーラスで階層間の結合が行なわれる。つまりレベルが増すにつ れ階層の並列化が進む。3次元階層型トーラスは基本モジュールのPE(64)に対して、

基本モジュール間の結合は1本で行なわれているため、基本モジュール間のリンクに通信 の集中が起こり、更に階層化の規模が大きくPE数に対しレベルの上昇が遅いため、2D メッシュよりも高速な演算を行なうには数十万PEが必要であるという結果が得られた。

それに対して、3次元階層型メッシュは基本モジュールのPE(64)に対して、基本モ ジュール間の結合を4本で行ない、階層化の規模も小さいため3次元階層型トーラスと 比較して数万PEで十分な性能を得ることができている。数十万PEでは3Dトーラスよ りも高速な演算が可能であるという結果が得られた。最大値のように必要とするデータが 少ない演算では階層型ネットワークのリンクの少なさが影響しないため、非常に少ないス テップ数で演算が可能であった。

32 64 128 256 512 1024 2048 4096

4096 16384 65536 262144 1048576 4194304

ドキュメント内 JAIST Repository (ページ 80-83)

関連したドキュメント