9月 17, 2015
ALCFのPaul Messina、エクサスケールへのコード最適化の道
Paul Messina, Director of Science, Argonne Leadership Computing Facility

*この記事は要約記事です。本文は英文でこちらです。
古生物学からフレーズを借りると、HPCコミュニティは歴史的に断続平衡で進化してきた。1970年代には、シリアルからベクトル・アーキテクチャに移行した。1980年代には、パラレル・アーキテクチャが花開き、そして1990年代にはMIMDシステムが殆どのスーパーコンピュータ・アーキテクチャの標準となった。1990年代から今日まで、システムバランスとトレードオフの面で相対的に停滞の期間にいるのだ。現在、CMOSスケーリングの終焉にも関わらずエクサスケールの追及にトリガされた急速な進化的変化の段階に我々は入っている。
以下要約:
- クロック速度が今後上がらないので、エクサフロップスを達成するにはハードウェアの並列化しか道はない。
- エクサスケールのハードウェアは単なる始まりであり、重要なのはそこで実行するアプリケーションソフトウェアである。新しいハードウェア・アーキテクチャにアプリケーションを適応させなければならない。
- 他の人は「コードの近代化」と呼ぶかもしれない。私にとってこの言葉はHPCソフトウェアを必要に応じて継続的に評価してアップデートすることである。
- 新しい近代化されたコードを開発するのと既存コードを近代化するのは別のレベルだ。ここでは既存コードの改変を意味する「コードの最適化」を使うことにする。
- アルゴンヌの研究所計算リソースセンターのリーダーでアプリケーションのチーフ科学者であるRay Bairは、アプリケーションの開発者がアプリケーションのユーザでない場合には、ユーザの動向に気を使う必要があると言っている。
- 良い例はCFDコードのNEK5000でであり、100万のMPIランクに対応し、200以上のユーザがいる。
- NEKはDOEのエクサスケール・コデザインセンターである、高度原子炉エクサスケール・シミュレーションセンター(CESAR)の主要なセンターである。
- ALCFが運用するMiraスーパーコンピュータでは様々なアプリケーションが動いている。これらはDOEのCORALプログラムで提供されるThetaとAuroraシステムに移行される。
- コードの最適化はALCFにとって不可欠だ。ALCFは少数のプロジェクトに強力な計算能力を提供することがミッションである。Miraの場合には、プロジェクトに平均1億コア時間が割り当てられ、最大のものは3億コア時間が割り当てられている。
- DOEの次世代スーパーコンピュータAuroraには2億ドルが投じられ、第三世代のIntel Xeon Phiなどを搭載して180ペタフロップスの性能を持つ予定だ。
- Auroraは2018年にインストールが予定されている。
- 我々は4つのコード最適化の目標を持っている。
- ノードのより効率的利用
- SIMDユニットによるより効率的なベクトル化
- メモリ・アーキテクチャの理解と活用
- 将来のシステムに組み込まれるネットワークにおけるショートカットによるトラフィックの変動への対処
- ALCFはユーザ数が少ないので、コードの最適化にはケースバイケースで対応する。
- トレーニングプログラムの一例は2週間のトレーニングであるATPESC(The Argonne Training Program on Extreme-Scale Computing)で、ハンズオンでいろいろなスキルを教えている。
- 対象は院生、ポスドク、計算科学者や研究者である。
- アルゴンヌにおけるその他のトレーニングプログラムやイニシアティブは次の通り。
- ESP (Early Science Program)
- IDEAS (Interoperable Design of Extreme-scale Application Software)
- PETSc (The Portable, Extensible Toolkit for Scientific computing)
- 並列処理は様々な形で30年以上もあるが、アーキテクチャがもっと複雑になって使い難くなったのはこの10年である。しかし、新しいアーキテクチャは以前では不可能であった発見を導き出している。
- 高度並列近代化コードを開発することは、エクサスケールへの道へと導く進化のジャンプ(断続平衡進化)を助けるのだ。