Advanced HPC Execution Models: Innovation or Disruption

このパネルのモデレータはルイジアナ州立大学のThomas Sterling氏で、パネリストは、Institute of Defense AnalysisのWilliam Carlson氏、デラウエア大学の Guang Gao氏、イリノイ大学のWilliam Gropp氏、ライス大学のVivek Sarkar氏、 ローレンスバークレイ国立研究所のJohn Shalf氏である。

左からSarkar、Carlson、Gao、Shalfの各氏

Sterling氏は、スーパーコンピューティングの歴史を振り返り、新しいコンピューティングモデルが新しい時代を拓いてきたが、モデルの変更は、ツールの開発やこれまで蓄積された膨大なソフトウェアの書き直しを必要とし、スーパーコンピューティングを10年後戻りさせる恐れもある。もし、新しい実行モデルを作る必要があるとすれば、それはどのようなもので、誰が作り、その成功はどのようにして測られるべきかとパネルの趣旨を説明した。

Sarkar氏は、新しい実行モデルにクリティカルな要件として次のスライドに示す6項目を挙げた。

Sarkar氏のあげた新しい実行モデルに対する6つの要件

基本的に多数のLightweightプロセスを非同期に実行することでExascaleに必要な並列度を得るという実行モデルで、非同期のデータ転送と各種の同期やローカリティがコントロールできる実行モデルであることが要件として挙がっている。

Codeletモデルの提唱者であるGao教授は、Exascaleに対しては、粗粒度の並列実行モデルでは得られる並列度が不十分。集中制御でない細粒度の並列実行モデルは高い並列度を持ちうまく行く可能性がある。また、完全なコヒーレンスを保つキャッシュはスケーラブルでない。プログラム可能なメモリ階層やコヒーレンシを取らないWeakなメモリモデルはExascaleまでスケールする可能性があると述べた。

Gao教授のCodeletモデルの概念図

Shalf氏も現在の実行モデルは実行順序を細かく指定しすぎており、並列度を稼ぐためには、非同期の実行モデルが必要であるという。非同期実行モデルにすることで、エラーリカバリによる実行時間のバラつきも吸収されるし、データローカリティを高めるように実行順序を変えることもできるようになる。ただし、現在のSIMDやSPMDでうまく行くプログラムに対しては、非同期実行はオーバヘッドが増える方向である。また、データハザードに関しては副作用を厳格にコントロールする必要があるという。