筑波大学で開催された第8回「学際計算科学による新たな知の発見・統合・創出」シンポジウムにおいて、ポスト京スーパーコンピュータ(スパコン)開発するフラグシップ2020プロジェクトのリーダーである理研AICSの石川裕氏が、ポスト京の開発状況を発表した。

ポスト京について発表するフラグシップ2020のプロジェクトリーダの石川裕氏

フラグシップ2020プロジェクトは、一般にはポスト京と呼ばれる日本の次世代のフラグシップスパコンを開発するプロジェクトである。また、スパコン本体だけでなく、ポスト京で走る広範なアプリケーションの開発もこのプロジェクトに含まれている。

フラグシップ2020プロジェクトの概要。次世代フラグシップのいわゆるポスト京スパコンと、その上で動く広範なアプリを開発する (このレポートのすべての図は、石川先生の発表資料を撮影したものである)

アプリケーションとしては、たんぱく質の折り畳みなどをシミュレーションする「Genesis」や地震をシミュレーションする「GAMERA」など、次の図にあげられた9種類が選定され、開発主体も決まっている。

フラグシップ2020で開発するアプリケーション

そして、アプリケーションの開発チームとハードウェアの開発チームが一体になって、それぞれのアプリケーションについてノードの計算性能やシステム性能のスケーラビリティを評価しながらハード、ソフトの設計を進めるCo-design方式で開発が進められる。

スパコンシステムとアプリの開発チームが一体となって、やり取りを行い、Co-designで良いアーキテクチャを設計していく

開発体制であるが、プロジェクトの責任を持つ理研AICSとスパコンの開発を担当する富士通が中心に描かれており、上に9種のアプリケーションの開発チーム、下側に筑波大、東大、京大などの国内の協力機関やHPCIコンソーシアム、PCクラスタコンソーシアム、OpenHPCなどのコミュニティや米国のDOEの研究機関や世界的な研究機関であるJLESCなどの海外の機関とも連携している。

フラグシップ2020の研究開発体制

ポスト京はメニーコアアーキテクチャの計算ノードを6Dのメッシュ/トーラスで接続した構造で、SSD、HDD、アーカイブの3階層のストレージを持つことになる。6Dのメッシュ/トーラスは京コンピュータでも使われており、性能や機能の向上はあると思われるが、ポスト京でも同じネットワークトポロジが使われる。

システムソフトウェアは、Linuxと軽量カーネルの2種類のカーネルを使うことになる。そして、ファイルI/Oは3階層のストレージに対応して拡張される。

ポスト京のハード、ソフトの概要。CPUはメニーコアで6Dメッシュ/トーラスで接続。OSはLinuxと軽量カーネルを使う

そして計算ノードの命令アーキテクチャはARMv8 HPC Extensionになることが、すでにHot Chips 28で発表されている。そして、コア間のバリアやセクタキャッシュなどの富士通が京コンピュータで開発した技術も取り入れられているとのことである。

命令セットは、ARMv8 HPC Extensionで、京コンピュータで作った富士通の拡張も取り入れられる

OSのカーネルはLinuxと軽量カーネルを使うことになる。I/OノードなどにはLinuxを使用するが、計算ノードには理研AICSで開発しているMcKernelという軽量カーネルを使う。フル機能のLinuxはタイマ割り込みやI/Oからの割り込みなど多くの割り込みが発生し、その都度、割り込み処理が走るので、実行時間が一定しない。そうなると、全ノードで同期して計算を進めるスパコンでは、一番遅いノードに引っ張られて性能が下がってしまう。このため、計算ノードには割り込みなどが殆ど発生しない軽量カーネルを使う。

OSカーネルは、計算ノードにはOSノイズの無い軽量カーネルを使い、I/OノードにはLinuxを使う

次の図の左側は一定の仕事を繰り返し実行した場合の実行時間をプロットしたもので、左がLinuxの場合である。2つの実行時間のどちらかになるケースが多いが、点が上の方にも散らばっており、より長い時間が掛かっているケースもある。これに対して、右のMcKernelで実行した場合は、実行時間のばらつきが殆ど無く、一定時間で実行されている。

同じ仕事を繰り返し実行した場合の実行時間。左はLinuxを使った場合で、実行時間のばらつきが大きいが、右のMcKenelではばらつきがほとんど無い

開発環境としては、筑波大と理研AICSを中心として開発を進めているXcalableMPの採用を予定している。分散メモリのシステムでは、MPIを使って、ノード間の通信を明示的に記述するという使い方が多いが、通信を記述するのは煩雑で、プログラムの開発が難しくなる。これに対して、XlableMPは、分散メモリ型のマルチノードシステムに対応したPartitioned Global Address System(PGAS)環境で動くコードを作れるコンパイラである。MPIのように通信を明示的に書く必要が無いので、プログラム開発の効率が上がると期待されている。

ノード間通信を明示的に記述する必要のない、XlableMPコンパイラを採用予定で、筑波大と理研AICSで開発が進められている

ポスト京のソフトウェアスタックは、国内だけでなく、海外の機関と協力して開発されており、理研で開発したものはオープンソースとして公開される。また、ポスト京だけでなく、XeonやXeon Phiでも使えるものとなる。そして、理研は、開発成果をOpenHPCに提供することを考えているという。

そして、フラグシップ2020のスケジュールであるが、2015年に基本設計を終え、2016年から詳細設計と実装に入っている。設計の完了は2019年の第3四半期ころを予定している。それから2年でポスト京スパコンの製造からチューニングまでを行い運用を開始する。ただし、この時期は1.5年位の幅のあるスケジュールとなっている。