システム開発のねらい

渡辺 貞
独立行政法人理化学研究所
次世代スーパーコンピュータ開発実施本部
プロジェクトリーダー兼副本部長
渡辺 貞
世界最高レベルのスーパーコンピューティング研究開発基盤を目指して

次世代スーパーコンピュータプロジェクトのシステム開発の目標は、国家基幹技術として、10ペタフロップス級のスーパーコンピュータを開発することを通じて、スーパーコンピューティング技術を維持発展させるとともに、わが国の共用施設として幅広い計算科学分野の利用に供する世界最高のコンピューティング基盤を整備することにあります。
 このような目標を達成するために、コンピュータアーキテクチャを含む設計を基本から見直し、半導体技術や実装技術、超大規模構成に求められる高信頼性、基本ソフトウェア(OS)、コンパイラ、運用ソフトウェアなどの技術的観点からの検討を行うとともに、従来のコンピュータで開発されたアプリケーションとの互換性、各種のソフトウェアの標準化動向なども考慮して、性能、省電力、信頼性等とすべてに亘った検討を行ってきました。
 また、共用施設として整備するにあたっては、利用者にとって使い勝手が良く、同時に計算科学分野の幅広いアプリケーションを効率的に実行できることが重要です。さらに、国際的な厳しい研究開発競争下では、早期に研究成果を挙げることが必要ですから、完成後にすぐ使えるシステムを目指しています。

多様な用途に応える汎用スカラプロセッサによる超並列システム

開発中のシステムの性能目標は、LINPACKと呼ぶベンチマーク・プログラムで10ペタフロップスの性能を達成することですが、このLINPACKの性能値は、スーパーコンピュータの基礎性能を示すもので、この数値だけではスーパーコンピュータの総合的な性能を判断することはできません。私たちが目指すところは、このような目標に加えて、実際の様々なアプリケーションを実行させて、ペタフロップス級の性能を出すシステムを構築することです。このために、ナノサイエンス、ライフサイエンス、地球環境、ものづくり、物理等の分野から、計算科学の主だった専門家により選定されたターゲットアプリケーションと呼ぶ評価用プログラムを詳細に分析しました。その分析結果をもとにして、実際のアプリケーションにおいてペタフロップス級の性能を持つシステムを目指して開発をすすめているところです。
 汎用スカラプロセッサによる超並列システムによって、標準的なプログラミング環境を提供し、共用施設として広く計算科学分野で利用できるシステムとする予定です。このことは、システムの応用分野を広げることや既に開発されたアプリケーションからの移行性を高めること、アプリケーションの流通性を高めることなどから極めて重要なことと考えています。

アプリケーションの高速実行のためのさまざまな工夫

アプリケーションの実行性能を高めるために、本システムに採用したCPUであるSPARC64™VIIIfxでは、8個のプロセッサコアによるマルチコア構成とし、各コア内にSIMDと呼ばれる演算アクセラレータ技術の採用、8個のプロセッサコアの性能を最大限に引き出すハードウェアバリア機構の導入、キャッシュと呼ぶCPU内の高速メモリをソフトウェアから(ユーザ側から)制御できるようにして、高速かつ効率よくキャッシュ上のデータを呼び出す工夫など、数々の強化をし、また新機能を採用しています。
 CPU間を接続するネットワーク(後述)では、一度に転送できるデータ量(バンド幅)を高めたり、CPU間のデータのやり取りの応答時間(レイテンシ)の短縮を図ることはもとより、多数のCPU上のデータを高速に集める機能などを備えて、CPU内の演算性能だけでなく、CPU間の通信性能を高めることにより、アプリケーションの高速実行を図っています。

高性能・低消費電力のCPU開発

次に重要なことは、性能あたりの電力を可能な限り低減することです。システム開発にあたっては、既存のコンピュータセンターの電力設備の調査結果や将来の技術動向を念頭において、冷却設備や周辺装置などを含むすべての装置の消費電力の合計を「性能10ペタフロップスで30MW以下」という目標を設定し、高性能で低消費電力なシステムを目指して開発を進めています。
そのキーとなるのは、主要な構成要素であるCPUの高性能化と低消費電力化です。基本となる半導体プロセスには最先端の45ナノプロセスを採用し、多数のトランジスタを搭載できるようにしました。周波数は2GHzと現行のCPUよりも低めに設定して、命令実行に必要の無い回路は実行を止めるなどの設計上の工夫を行って動作時の消費電力を低減しています。
 また、高効率の水冷方式を採用し、チップ内のトランジスタのジャンクション温度を30℃で動作させ、さらに消費電力を低減させました。これらの低消費電力化技術や前述の高速化技術によって、CPU当たりの最大性能が128GFLOPS、消費電力は58ワットを達成しています。ワット当たりの性能は2.2GFLOPSで、これは汎用CPUとしては世界最高性能です。

SPARC64

高信頼性システムの実現に向けて

共用施設として、全国の研究者が、いつでも必要なコンピュータ資源を安定して利用できる環境の提供を目指しています。本システムは、主要部品のCPUチップだけでも8万個以上、システム全体では、100万個以上もの部品数から構成される超大規模システムです。稼動性を高めるために、「壊れない」「壊れても全てが止まらない」「壊れてもすぐ直す」ことができるシステムを目指してシステム開発を行っています。
 信頼性確保でもっとも重要なのは、CPU自身の信頼性を高めることです。このために、水冷方式を採用し、CPUを低温で動作させることによって、大幅に信頼性を向上させています。また、CPU内の回路には「エラー検出機能」を備え、万一、エラーを検出した場合には、「エラー訂正機能」やエラーを検出した命令を自動的に再実行する「命令再実行機能」により、多くの一時的なエラー(間欠故障)が起こっても、システム動作に影響無く自動的に回復することができます。さらに、CPU内の「リカバリー機能」では救えない永久的な故障である固定故障の場合は、故障したCPUをシステムから切り離してシステム全体のダウンを回避する機能をソフトウェアに組み込むことにより、システム全体の信頼性を確保しています。 
 本システムのもう一つ重要な構成部分であるCPU(ノード)間を接続してデータを授受するネットワークについては、高性能・高信頼性の独自ネットワーク(Tofuと呼ぶ)を開発しました。Tofuネットワークの構成は、CPU(ノード)とCPU(ノード)を直接接続する直接結合網で、その基本構成は3次元のトーラス(図参照)と呼びます。通常この3次元トーラスは、ネットワークの構成要素の一つのノード部分が故障すると、通過するデータの授受ができなくなり、場合によってはシステム全体がダウンすることもあります。これを避けるため、ネットワークには、代替経路を設けて、一部が故障してもそれを回避する機能を備え、可能な限りシステム全体のダウンを少なくする工夫をしています。
 これらの機能に加えて、システム上、ログインサーバ、管理サーバなどの各種サーバの二重化、ファイル経路の二重化等によって、システム全体の高信頼性化を図っています。

3次元トーラスネットワーク(概念図)

運用性に優れ、使いやすいシステムに向けて

全国の研究者・技術者に広く使われるシステムとするために、大規模システムとして運用中の地球シミュレータの実績や経験も参考にして、運用性に優れ、使い易い共用施設のシステムを目指し、先端的な技術を取り入れたシステム開発を行っています。
 これまで述べたようなハードウェアが持つ高い機能を有効に働かせ、性能を最大限に発揮させるために、高級プログラム言語を機械語に翻訳するソフトウェア(自動並列化かつ最適化コンパイラ)、デバッガ、性能チューニングツール、数値計算ライブラリなども開発中です。またこのシステムで使える言語としては、広い応用で使え、アプリケーションの流通や既存システムとの互換性等を考慮し、科学技術分野で広く使われているFortran、C/C++、さらに並列化用の標準ライブラリであるMPI等をサポートしていく予定です。
 運用性を高めるには、大量のデータの効率よい処理やCPU・メモリの効率的な管理が重要です。多数のジョブから出されるデータの入出力要求を効率よく処理するグローバル/ローカルファイルシステムでの並列分散ファイルシステムや、ジョブが利用するCPUやメモリ、Tofuネットワーク、階層配置したファイルシステムなどの資源を効率よく割り当ててアプリケーションを円滑に実行するジョブスケジューラを開発中です。

将来につながるシステム

世界最高レベルのスーパーコンピューティング研究開発基盤を提供するという目標達成のために、45ナノ最先端半導体プロセス、マルチコア時代の先頭を走る高信頼性・汎用の8コアCPUの開発、独自の高性能・高信頼性ネットワーク、それらを支える超大規模システム用システムソフトウェアなど、世界最先端の技術を結集してシステム開発を進めています。また、これらの技術開発によって、技術が蓄積され、それらの技術やノウハウ、プロジェクト管理能力などが、必ずや将来のエクサ時代のシステム開発に継承・活用されていくと信じています。