研究プロジェクト

研究プロジェクト一覧

Ninf

研究概要

Ninfプロジェクトは1994年に当時の電子技術総合研究所で立ち上げられたプロジェクトである。米国のGlobusプロジェクトが開始されたのもほぼ同じ時期であり、世界的に見ても現在「グリッド」と呼ぶ技術に関して先駆的な研究プロジェクトであると言える。Ninfプロジェクトでは、グリッドにおける遠隔手続き呼び出し(Grid-enabled Remote Procedure Call、GridRPC)に基づくプログラミングミドルウェアであるNinfおよびその次世代システムであるNinf-Gの研究開発を進めている。また、ナノサイエンスにおける化学反応シミュレーションや物流システムの最適化などの様々な分野のアプリケーションをNinf-Gを用いて実装し、数千〜数万プロセッサ規模の国際的グリッド上での実証実験などを通じてその性能、有効性を検証し、グリッドにおける標準的なプログラミングミドルウェアとして世界に広く普及する事をめざしている。

研究の主な特徴

グリッドでは、地理的に分散配置されたスーパーコンピュータやクラスタコンピュータなどの高性能計算システムを有機的に利用して、今まで解けなかったような大規模な問題を解くことができると期待されている。そのためのプログラミングとして「遠隔地の計算機に計算を依頼する(遠隔手続き呼び出しを行なう)」というモデルを基礎とした、GridRPCと呼ばれる手法が注目されている(図1)。

NinfおよびNinf-GはGridRPCに基づくプログラミングミドルウェアである。もともとNinfはネットワーク上に分散配置された計算機やデータベースを簡単に利用して、効率良く計算を行なうためのプログラミングミドルウェアとして設計・開発された。 Ninf-GはNinfに対してセキュリティや情報サービスなど様々な要素技術においてグリッドの標準技術を導入したシステムであり、遠隔手続き呼び出しのインターフェイス関数や、被呼び出し可能な手続きの生成ツールなど、C言語やJava言語などで記述された約17万行のプログラムを含んだツール群から構成されている。Ninf-Gを用いることにより、 (1)手元の計算機で実行すると時間がかかる大規模な計算の遠隔地の高性能計算機上での実行、(2)遠隔地の計算機にしかインストールされていないソフトウェア(ライブラリ)の利用、(3)グリッド上の大量の計算機を利用した問題の高速処理、など様々な利用を容易に実現することができる。

Ninf-Gによる組み合わせ最適化問題の並列解法のプログラム例およびその実行の様子を図2に示す。このように、アプリケーション開発者は通常の逐次処理のプログラムに若干の修正を加えるだけで、グリッド上の計算資源を効果的に利用するプログラムを開発することができる。また、Ninf-Gはグリッドにおけるセキュリティ(安全性)の標準技術に対応しており、計算資源の不正利用を防ぐなど、提供者とその利用者の双方に高い安全性と信頼性を保証している。

Ninf-Gは研究レベルのソフトウェアではなく、実用的なソフトウェアとして世界で広く利用されることを目指し、品質、性能を高めるために様々なアプリケーションの実装・実証実験を通じたソフトウェアの頑健化、機能追加および改良を進めている。例えば、Ninf-Gを用いて実装した分子シミュレーションを日米の合計6台の大規模クラスタ計算機を用いて1台のPCでは約17年かかる計算を約20日間で行なう実証実験に成功するなど、Ninf-Gが大規模科学技術計算の基盤として実利用可能なレベルにあることを示している。

今後の展開

高性能計算における並列プログラミングの方法としては、Message Passing Interface (MPI)を用いた方法が有名である。しかし、動的な資源の割り当ておよび切り替えや障害が発生してもアプリケーションの実行を停止させることなく復旧する仕組みなど、グリッドアプリケーションに要求される機能をMPIを用いて実装する事は難しい。また、最適化問題(例:配送計画や制御システム解析など) やパラメータサーベイ(例:気象のアンサンブル予報)のように多数の独立した処理を実行するアプリケーションに対してはGridRPCによるプログラミングがプログラミングの容易さや計算資源の動的な利用、および障害発生時の自動回復機能の実装などの点で適している。このようなアプリケーションは大量の計算資源を必要とするものが多く、グリッドに対する期待も大きい。大規模なグリッドアプリケーションを容易に実装する有効な手段としてGridRPCによるプログラミングの普及を進めていく。そのための活動として、Ninfプロジェクトは標準化活動に積極的に参加している。Ninfプロジェクトはグリッドの様々な要素技術の標準化を行なう団体であるOpen Grid ForumにおいてGridRPCの標準API(プログラムインタフェース)の策定に参加するとともに、Ninf-Gは現在策定中のGridRPCの標準 API(プログラムインターフェイス)を実装した初めてのシステムとして認知されている。2005年10月に米国科学財団(National Science Foundation, NSF)が提供する標準グリッドソフトウェアパッケージNSF Middleware Initiative (NMI) Release 8にNinf-Gが導入され、公開された。NMIに米国以外の機関が開発したソフトウェアが導入されるのは世界で初めてであり、これはNinf-Gのソフトウェアとしての成熟度および有用性が評価されたことを示すものである。これらの実績を背景に、引き続き世界で広く利用されることを目指して研究開発を進めていく予定である。

詳細URL

http://ninf.apgrid.org/