原子力基盤技術データベースのメインページへ

作成: 2000/5/20 関口 智嗣

データ番号   :190028
ネットワーク数値情報ライブラリ(Ninf)―応用システム
目的      :計算科学のためのネットワーク利用基盤技術の応用システム
研究実施機関名 :通商産業省電子技術総合研究所情報アーキテクチャ部
応用分野    :計算科学研究、高性能計算、計算機利用技術

概要      :
 Ninfはクライアント/サーバモデルのシステムである。Ninfの計算コンポーネントとして、数値流体計算のためのコンポーネントnetCFDと分子軌道計算のためのコンポーネントnetMOを開発した。これらのコンポーネントをクライアントのプログラムにおいて利用することができる。並列機などの高性能コンピュータをNinfの計算サーバとして利用することにより、高性能な計算資源を広域ネットワーク環境で手軽に利用できるようになる。
 

詳細説明    :
 ネットワーク数値情報ライブラリNinf(Network enabled Information Services for the Global Computing Infrastructure) を科学技術計算におけるGlobal Computingを実現する基盤システムとして提供している。Ninfはクライアント/サーバモデルに基づく計算システムであり、遠隔の計算資源をクライアント側のプログラムのひとつの計算コンポーネントとして利用できるようになる。
 
 Ninfを用いて遠隔の計算資源を利用するアプリケーションとして、数値流体計算のためのコンポーネントnetCFDと分子軌道計算のためのコンポーネントnetMOを開発した。Ninfを用いることにより、これらのコンポーネントをクライアントのプログラムにおいて利用することができる。並列機などの高性能コンピュータをNinfの計算サーバとして利用することにより、高性能な計算資源を広域ネットワーク環境で手軽に利用できるようになる。
 
 netCFDはNinfのインタフェースを通じて利用できる計算コンポーネントであり、以下のルーチンより構成される。
 
(1) 数値流体解析を行うルーチン。引数で指定された時間ステップにおいて、ステップごとのデータを引数にしてクライアント側をcall backする機能を持つ。このルーチンは有限要素法による並列3次元流体解析プログラムであり、C++言語で記述されている。並列計算機においては並列実行による高性能化が可能である。
 
(2) 利用するルーチンを制限するためのユーザ管理ルーチン。
 
(3) シミュレーションを行う空間を定義するメッシュデータをロードするためのルーチン。
 
 各ルーチンのインタフェースはNinf IDLで記述されており、Ninf IDLコンパイラによりスタブルーチンが作成され、引数に応じたプロトコルが自動的に生成される。指定されたサイトで利用可能なNinfライブラリは、Web上のappletであるNinfBrowserによって検索することができる。図1にそのインタフェースを示す。NinfライブラリはC言語、Fortran、Javaなどから、各言語において提供されているNinf_Callクライアントライブラリを用いて呼び出すことができる。


図1 NinfBrowser(原論文1より引用)

 netMOは分子起動計算プログラムGamessを利用した分子軌道計算のためのNinfコンポーネントである。Gamessはソフトウェアとして完結しており、ルーチンとして切り出すことが困難であるため、Ninfを用いたインタフェースとして、入力ファイルの内容を文字列として送り、結果ファイルも文字列として得ることにした。
 
 Ninfサーバで実行されるルーチンは、入力の文字列をファイルに書き込み、必要な環境をセットアップし、Gamessを起動する。実行終了後、得られた結果ファイルを文字列として返す。クライアント側では結果ファイルを解読し、固有値、最終エネルギーなどの値をプログラム中で利用する。
 
 また、NinfによりnetCFDやnetMOなどの計算コンポーネントを利用するためのユーザインタフェースとして、Java appletによるGUIを設計、作成した。このアプレットにより、Webブラウザからメッシュデータを選択し、数値流体計算を軌道、実行結果を可視化することができる。2次元のベクトル図、色によるノード、要素の流速、圧力、温度の表示など、簡単な可視化機能がサポートされており、ユーザは実行中に確認して、シミュレーションを対話的に進めることができる。
 
 図2にそのGUIを示す。Ninfシステムにこのようなユーザインタフェースを提供することにより、Ninfクライアントライブラリさえあれば、自分のシステムの一部として、複雑なネットワークプログラミングをすることなしに、広域高性能計算を実現することができる。


図2 netCFDを利用するためのGUI(原論文1より引用)

 

コメント    :
 実用に供するためには、より充実したインタフェースの設計、セキュリティ、ジョブのスケジューリングなど、実際のアプリケーションユーザの利用を通じて改善していく必要がある。高性能計算を必要とするユーザにはまだ十分とは言えないものの、教育向けには活用できると思われる。
 

原論文1 Data source 1:
Ninfによる遠隔計算資源アクセスシステムの構築とグローバルコンピューティングシステムの性能評価
佐藤 三久、田中 良夫、草野 和寛、中田 秀基、関口 智嗣、長嶋 雲兵、松岡 聡
新情報処理開発機構、電子技術総合研究所、物質工学工業技術研究所、東京工業大学
情報処理学会研究会報告 99-HPC-75

原論文2 Data source 2:
グローバルコンピューティングシステムNinfを用いた数値流体解析コンポーネントnetCFD
佐藤 三久, 草野 和寛, 中田 秀基, 関口 智嗣, 松岡 聡
新情報処理開発機構、電子技術総合研究所、東京工業大学
第10回計算流体シンポジウム,1999

原論文3 Data source 3:
Ninf: A Network based Information Library for a Global World-Wide Computing Infrastructure
M. Sato, H. Nakada, S. Sekiguchi, S. Matsuoka, U. Nagashima, and H. Takagi
Real World Computing Partnership, Electrotechnical Laboratory, Tokyo Institute of Technology, National Institute of Materials and Chemical Research
International Conference on High Performance Computing and Networking '97

キーワード:科学技術計算、ハイパフォーマンスコンピューティング、情報サービス、高速ネットワーク、広域分散、リモートライブラリ、ワールドワイドコンピューティング
Computational Science and Engineering, High Performance Computing, Information Services, High Speed Network, Globally Distributed Computing, Remote Library, World-Wide Computing
分類コード:190101, 190302, 190303

原子力基盤技術データベースのメインページへ