next up previous
Next: Ninf RPC の設計 Up: 無題 Previous: 無題

はじめに

コンピュータネットワークの発展にともない、ネットワークを利用した 情報提供サービスが盛んに行なわれている。 これらのサービスの特徴は、情報の実際に存在する位置の透明性であり、 情報資源の仮想的共有化であると考えることができる。

計算科学技術、数値解析技術領域における情報資源の共有化を考えてみよう。 この場合の情報資源は、数値定数や特殊関数、数値計算ライブラリになるだろう。 現在のネットワーク環境においても例えばftpやWWWなどで、 これらの資源の共有はある程度は実現されていると考えることもできる。 しかし現在の状態では、例えばあるライブラリを使おうと思った場合にftpでとってきて それをコンパイルするという手間がかかる。 また、コンパイラ、アーキテクチャが違う場合にはそのライブラリが 期待されるような精度を出しているのかを確認することはできない。 つまり、数値計算ライブラリを共有するためには、ソースコードのみの共有では 不十分で、実行に必要なアーキテクチャを含んだ実行可能状態での、いわば 動態保存/共有が必要なのである。

このような情報資源の共有のための枠組として、 われわれはNinf ( Network based Infomation library for High Performance Computing) を提唱している[1,2]。 Ninf はサーバ・クライアントモデルのシステムである。 ネットワーク上に数値情報や計算自身を提供するサーバを設け、 ユーザにはサーバに接続するクライアント機能を持つライブラリを提供する。 このライブラリによってNinf システムは隠蔽されるので、ユーザは 計算が実際にどこで行なわれるかを意識する必要はない。 Ninf の愛称は 妖精を意味する「Nymph」から来ており、 あたかもネットワークの森に棲む妖精のように人知れず願いをかなえてくれる ようなシステムを目指している。

このシステムの実現の一つのキーとしてRPC(Remote Procedure Call)がある。 RPCの存在を意識させずにユーザーに使ってもらうためには、 柔軟な枠組を持つRPCが必要である。 現在実用的に用いられている代表的なRPCとして UNIX RPC がある。 このRPCは一般的に用いられており、その上にさまざまなアプリケーションが 実装されているが、次節で述べるように、われわれの目的には柔軟さおいて不足がある。 このためわれわれ独自のRPCの枠組、 Ninf RPC を設計開発した。 本稿ではこのNinf RPC の設計方針と実装の詳細について述べる。

本稿では、まず Ninf RPC の設計方針について述べ、つぎに Ninf RPC を構成する個々のプログラムの詳細について述べる。 さらに、Ninf RPC でもちいられているプロトコルを詳述しする。 最後に Ninf RPC で用いるIDL(Interface Description Language) に ついて述べる。



Hidemoto Nakada
Wed Dec 20 05:42:46 JST 1995