Supercomputing

荻野竜樹(名古屋大学太陽地球環境研究所)

1.まえがき

 高速ネットワークで接続されたスーパーコンピュータを効率的に利用するためにはバランスのとれたハードウエア(計算機環境)の整備が必要不可欠であるが、それと同時に並列計算法などを用いたソフトウエア開発により、スーパーコンピュータの性能を最大限に引き出すことも重要である。その両者がうまく結合して始めて効率のよい大型シミュレーションが実行可能になり、例えば衛星観測から得られた太陽風と惑星間磁場(IMF)の変化に伴う地球磁気圏電離圏の応答などを調べる信頼性の高いSTE(太陽地球環境)シミュレーションを実施することができる。名古屋大学太陽地球環境研究所では、平成10年度から名古屋大学大型計算機センターのスーパーコンピュータを用いた計算機利用共同研究を推進してきたが、それは正にネットワークを利用したスーパーコンピュータの効率的利用を先駆的かつ組織的に実施してきた好例になっていると思われる。その経験をもとに高速ネットワークとスーパーコンピュータを大規模シミュレーションに有効利用するための基本的条件は何かを考えてみたい。

2.スーパーコンピュータとネットワーク

 STE(太陽地球環境)などの大規模シミュレーションを実行するためには、スーパーコンピュータのハードウエア環境として4つの重要な機能がある。それらは、計算速度(CPU)、主メモリ、ディスク容量及びネットワークの4つで、研究分野によって必要としている機能の優先度に違いがある。また、その4つとは別にグラフィックスも重要な機能であるが、それはメインのスーパーコンピュータ以外のマシンで処理されることが多いので分けて考えることが通常である。富士通株式会社のベクトル並列型スーパーコンピュータVPP5000/64を運用している名古屋大学大型計算機センターの4つの機能の現状を図1に示している。ゲノム研究では、ペタバイト級以上の膨大なディスク容量を必要とすると聞いているが、素粒子、原子力、宇宙分野の大規模シミュレーション研究では、計算速度(CPU)と主メモリが先ず世界のトップクラスで、他の2つの機能もバランスよく高性能であることが要求される。特に、国内の大学共同利用大型計算機センターの場合、1人で使用できる最大ディスク容量が米国のスーパーコンピュータセンターと比較して極端に小さいことが問題点として上げられる。名古屋大学大型計算機センターでも昨年の9月までは2TBで、1人で利用できる最大ディスク容量は数十GB程度であった。その後17TBに増大されて一息ついているが、それでも十分ではないので当研究所のディスク(500GB)とMSS(5TB)を持ったSUNワークステーションをセンターに置いて対応している(図2参照)。米国のサンジェゴとイリノイのスーパーコンピュータセンターの場合、名古屋で2TBの時どちらも500TBのディスクを保有していたので、米国の研究者はディスク容量の不足は全く問題としていなかった。大容量のディスクを導入しようと計画する場合、ハードウエアの購入費も小さくはないが、それを利用し易くするファイル管理ソフトウエアがディスク容量の増大に応じて非常に高価格になるので、それが国内で大容量ディスクを導入する際の制限となっている。日本発の優れたファイル管理ソフトウエアの開発が待たれる。

 大規模シミュレーションでスーパーコンピュータを効率的に利用するためには、4つの重要な機能があることを述べたが、従来ネットワークはそれほど高速ではなかったのでその速度に適応した遠隔地からの利用が実施されてきたといえる。私達の経験では、何時もネットワークは上限まで利用してきた。実際、シミュレーションデータは膨大でネットワークは細いので、源データを間引くか一部分を切り出してファイル転送している。しかし、これはすぐに分かることだが図3に示すように、スーパーコンピュータ側と遠隔地利用者側の計算機環境、即ち両側でそれぞれ計算速度(CPU)、主メモリ、ディスク容量がどれだけ利用できるかと密接に関係している。さらに、画像処理をどちら側で行うかとも関係する。遠隔地利用者側のディスク容量が小さければ高速ネットワークでデータを持ってきても置く場所がなくなり、計算速度やメモリが不足すればグラフィックスなどの処理ができないことになる。特に、最大規模のシミュレーションを行った場合、そのデータ処理も同等のメモリを持つコンピュータでなければ処理できないものがあるが、それはシミュレーションを行ったスーパーコンピュータ以外では処理不可能となる。そうすると、グラフィックスなどを含めた処理をスーパーコンピュータ側でネットワークを通して会話的に行う必要性が生じてくる。グラフィックス処理にスーパーコンピュータを効率的に利用できるかという難問はあるが、10Gbpsの高速Super SINETが運用開始した現在、スーパーコンピュータ側と遠隔地利用者側の計算機資源を利用して、ネットワークを介していかにSTE(太陽地球環境)などの大規模シミュレーションを効率的に行うかは、両側の計算機環境を見直して最整備し、従来のようなファイル転送とオフライングラフィックス処理主体ではなく、ネットワークを通して会話的に大規模シミュレーションの実行とグラフィックス処理などを行う新しい方法を確立することが重要である。

 実際に遠隔地利用者がスーパーコンピュータをネットワークを通して効率的に活用するためには、通信速度が名目上高速であることはもちろんであるが、プログラムでの入出力時間とファイル転送時間の実際の速度を知っておくことが重要である。図4と図5に、スーパーコンピュータ(VPP5000)とSUNの入出力時間と大規模データのファイル転送時間の実測をまとめている。大容量データになるとプログラム実行での読み込みと書き込み時間も無視できない。ネットワーク通信速度と直接比較するためにFujitsu VPP5000とSUNの入出力時間もbps単位で表した。VPP5000では、readとwriteの限界に近い高速化を実現しているが、それでも約40GBの大容量データのwriteで1.5Gbps程度の書き込み速度までしか出ていない。SUNの場合は約30Mbpsであった。ファイル転送時間は、図5に示すようにGIGAbit LAN使用でも約20Mbps(2%の効率)、通信回線を用いたファイル転送で、最大約30%の効率がでている。こうして、遠隔地利用を効率的に実行するには、両側の計算機環境のバランスのよい整備が必要なことと、各自の利用環境におけるプログラム実行での入出力時間とファイル転送等に実際にかかる時間を実測で知り、有効利用の方法を見出すことが重要である。

3.並列計算法とスーパーコンピューティング

 スーパーコンピュータを効率的に利用するネットワークコンピューティングで忘れてならないもう一つの重要な点は、並列計算コードの互換性、即ちソフトウエアの共通性である。コードのベクトル化や並列化を行って、ベクトル並列計算型や超並列型のスーパーコンピュータの有効性を最大限に引き出した大規模シミュレーションを行っている研究者はよく知っているように、ベクトル化と特に並列化の効率をよくすることは大変困難であるのと同時に、スーパーコンピュータ間の互換性がほとんど無いに等しい状況である。例えば、富士通のVPP Fortranで開発した高効率のシミュレーションコードは富士通以外のスーパーコンピュータでは全く効率が出ないし、HPF(High Performance Fortran)で書かれたコードは、日米のほとんどのスーパーコンピュータで高効率の計算が期待できない。その改良版のHPF/JA(日本で開発改良されたHPFの改良版)は高効率が実現できるが、それも現在は日本の富士通とNECのスーパーコンピュータに限定され、日立のマシンでは高効率を得ることはできない。また、MPI(Message Passing Interface)は期待されているが、プログラムを作成するのが容易ではないので、ほとんどのスーパーコンピュータでの効率のよい共通シミュレーションコードの作成はこれからであり、本当に互換性のある高効率のコードが作れるかは確証されていない。従来の経験からほとんど不可能に近いのではと思っている。
 計算速度の高速化に関して、ベクトル化で平均で最大約40倍程度、並列化で並列化cpu数の最大10-80%が達成できると期待されているが、最大規模のコンピュータになると現実には大変厳しく、気象の大型シミュレーションで7-10%の効率であったと米国の研究者は発表したし、米国のDOEスーパーコンピュータ利用科学の責任者は米国の超並列型で10%の効率達成を目標としていると説明していた。表1に、私達が名古屋大学大型計算機センターの富士通のベクトル並列型スーパーコンピュータVPP5000/64を用いてテストした時の、VPP FortranとFPF/JAで書かれたベクトル並列化3次元MHDコードの計算速度の実測値をまとめた。表から分かるように、VPP FortranとHPF/JAの両方のコンパイラーで高効率の3次元MHDコードの作成に成功した。特に、HPF/JAを用いて、実際の地球磁気圏の3次元MHDシミュレーションコードで400 Gflops(理論性能の78%)以上の計算速度を得たことは、コンパイラー開発者とシミュレーション研究者に大きな期待を持たせることになった。

4.まとめ

 高速ネットワークを利用してスーパーコンピュータの効率的な利用を実現するためには、スーパーコンピュータ側と遠隔地利用者側での計算機利用環境、即ち計算速度(CPU)、主メモリ、ディスク容量及びネットワークの4つの重要な機能をバランスよく整備することが必要であるが、それと同時にグラフィックス処理をどちら側で実行するかも重要な要素になる。従来、スーパーコンピュータで計算したデータをファイル転送して、利用者側でスーパーコンピュータとオフラインのグラフィックス処理を実施していたが、これも大規模シミュレーションになると、利用者側の計算機で扱えない状況が発生してきた。これを、解決するにはシミュレーションの実行とグラフィックス処理の両方をスーパーコンピュータ側で行うことが考えられるが、高速ネットワークの実現によりその会話的な新しい利用形態が生まれると期待できる。  また、STE(太陽地球環境)などの大規模シミュレーションの実行には、高効率のベクトル計算と並列計算コードの作成によって、スーパーコンピュータの性能を最大限に引き出すことが不可欠であるが、現状ではほとんどのスーパーコンピュータに於いて互換性のある高効率シミュレーションコードを作ることは不可能に近い。この困難な問題を如何に解決するかは、ネットワークスーパーコンピューティングにおいて大規模シミュレーションの実行を有効に機能させる上で、最も重要な忘れてはならない課題であることを強調したい。これらの計算機とネットワークを取り巻くハードウエアとソフトウエアの環境をバランスよく整備し、更に高効率を得ることができ、かつできるだけ共通性のあるシミュレーションコードの開発を実現して、初めて世界に先駆けてSTE(太陽地球環境)などの大規模シミュレーションを実行できる。例えば、多くのSTE分野のシミュレーション研究者が将来の解くべき重要課題として掲げているような磁気圏電離圏結合のself-consistentな3次元グローバルシミュレーションの扉も開くことができると確信している。


[図説]          
図1. スーパーコンピュータの4つの重要な機能とグラフィックス
(名古屋大学大型計算機センターのFujitsu Vpp5000/64の例)
図2.名古屋大学大型計算機センターと名古屋大学太陽地球環境研究所及び遠隔地利用の具体的な計算機環境。ディスク容量の不足を補うため、STE研名古屋と豊川に720GBのディスクを2002年2月に増設予定。
図3. スーパーコンピュータ側と遠隔地利用者側の計算機環境、両側でバランスのとれたコンピュータシステムの整備が重要。又グラフィックス処理をどちら側で実施するかも今後の重要な課題。
図4.スーパーコンピュータ(VPP5000)とSUNの入出力時間。
大量データの場合、プログラムによる読み込みと書き込みにもかなり時間がかかる。
図5.大規模シミュレーションデータのファイル転送時間
図6.2R次元MHDシミュレーションの年毎計算規模の増大
表1.VPP FortranとFPF/JAで書かれたベクトル並列化3次元MHDコードの計算速度

前のページへ戻る