Globus環境での実行

これまでは、rshが実行できるローカルな環境について述べてきましたが、 rshは、広域ネットワークの環境ではつかえません。 グリッド環境を構築するために広く用いられている基本ソフトウエアである Globusを使う場合について説明します。 Globusを用いる場合でも、リモートホストにおいてリモート実行プログラムを 作成、登録、プログラミングについてはかわりません。変わるのは、 ホストファイルhosts.xmlの記述だけです。
Globusを使った実行環境
Globusの準備
Globusのためのホストファイル
プログラムの実行

Globusを使った実行環境

実行環境として、以下の環境を仮定します。

  1. クライアントホストは、alice.hpcs.is.tukuba.ac.jp
  2. リモートホストは、dennis.hpcc.jp リモートホストにおいては、globus gate keeperが動いている必要があ ります。
  3. リモートホスト側においては非特権ポート(1024以上)は全てopenである と仮定します。(注:ポートをある範囲で制限する方法については、globusの マニュアルを参照してください)
以下の説明では、クライアントホスト側からリモートホスト側にはジョブを起 動できるように環境設定されているものとします。

Globusの準備

まずは、Globusを使う場合にはクライアントホストにおいて、proxyを初期し ます。

% grid-proxy-init

ここで、pass phaseを入力し、proxy certificateを作成します。 Globusが正常に動作するかを確認するために、例えば、ここで、

% globusrun -o -r dennis.hpcc.jp '&(executable=/bin/date)'

として、Globusが正常に動作していることを確認しましょう。

Globusのためのホストファイル

deniss.hpcc.jpを使うためには、hosts.xmlに記述し、このホストファイルを 使ってクライアントプログラムを実行します。Globusを用いたリモートホスト の場合は以下のように記述します。

<?xml version="1.0" ?>
<OmniRpcConfig>
   <Host name="dennis.hpcc.jp" arch="i386" os="linux">
   <Agent invoker="globus" />
   </Host>
</OmniRpcConfig>

これはリモート実行プログラムを起動するためのagentをGlobusを使って行う ための記述です。この指定でのagentとrexの関係は以下のようになります。

クライアントプログラムの実行

上のhosts.xmlを使う以外は同じ手順で実行することができます。

% a.out --hostfile hosts.xml  args ...