世界のスーパーコンピュータとそれを動かす人々


4月 1, 2015

ROSEフレームワーク、エクサスケールに向けて開花

HPCwire Japan

Tiffany Trader

先端科学計算研究部(ASCR)がエネルギー省科学部の施設を支援する多くの方法のひとつが計算科学を推進する研究を擁護することだ。最近のASCRの発見の特長は、DOEの科学コミュニティがどのようにエクストリーム・スケールのプログラミングに準備を行っているか見ることだ。おそらく2020年代の半ば頃にスーパーコンピュータがエクサスケールの速度に近づくにつれ、それらのスーパーコンピュータは数十億の並列度を持つことになるだろう。すべてのコアを活用する困難なプログラミングの課題を簡単にするために、ローレンスリバモア国立研究所(LLNL)の計算科学者達は、複雑なアプリケーション・ソースの生成、解析、デバッグおよび最適化を自動化する研究を行っている。コンパイラ基盤の研究もLLNLの応用科学計算センターをベースとするROSEプロジェクトの一部である。

コードがさらに複雑になってくると、これと直接対話する人間の能力が限界となってくる。プログラマーはユーザフレンドリーなソースコードから開始し、それはROSEに供給され、実行可能な機械命令を作るベンダー供給のコンパイラ用にソースコードを変換するのだそして、そのコードは解析され、デバッグされ、そして様々なツールを使ってさらに最適化されるのだ。最終的にROSEはソースコードに戻ってプログラムを翻訳し、改良されるのだ。「このソースtoソースの機能は初心者でもROSEのオープンソースのツールの強みを利用することができるようにしています。」と特長について述べている。

このROSEフレームワークは2000年代初頭に起源があり、DOEの先端科学計算研究(ASCR)プログラムと国家核安全保障局の支援によって、使われ始めてから数億行のコードを書き、書き換え、解析もしくは最適化してきている

ROSEプロジェクトのLLNLのリード研究者であるDan Quinlanは、この名前がどのようにシェイクスピアのロメオとジュリエットを参考として付けられたのか思い出す。このツールがコードを何も変更すこと無しに全てのポテンシャルを達成する支援ができるように、彼がチームのメンバーを納得させようとした時にそれはやってきたのだ。彼のモットー「セマンティック保存型変換の下ではプログラムは等しい」はシェイクスピアの有名な1行である「どんな名前で呼んでもバラは同じように甘く香る」の隠喩であった。

リバモアの研究室指向型研究プログラムは、それ以来、新しい研究活動のために追加の資金を獲得している。現在のフォーカスは、DOEのエクサスケール・コンピューティングの後押しを支援することだ。この目的にために、チームはASCRのX-Stackソフトウェアプロジェクトと協力している。 このX-stackという名前は、「エクサスケール」とコンピュータソフトウェアを作るのに開発者が必要とするソフトウェアツールの「スタック」から付けられた。

X-Stackプログラム・チームは、エクサスケール・コンピューティング向けDSK技術の略称であるD-TECと呼ばれるもうひとつのプロジェクトと並べられている。ここのでのフォーカスは、予測されるスーパーコンピュータ・アーキテクチャのために、大規模で複雑だが狭い目的のソフトウェアを書いて動作試験することだ。ROSEグループは、開発の様々なステージにおいて9つのDSLに貢献してきた。

エクサスケール・プログラミングの主な課題は、戦略的にデータを管理し、関連するデータ時間とエネルギーの問題のためにハードウェア管理のキャッシングにあまり依存しないようにする必要性だ。この問題を回避するには、ソフトウェアで管理されたキャッシングと、小容量、高速なメモリレベルでハードウェア管理されたキャッシングを選択的に使用することだ。エクサスケール・アーキテクチャを予想する専門家達は、大容量で低速なものから小容量で高速なものまで多くのレベルのメモリを利用するだろう

「特定のエクサスケール・アーキテクチャでは、多くのレベルのメモリを使いますし、良い性能を得るためにはソフトウェア管理されたキャッシングを使って、データを大容量で低速なメモリレベルから小さいがもっと高速なレベルのメモリにコピーする必要があります。」とQuinlanは語る。「あなたはただ、欲しいところに必要とするものを置くことができますが、ソフトウェア管理されたキャッシュを必要とするコードを書いてデバッグするのは極めて面倒です。コードが自動的に生成される(ROSEを使って)という事実は、エクサスケール向けて我々が行っているもっと有用なもののひとつなのです。」