Real World Computing Project 1992-2001 10年史 RWC NEWS
 RWCP10年史 > RWC NEWS(一覧) > Vol. 15  Nov. 1999
Vol. 15  Nov. 1999

グローバルコンピューティングの研究開発

並列分散システムパフォーマンス研究室
佐藤 三久

電子メールやWorld Wide Webサービス等、インターネットを利用した情報交換、情報検索は、もはや、我々の日常の生活に欠くことができないものになっている。これらの現在のネットワークサービスは、主にデータ自体の共有化であるが、これを推し進めることにより、大規模な計算に必要な資源、すなわちCPUやデータベースなどの計算に必要な資源をも広域のネットワークにより仮想的に共有することが考えられる。

近年、インターネットなどの広域のネットワークによって利用可能な計算資源を使った計算システム、いわゆるグローバルコンピューティングが注目され始めている。並列分散システムパフォーマンス研究室では、グローバルコンピューティングの研究開発をシームレス並列分散コンピューティングの重要な技術と位置付け、研究開発を進めている。

グローバルコンピューティングは、簡単にいえば、広域のネットワークで接続された計算機をサイト間のアカウントの違いやセキュリティなどの様々な垣根を意識せずに、あたかもLANで結合されたシステムのように計算機を利用できるようにしようとするものであり、実際、「シームレス」という用語はこの「垣根(シーム)」を除く、グローバルコンピューティングに使われることが多い。広域のネットワークを利用して計算を行うためのグローバルコンピューティングシステムは、その利用形態・目的から、以下の2つに大別することができる:

  • 手元にある計算機でユーザインタフェースを提供し、遠隔の計算機を利用するシステム。このようなシステムは、Datorr(Desktop Access to Remote Resource)と呼ばれ始めており、手元にあるPCやWSから、ネットワークで結合された高性能な計算が可能な計算機システムに“シームレス”に接続することを目的とする。
  • 複数の計算資源上で分散・並列計算を行うシステム。大規模なスーパーコンピュータ等を結合し、高性能計算のために計算資源、計算規模の拡大を目的とする。

当研究室では、このような情報計算資源の共有のための枠組として、電総研、融合研、東工大と協力して、Ninf(Network based Information library for High Performance Computing)プロジェクトを進めている。

Ninfの目的は、LANあるいは広域のネットワーク上の数値計算ライブラリや科学技術計算に必要な数値情報データベースを通じて、おもに科学技術計算分野の情報ならびに計算資源を提供・共有する仕組みを提供することである。
Ninfシステムは、グローバルコンピューティングのためのミドルウエアであり、遠隔手続き呼び出し機構(Remote Procedure Call)をベースに簡便なインタフェースを提供して、手元のPCやWSから、計算機の違いを意識せずに、簡単に遠隔の計算資源を利用できるようにする。この呼び出しは、CやFortran, Java など様々な言語から利用できるようになっている。

Ninfは、呼び出し側のクライアントのプログラムにおいて、遠隔の計算で実行されるルーチンを一つのコンポーネントとし利用する手段を提供する。これまで当研究室で開発を進めてきた並列数値流体解析プログラムfemFlowを利用して、数値流体解析のためのNinfコンポーネントnetCFDを開発した。このコンポーネントをPCクラスタのような高性能計算機システムに準備しておくことにより、広域のネットワーク上の任意の計算機から、PCクラスタ上で流体計算をさせることができるようになる。netCFDによる計算コンポーネントを利用するデモアプリケーションとして、JavaアプレットによるGUIを設計し、SC98にて研究展示を行った。(図)

これにより、Webブラウザから計算の形状データを選択し、数値流体計算を起動、実行結果を可視化することができる。2次元のベクトル図、色によるノード、要素の流速、圧力、温度の表示など、簡単な可視化機能がサポートされており、ユーザは実行中に確認して、シミュレーションを対話的に進めることができる。この他にも、分子軌道計算を行う計算コンポーネントnetMOを開発した。これらのソフトウエアによって、遠くのスーパーコンピュータをあたかも手元の計算機の一部にあるように利用することができるようになる。

現在、グローバルコンピューティングの研究分野では、米国で開発されたglobusとよばれるシステムが広く使われている。

globusは、異なるサイト間で計算機を利用する時に必要となる認証、セキュリティ、遠隔実行、実行状況管理などのグローバルコンピューティングに必要なプログラム群を集めたシステムである。しかし、セキュリティの厳しいサイトにおいては通信が制限されているなどの問題点があり、我々はこれらを解決する仕組みを新たに設計し、globusに組み込むソフトウエアを開発した。これを用いることにより、セキュリティの厳しいサイトにある計算機クラスタやスーパーコンピュータでも、LANで結合された計算機と同様に使うことができるようになる。現状の広域のネットワークでは通信速度に制限があり、比較的通信の少ない大きい処理単位での並列アプリケーションに限られるが、パラメータを変えながら大規模なプログラムを複数実行して最適なパラメータを探すなど、用途は広い。

近い将来、広域のネットワークが高速化・大容量化するにしたがって、グローバルコンピューティングは一般的なものになっていくであろう。世界中どこでも、ホームページがどこにあってもインターネットで見ることができるように、利用できる計算機にネットワークさえつながっていれば、それを自分の並列計算の一部として利用できるようになる。また、プログラムが手元になくても、Ninfのように簡便なインタフェースで高度なアプリケーションを呼び出すことができるようになる。現在、我々はオーストラリア回線を利用し、太平洋にまたがった計算機を利用して並列計算をする実験を進めている。

図 netCFDの構成

 なお、本稿で紹介したnetCFDのデモについては、http://pdplab.trc.rwcp.or.jp/netCFD/にて、常時試用することができるようになっているので、興味のある方は試みられたい。
 

Real World Computing Project (1992-2001)  RWCPメモリアル