PLAINセンターニュース第114号
Page 1

航技研共用計算機「数値シミュレータIII」について

岩宮 敏幸
航空宇宙技術研究所 CFD 技術開発センター

1. はじめに
2. 数値シミュレータ計画
3. 数値シミュレータIIIの概要
--3.1 ハードウェア
--3.2 ソフトウェア
--3.3 外部からの利用法とアプリケーション
4.今後の予定

1. はじめに

航空宇宙技術研究所(以下、航技研)のスパコンと言えば、皆さんは「数値風洞(Numerical Wind Tunnel; NWT)」を思い浮かべられるであろう。数値風洞は故三好甫部長がリーダーシップをとって富士通と開発したマシンであり、世界的に見て画期的な性能を持つマシンであった。このため、1993年に導入されて以来9年間にわたって活躍してきたが、2002年10月に新たなスパコンに置き換えることとなった。これにより、航技研の共用計算機システム群は、「数値シミュレータIII」として生まれ変わることとなった。ここでは、「数値シミュレータIII」のシステム概要を解説する。


2. 数値シミュレータ計画

 1970年代の後半から1980年代にかけて計算流体力学(Computational Fluid Dynamics; CFD)はいわゆるTVDスキームの発見に代表されるようにアルゴリズムの面で飛躍的な進歩を遂げた。それと機を一にして発展を開始したのが、科学技術計算用高性能計算機いわゆるスーパーコンピュータである。航技研では1960年代から計算機を運用し、データ処理やアルゴリズム開発に利用してきたが、数値シミュレーションを本格的に実行するには、これらの汎用計算機では、あまりにも非力であった。スパコンを導入して、計算流体力学に代表される数値シミュレーション技術を発展させ、理論、実験と並ぶ新たな道具を獲得し、航空機、宇宙機の開発に関する国際競争力強化を目指して計画されたものが航技研の数値シミュレータ計画である。

 1987年に実現した第1期数値シミュレータNSIでは、中核マシンとして富士通製のスパコンVP400が採用された(図1)。VP400は、1GFLOPS(Giga Floating-Point Operations Per Second、FLOPSは、1秒間に1回の浮動小数点演算を行う処理性能のこと。)の演算性能を持っており、三次元翼の粘性解析や全機形態の非粘性解析がはじめて可能となった。その先のシミュレーションを可能にするために考えられた計算機がNWTである。NWTは、ナビエ・ストークス方程式をベースとする粘性解析技術の実機開発への展開を目指し、クリーン全機のパラメータ解析を行うのに1M(=100万)格子点の計算を10分で行うことを念頭に実効性能でVP400の100倍以上というのをターゲットに開発された。このためにベクトル型スパコンをクロスバ・スイッチで結合する分散主記憶型並列ベクトル計算機というアーキテクチャが採用された。第2期数値シミュレータNSIIは、1993年の「数値風洞; NWT」の導入により始動した。最終的なNWTの仕様は、1台当たり1.6GFLOPSの要素計算機(Processing Element)166台から構成され、ピーク性能280GFLOPS、主記憶容量44.5GBである。NWTの導入により、航技研は100GFLOPS級の計算パワーを武器に本格的に並列シミュレーションを行う時代へと突入した。NWTの処理性能は当時としては破格であり、90年代中盤から後半にかけての我が国におけるCFDの研究開発活動をリードし、粘性解析を定着させ、宇宙往還機HOPEのための技術実証プロジェクトでは広範なパラメトリック・スタディが行われた。また、次世代超音速機技術の実証機「ロケット実験機」の空力設計は遷移予測技術とCFD逆問題設計技術を用いて設計されている。NWTを利用した主な成果はCD-Rにまとめてあるので関心のある方は連絡ください。


図1 航空技研数値シミュレータの変遷

拡大図(別窓が開きます)


3. 数値シミュレータIIIの概要

 航技研では、次世代のCFDとして何を目指すか、次のスパコンとしてどの程度の性能のものが必要か等について調査検討し、「NAL計算科学ビジョン21」報告書として纏めた。その中で、航技研が果たすべき役割を、1)先駆的CFD技術研究開発への挑戦、2)実用に耐えうるCFD技術の確立、3)CFD技術の研究拠点たること、4)利用方法、応用分野の開拓と実用性の実証、であるとした上で、今後取り組むべき重点課題として、1) ボトルネック技術課題への挑戦と克服、2) 信頼性の高い標準設計解析ツールの整備、3) 次世代統合シミュレーション技術の構築、の3分野を掲げている。第3世代数値シミュレータNSIIIの主なシステム要求項目は、このような調査検討の結果、「30M点(1M点=100万点)の多分野統合解析を1日に10ケース処理する」、「1G点の燃焼の直接シミュレーション(DNS)を行う」こと等を目標に設定されたものである。

3.1 ハードウェア

数値シミュレータIIIのハードウェアとしては、計算システム、大容量ストレージシステム、可視化システム、ネットワークシステムの4システムから成る。(図2)


図2 数値シミュレータIIIのハードウェア構成

 計算システムは、中央NSシステム(Central NS System; CeNSS、富士通製PRIMEPOWER HPC2500)と呼ばれており、14の筐体がクロスバ・スイッチで結合されている。1筐体には、128個のCPUが積まれており、256GBのメモリを共有している。運用上の自由度を増すために、1筐体は32CPUあるいは64CPUの固まりに分割でき、それを計算ノードと呼ぶ。その結果、32CPU、64CPU、128CPUのノードは、それぞれが64GB、128GB、256GBの共有メモリを持つ対称型マルチプロセッサ(SMP)構成となる。CPUは、SPARC64 Vチップで、クロックは1.3GHzで、プリフェッチ、out-of-order実行、浮動小数点演算の4命令同時実行などのスカラー高速化技術を取り入れられている。従って、筐体あたりのピーク処理性能はトータルで665.6GFLOPSであり、システム全体として9.3TFLOPSの処理性能、3TBのメモリを有する。クロスバ・スイッチとノードは、光ケーブルで結合され、往復それぞれ4GB/秒の転送性能を有する。

 大容量ストレージシステムは、中央マスストレージシステム(Central Mass Storage System; CeMSS)と呼ばれている。CeMSSは、57TBのRAID5ディスクが(富士通製PW-D500B1)80本のファイバチャネルで1つのIOノードに接続されている。一方、テープライブラリ(IBM製IBM3584)は、40個のドライブを有し、40本のファイバチャネルでIOノードに接続され、総容量620TBを有する。テープ媒体としてLTOを採用し、ドライブあたり15MB/秒のピーク転送速度を有する。IOノードとディスク間の1GB/秒の実効バンド幅を実現するために、16本のファイバチャネルをストライピングしている。ディスクとテープ間については、階層管理(Hierarchical Storage Management; HSM)を導入し、ユーザからはディスクとテープの区別なく利用できるようにしている。

 可視化システムは、中央可視化システム(Central Visualization System; CeViS)と呼ばれている。可視化サーバ(SGI製Onyx 3400)は、32個のCPU、64GBの共有メモリ、1.5TBのディスク容量を有している。4.6m×1.5mの画面を持つ大型3次元表示装置Aerovisionは、通常のCRTの3倍の解像度とステレオ表示などの機能を有し、AVSやEnSightといった市販の可視化ソフトを利用できる。さらに、CeNSSの大規模計算データをメモリtoメモリで転送し、リアルタイム可視化を行えるように、GSN(Gigabyte System Network)を用いてIOノードと実効500MB/秒のバンド幅により接続(GSNLink)されている。

3.2 ソフトウェア

 図3にNSIIIのソフトウェアの全体構成を示す。OSの上に3つの機能別のミドルウェアが存在し、その上にアプリケーションが載るという階層構造をなしている。


図3 数値シミュレータIII のソフトウェア構成

  OSには、Solaris 8を採用している。64ビットUNIXなので、大容量のメモリ及び2GB以上のファイルを扱える。また、OSとしての高セキュリティ機能及び各種ネットワーク機能を有する。また、各ノードがOSを持っているため、どれかのノードがダウンしても全システム停止に至ることはなく、障害に強いシステムを構築している。

 高性能並列環境ミドルウェアは、大規模並列計算を実行するためのラージページと呼ばれるメモリを効率的に利用する環境や多数のプロセス資源をスケジューリングする環境を提供する。また、高速ネットワークファイルシステムを提供する。これにより、どのノードからも同一のファイルシステムを参照可能である。また、可視化システムとの高速インターフェースを提供する。

 ジョブ実行制御環境ミドルウェアは、各種のジョブを効率的に実行する環境を提供する。NSIIIでは、通常のバッチジョブクラスの他に、インタラクティブジョブとして、パラメータを対話的に入力可能なジョブクラスや、可視化ジョブとして、メモリtoメモリで可視化システムにデータを送りリアルタイム可視化を実現するジョブクラスを順次提供して行く予定である。ジョブ実行のキューイングシステムはNQSを基本とするが、航技研独自開発のスケジューラを介して小さなジョブから大規模ジョブまで空いているCPUを極力少なくし計算リソースを有効活用する環境を構築している。

 プログラム開発環境ミドルウェアは、コンパイラやツールを提供する。コンパイラとしては、FORTRAN、C、C++を提供する。NSIIIでは、並列プログラミングの雛型として、ノード内ではスレッド並列、ノード間ではプロセス並列というスタイルを想定している。スレッド並列は、共有メモリ計算機特有の並列化手法であり、並列化のオーバーヘッドが小さいので効率よく並列化できる。プロセス並列はノード内でも使用できる。並列プログラミング支援として、スレッド並列には自動並列とOpenMP、プロセス並列にはMPIとXPFortranを使用する。このうち、XPFortranはNWT-FORTRANと互換の並列化言語であり、NWT-FORTRANで書かれた並列プログラムは、NSIIIでは再コンパイルのみで使用できる。

 NSIIIでは、Parallelnavi Workbenchと呼ばれる統合的なソフトウェア開発環境を提供されている。グラフィカルエディタ、デバッガ、プロファイラ、ソース解析などのツールを利用できる。また、数学ライブラリとして、SSL II、C-SSL II、 BLAS、 LAPACK、ScaLAPACKを利用できる。

3.3 外部からの利用法とアプリケーション

 インターネット等からのリモートアクセスに対応し、かつ、運用や構成の自由度を増すために、図4に示すようなNSIIIのセグメントNSnetをイントラネットから独立させたネットワーク構成を採用している。セキュリティを確保するためにNSIIIでは、SSHサーバを導入し通信を暗号化している。SSHを利用するには、クライアントソフトが必要である。最初のアクセスの際にクライアントソフトのインストールと暗号通信路開設のための設定が必要であるが、以後はそのクライアント端末からはログイン認証のみでNSIIIにアクセスできる。従来は、ログインの度にワンタイムパスワードによる認証が必要だったが、そのような手続きは不要である。


図4 ネットワーク構成

  また、NSIIIでは、ウェブブラウザを利用してジョブ操作やファイル操作、簡易可視化を行うアクセスシステムWANS(Web Access to NSIII)を開発した。WANSでは、サーバサイドJava技術を用いてセッション管理やレスポンス保証を行っている。また、暗号化プロトコルのhttpsを利用してセキュリティを強化している。WANSは、NSIIIのポータルサイト(http://wans.nal.go.jp)からの利用が可能である。機能は限られるが、ウェブブラウザがあれば、どの端末からでもNSIIIにアクセスできる。NSIIIでは、アクセスポイントの一元化を目指し、ポータルサイトから情報提供、利用申請、マニュアル参照、セッション開設などの利用に必要な全ての操作が行えるようにしている。

 一方、もっとセキュアな利用が必要なメーカ等からのアクセスを前提として、セキュア利用と呼ばれる環境を構築している。セキュア利用は、ジョブ、ファイルシステム等、一般利用とは切り離された状態でNSIIIを利用するものである。セキュア利用のためのノード=セキュアノードを設けている。この場合、業務の内容はシステム管理者以外に見られることはない。航技研内部から利用する際には、外部から遮断されたセキュアルームを利用することでセキュアな利用を確保できる。インターネットからの利用においては、VPNを利用することでセキュアな環境が提供される。

 NSIIIのアプリケーションとしては、業界標準の構造解析ソフトウェアであるNASTRANを導入した。また、OSにSolarisを採用しているので、GNU等のオープンソースのツール類や各種画像ツールを利用できる。さらに、航技研で開発したマルチブロック構造格子法を用いた基盤ソフトウェアUPACSも利用可能である。


4. 今後の予定

 数値シミュレータIIIが稼働を開始して約半年を経過した。世界的にも有数のシステムが整備できたと自負している。今後は、このシステムでなければできないような成果を出していくことが求められる。このため、戦略的に課題を設定し、優先的に実行することとしている。そのような課題を外部から募集することも検討している。ユーザへのサポートも充実していく必要がある。計算エンジンCeNSSはスカラマシンでハードウェアの性能を最大限引き出そうとするとこれまでのベクトルマシンとは異なったプログラミングスタイルを求められる。現在、ユーザへの情報提供、ユーザ間の情報交換の場として定期的にユーザフォーラムを開催している。また、主要なプログラムに対しては個別にプログラムチューニングを行っている。外部との連携も強化する予定である。現在、航技研はITBL(Information-Technology-Based Laboratory)計画に参加しており、高速ネットワークを利用して大学、産業界といかなる連携が可能かを試行している。

 数値シミュレータIIIが、所内外のユーザに有効に利用され、数値シミュレーション技術の発展と航空宇宙技術の研究開発の活性化に貢献することを期待している。



この号の目次へ

H14年度宇宙科学企画情報解析センター運営委員会報告へ


(3.1MB/ 4pages)

Next Issue
Previous Issue
Backnumber
Author Index
Mail to PLAINnewsPLAINnews HOME