反復する進歩のみがエクサ・スケールへの道である
Nicole Hemsoth

スーパーコンピューティングの分野全体に適用できる「魔法の弾丸」が尽きたために、HPCがどのように効率的に大規模なスケールで動くかについての推測が打ち砕かれているならば、我々にはひとつの選択肢しか残されない。もうひとつの決定的な技術が出現するという望みに対してできるだけ多くの資金提供を推進していることを空の上に置いておき、すでに存在する技術を磨くことだ。
少数の他の人には、 Buddy Bland氏が説明したパラダイム・シフトについて洞察がない。オークリッジ国立研究所の計算機主任であり、以前いくつかの大規模なシステム・プロジェクトを率いてきたBland氏は、エクサ・スケールの前段階であるCORALの一部分を含む、将来のスーパーコンピューターについて必要なことについて、鋭い感覚を現した。彼は過去にいわゆる魔法の弾丸が弾切れになったのを見た。例えばGPUを使うJaguarやTITANのような、性能と電力効率の大きな増幅であった。しかし、彼が上の方から見ると、HPCのための「大砲」が存在しないので、エクサスケールへの未来像は、累積的な微調整の長い列を必要とする。
CORALプロジェクトは、オークリッジ、アルゴンヌ、ローレンス・リバモア研究所の共同の動きである。これは、合衆国エネルギー省と国家核安全保障当局の必要のために、2017年から2018年にプレ・エクサスケールのシステムを目標とする。多くの方は、間接的に、CORALプロジェクトのうちの2台である、TrinityとNERSC8を既に聞いただろう。詳細が正式に公表される翌月に、計画的な能力、ベンダーとアーキテクチュアに関する詳細が示されるだろう。オークリッジの彼にチームは、契約書の署名に近づいている。そして、2014年末までに、予想されるシステムについてより多くの情報を共有できるであろう。
様々なベンダーが提案する性能と電力要求の調整に加えて、Bland氏は、過去に成功したいくつかのシステムを振り返る必要があった。それらが、なぜ、物質的な資源、そして、効果的なHPCへの特定のアプローチをできなかったかについてである。Titan、Sequoia、Mira、それらより前の多くのシステムを見て、Bland氏は、エクサ・スケールを実現するための鍵となる投資が、信頼性と電力効率であると、充分に解った。しかし、これは、本来予想外のことではない。Bland氏は、より丈夫なハードウェアと、さらなる複雑さに自動的に適応できるソフトウェアを、結びつけることを目標としている。
Bland氏によると、「機械が成長した何年間かに渡って、機械を動作するように保ち、多くの問題を解くために長い時間ひとつのアプリケーションを利用可能にすることが、より複雑で難しい問題になりました。私たちはノードが2日間ごとに落ちるのを目撃しました。私たちは予想します。CORALマシンにおいては、より多くの部品があるので、いっそう多くの障害があるでしょう。そこで、私たちがベンダーと共同で働いています。そのようなシステム障害からうまく逃れられるようなソフトウェアにも目を向けています。私たちは、より長い時間システム障害無しにアプリケーションを動かし続ける方法を見つける必要があります。」
実際には、大きなHPCサイトでノード障害から回復する手順は、それほど長年にわたって発達しなかった。良い方法は手作業であり、失敗したアプリケーションを航路に戻すための人々と計算機センターに出費を要する。単純なクラスターにおいても、システム障害は問題である。ましてや、Titanの上で動いているジョブが最低限で6万ものコアを使う状況においては、ダウンタイムを減らす方法は本質的問題である。それらの直接経費にもかかわらず、科学者は重荷でなく結果を望む。彼らが幸運ならば、チェックポイントから新しいノードでジョブを再開する。
Bland氏によると、「本当に必要なことは、回復手順の完全な自動化です。」回復についてのこれらの問題が、既にいくつかのスケジューリング・パッケージに実装された。しかし、そのどれも、人手を全く要しない回復を可能にする方法と、複雑なパッケージを、かみ合わせられなかった。
興味深い話として、システム障害から回復する自動運転についてのデータ・センターの活動は、大規模な科学目的の計算ハブよりも、むしろ、Google、Facebookなどで高まった。しかし、HPCサイトにおいては、ハードウェア・ベンダーとベンダーが作るスケジューラーにとって、大きな挑戦的課題のままである。それは異なる世界である。確かに、合衆国政府のHPCセンターに妥当性がない。そこで、進むしかない。
HPCセンターがプレ・エクサスケールのこの時代に対処すべき大きな問題の二つが、システム障害からの回復と電力効率ならば、両方の問題に対応できる、伸びゆく答えがあるようである。データをできる限り同じチップの上に置き、移動を減らしなさい。これは、大きなエネルギー排出を減らすだけでなく、構成要素を減らして、失敗する可能性も減らすことを意味する。Bland氏によると、Blue Geneで尽きたモデルによって、ある程度証明された。しかし、IBMマシンのラインの将来が成功するとしても、問題はあり続け、また別の話である。
Bland氏は、GPUの追加による特に電力効率を改善した他の革新を示した。CPUのみのJaguarからGPUを持つTITANへ、計算能力が10倍向上したにもかかわらず、消費電力は7メガワットから5メガワットに減った。これは注目に値する改善であった。しかし、これは一回きりの革新であった。「あなたが、信頼性と消費電力について、電力を消費するものとシステム障害に導く物の両方に注目することなしに、すべての問題に取り組めるわけではありません。私たちは、GPUを持ち、助けになりましたが、それで充分ではありません。すべての階層における革新が必要です。」
それほど注目を集めない分野での革新のすべては、より効果的なエクサスケール計算を増進する、より小さな開発であろう。唯一の答えはない。Bland氏は、魔法の弾丸はないと言う。彼は、近い将来に取り組み可能な「些細なこと」の典型として、電源の例を示した。「ちょうど今、私たちは、交流電源の92%を直流に変える効率的な電源装置を持っています。無駄になっているのは8%です。99%効率的な物を見つける必要があります。これは、消費エネルギーが増えるにつれて、違いを出せそうな詳細のひとつです。」
特定のアーキテクチュアを選ぶことを含んで、CORALシステムのためのRFPプロセスの経験から得られた、少数の注意点がある。Bland氏によると、最も驚くべきことは、将来の最も速いシステム上で動作するために重要なのは、アーキテクチュアではなく、コードの並列性を露出させることである。「あなたは、コンパイラーにコードを丸投げできません。人間であるあなたが、コードの並列性を露出させて、それから、コンパイラーにアーキテクチュアの詳細を処理させる必要があります。」極端な高性能を自動的な方法で得られるのではなく、アーキテクチュアの並列性を実現するようにアプリケーションを書く必要がある。
Bland氏が抱えている次世代の大規模なシステムのための問題点は、計算、コード、消費電力だけではない。例えば、I/Oについて、緊急のより広い関心がある。現在の世代のスーパーコンピューターについても、アーカイブの構築は難問である。センターが記憶容量を重視して構築されるならば、なおさら難しい。これは、 バースト・バッファーを通して大きな改善をできそうな、「小さな革新」のまたひとつである。我々は以前にもこの件を書いた。データが遅いデバイスに対して「爆発」する際に、そのデバイスの前に置かれたキャッシュ層が、この種の通信に大きく役立つ。これは現在の「停止している隙間」にとって、小さいが重要な革新である。しかし、システム・サイズが大きな問題のジョブが出力するデータについて、高いバンド幅でストリーミング通信を行うためには、よりよい仕事が必要である。
結局の所、エクサスケール・コンピューティングが力を持つ可能性を決定するのは、コードである。そして、FastForwardとDesignForwardプログラムの開発が終わりつつあり、改良されていることに、見込みがある。彼は、近い将来のスーパーコンピューティングを可能にする、一つの決定的な技術があるとは予想していない。個々の小さな貢献の集合が、業界全体の革新と、ホストの非常に豊かな能力につながるだろう。