Presentation is loading. Please wait.

Presentation is loading. Please wait.

クラスタの構成技術と クラスタによる並列処理

Similar presentations


Presentation on theme: "クラスタの構成技術と クラスタによる並列処理"— Presentation transcript:

1 クラスタの構成技術と クラスタによる並列処理
並列処理 演習 クラスタの構成技術と クラスタによる並列処理

2 3. クラスタによる並列処理

3 アプリケーション クラスタ向きのアプリケーション 一般にプロセッサ内での処理量が多く通信量が少なければ並列処理の効果は高い
特にクラスタではこの傾向が顕著 驚異的並列計算(embarrassingly parallel) 同時に実行できる完全な独立部分に分解できる問題 スーパーリニアスピードアップ n台でn倍以上の速度向上 データサイズ縮小によるメモリ・キャッシュの効果

4 アプリケーション(2) 画像処理 ボリュームレンダリング データベース検索 たんぱく質分析 データマイニング

5 メッセージ通信ライブラリ 並列アプリケーションで通信を行うソフトウェア かつては各社が独自に提供 可搬性のあるプログラムを書きたい
ネットワークに依存しない通信がしたい いちいちソケットを使って書くのは大変 ネットワークプロトコルがTCP/IPとは限らない かつては各社が独自に提供 IBM: MPL 可搬性のあるプログラムを書きたい 標準規格が欲しい MPI Forum: MPI

6 PVM Parallel Virtual Machine 1989年 オークリッジ国立研究所 問題を別々のプログラムに分解して実行
Heterogeneousな環境による並列処理の研究から誕生 データ表現の自動変換、動的プロセス生成、マシン自動選択 Heterogeneous環境での並列実行も可能 動的なプロセス生成を提供 固有の並列計算機に特化した高速化はできない

7 PVMの動作モデル デーモンが存在するモデルを図解する

8 MPI Message Passing Interface 1992年 MPI Forum 仕様のみ策定。実装は各ベンダーに任せる
並列計算機ベンダーと学術組織 仕様のみ策定。実装は各ベンダーに任せる ベンダーがそれぞれの計算機固有の方式を用いて実装 MPICH, LAM 1997年 MPI-2 動的プロセス生成、並列I/Oなどの仕様を追加

9 MPIの動作モデル

10 MPIの実装 MPICH LAM CHIMP アルゴンヌ国立研究所・ミシシッピ州立大 現在の主流
オハイオ スーパーコンピューティングセンター CHIMP エジンバラ並列計算センター

11 MPIプログラミング SPMD (Single Program Multiple Data)モデル 基本的には6つの関数で書ける
MPI_Init() MPI_Comm_size() MPI_Comm_rank() MPI_Send() MPI_Recv() MPI_Finalize()

12 サンプルMPIプログラム #include <mpi.h> int main(int argc, char *argv[]) {
int rank; MPI_Status status; char buf[256]; char data[] = "Hello"; MPI_Init(&argc, &argv); MPI_Comm_rank(MPI_COMM_WORLD, &rank); if (rank == 0) { MPI_Send(data, 5, MPI_CHAR, 1, 0, MPI_COMM_WORLD); } else if (rank == 1) { MPI_Recv(buf, 5, MPI_CHAR, 0, 0, MPI_COMM_WORLD, &status); printf("%s\n", buf); } MPI_Finalize();

13 通信のモデル 1対1通信 1対n通信 いろいろな通信パターンがある ブロードキャスト、マルチキャスト レデュース ギャザ・スキャタ

14 1対1通信 MPI_Send(), MPI_Recv()      P P1

15 ブロードキャスト あるプロセスから他の全てのプロセスへデータをコピー MPI_Bcast()

16 リデュース すべてのプロセスから値を集約 MPI_Reduce()

17 スキャタ・ギャザ データの要素を各プロセスに分配・収集 MPI_Scatter(), MPI_Gather()

18 バリア 処理のある部分で全てのプロセスが同期 MPI_Barrier()

19 高速化技法 実行速度向上の障害 通信 同期 計算量の不均衡 負荷分散 静的負荷分散 動的負荷分散

20 静的負荷分散 問題の性質を見極めて、ノードへ割り当てる仕事量を決める 性質の分かっている問題にしか使えない うまく配分するのは難しい

21 動的負荷分散 アプリケーションによるアプローチ システムによるアプローチ マスタ・スレーブ型アプリケーション プロセスマイグレーション
ワークプール システムによるアプローチ プロセスマイグレーション 負荷の軽いノードへプロセスを移動

22 プロセスマイグレーション


Download ppt "クラスタの構成技術と クラスタによる並列処理"

Similar presentations


Ads by Google