地球シミュレータES(第二世代)システム概要


システム概要(ES2)


地球シミュレータのプログラミングモデル

地球シミュレータのハードウェアは、三階層の並列性(ベクトル処理, PN内の共有メモリ並列処理, PN間並列処理)を持っています。地球シミュレータの性能を十分に引き出すには、これら三つの並列性を最大限に利用するプログラムを開発する必要があります。

表1: 地球シミュレータのプログラミングモデル


ハイブリッド フラット
PN 間並列 HPF/MPI HPF/MPI
PN 内並列 マイクロタスク/
OpenMP
AP 自動ベクトル化

表 1に示すように、地球シミュレータの三階層並列性を利用するには二つの方法があります。すなわち、「ハイブリッド並列化」と「フラット並列化」です(図 3)。ハイブリッド並列化では、ノード間並列性はHPFまたはMPIで記述し、ノード内並列性はマイクロタスクまたはOpenMPで記述します。したがって、プログラムを書く際に並列性の階層を意識する必要があります。一方で、フラット並列化では、ノード間並列性とノード内並列性の両方をHPFまたはMPIで記述できるため、並列性の階層を意識する必要はありません。一般に、ハイブリッド並列化は性能に優れ、フラット並列化はプログラムのしやすさに優れていると言えます。MPIライブラリとHPFランタイムは、どちらの並列化方法においても効率良く動作するよう最適化されています。

図3. ESにおける2つの並列方式


戻る