BSPモデルを用いた 並列計算の有用性の検証 情報論理工学研究室 00-1-26-019 伊波 修一 目的 • BSPモデル上で高速なクイックソートを行う ※BSP:通信や同期を考慮した並列計算モデル ※クイックソート: 整列アルゴリズムの一種 並列計算とは • 問題を複数の仕事に分解 • 並列化された計算機群に計算をさせる • 1つの問題に対して複数のマシンを利用 • 目的:複雑な問題をより早く解く PRAMモデル (Parallel Random Access Memory) Shared Memory P1 P2 P3 ・・・・・・ ・通信時間時間を考えない ・並列処理機構が理想的 Pn PRAMモデル (Parallel Random Access Memory) • 通信を考えない → 理想的な並列計算モデル → 現実と大きなギャップ BSPモデル (Bulk Synchronous Parallel ) • 分散メモリ型 • 現実に則した並列計算モデル → 通信時間や同期を考慮 BSP:分散メモリ型並列計算機 M1 M2 M3 ・・・・・・ Mn P1 P2 P3 ・・・・・・ Pn NETWORK 並列クイックソート 基準値を選ぶ 基準値を選ぶ 基準値を選ぶ 赤:プロセッサ1 青:プロセッサ2 緑:プロセッサ3 黄:プロセッサ4 基準値の選択法 • PRAMの場合 → 通信時間がない → 基準値=中央値 • BSPの場合 → 通信時間を考慮 → 基準値=通信を考慮して選択 BSP上でクイックソートを行う場合の注意点 P1 内部計算時間T1 P2 内部計算時間T2 P3 内部計算時間T3 P4 通信時間S1 通信時間S2 内部計算時間T4 実行時間 T1+T2=T3+T4 S1=S2 基準値の選択 • サンプルS個を抽出 → これを整列 → X番目に小さい値を選ぶ サンプル数(S)の決定 60000 58000 56000 計算量 54000 S=2 S=4 S=8 S=16 S=32 S=64 52000 50000 48000 46000 44000 42000 40000 0 1 2 4 8 16 32 64 プロセッサ数 128 256 512 図1 BSPモデルシミュレートの実験結果(L=16、g=32、X=S/2) 通信帯域幅が狭いときのシミュレーション 60000 55000 W=16 X=14 X=12 X=10 X=8 X=6 50000 計算量 45000 40000 35000 30000 25000 20000 15000 0 1 2 4 8 16 32 64 128 256 512 プロセッサ数 図2 B SPモデルシミュレートの実験結果( L= 1 6 、g= 3 2 、S= 3 2 ) X=8 1:3に分割 通信帯域幅が広いときのシミュレーション 60000 55000 50000 X=16 X=14 X=12 X=10 X=8 計算量 45000 40000 35000 30000 25000 20000 15000 10000 0 1 2 4 8 16 32 64 プロセ ッサ数 128 256 512 図6 B SPモデルシミュレート の実験結果( L= 1 6 、g= 8 ) 通信帯域幅が広いときのシミュレーション 30000 28000 26000 X=16 X=14 X=12 X=10 X=8 計算量 24000 22000 20000 18000 16000 14000 12000 10000 0 1 2 4 8 16 32 64 128 256 512 プロセ ッサ数 図6 B SPモデルシミュレート の実験結果( L= 1 6 、g= 8 ) X=12 3:5 結論 • 通信帯域幅が狭くてもデータ分割 を上手く行えば高速化できる。
© Copyright 2025 ExpyDoc