実験概要
並列プログラミング技法として、メッセージパッシングによるプログラミングと、スレッド等を用いた共有メモリによるプログラミングの両者を学び、さらにそれらをカップリングしたハイブリッド並列プログラミングを学ぶ。また、並列プログラムの性能評価手法についても学ぶ。これらを通して、現在、高性能並列プログラミング手法として実用化されているMPI及びOpenMPに関して理解する.
実験にはSMP-PCクラスタ(2台から4台のプロセッサを共有メモリ結合した並列
システムをノードとし、さらにそれらをネットワーク接続したクラスタ)を用いる。
- 第一段階(ネットワークと共有メモリの特性)
ハイブリッド型並列処理システムについて理解し、そのハードウェアコンポーネントであるノード間ネットワークとノード内共有メモリの特性を調べる。TCP/IPを用いたネットワーク性能評価と、threadを用いた共有メモリ性能評価を行なう。
- 第三段階(OpenMPプログラミング)
ノード内の共有メモリを用いた並列プログラミング手法として、pthread (POSIX thread)及びOpenMPについて学ぶ。pthread及びOpenMPを用いた簡単な
プログラムを作成し、共有メモリ型並列アルゴリズムについて理解する。
- 第二段階(MPIプログラミング)
ノード間のメッセージパッシングを用いた並列プログラミング手法として、MPI (Message Passing Interface)について学ぶ。MPIを用いた簡単なプログラムを作成し、分散メモリ型並列アルゴリズムについて理解する。
- 第四段階(ハイブリッド並列プログラミング)
最後に、MPIとOpenMPを用いたハイブリッド型並列プログラミングについて学ぶ。代表的な数値計算問題の並列化を通して、ハイブリッド型並列システムの性能特性に関して理解する。