hostfileの記述

ホストファイルは、実行可能なホストを記述するxmlファイルです。 ここでは、その記述の方法について説明します。

ホストファイルの指定の方法
記述例
詳細
ホストファイルのDTD定義

ホストファイルの指定の方法

ホストファイルにより、クライアントプログラムがどのホストを使うのかを指 定します。指定は、クライアントプログラムの--hostfileコマンド引数で指定します。

 % a.out --hostfile  host_file   args .. 

--hostfileが指定されていない場合には、defaultとして、各ユーザの レジストリにあるhosts.xmlが使われます。すなわち、デフォールトの設定で は、~/.omrpc-registry/hosts.xmlが使われます。

記述例

以下に例をしめします。

<?xml version="1.0" ?>
<OmniRpcConfig>
   <Host name="jones.is.tsukuba.ac.jp">
   <Host name="alice.hpcc.jp" arch="i386" os="linux">
	<Agent invoker="globus" mxio="on" path="/usr/local/omrpc"/>
	<JobScheduler type="rr" maxjob="6" />
	<Registry path="/home/msato/app/stubs" />
	<Description>
	This is a sample host description.
	</Description>
   </Host>
</OmniRpcConfig>

上の例では、2つのホストjones.is.tsukuba.ac.jpとalice.hpcc.jpを指定して います。jones.is.tsukuba.ac.jpは全てデフォールトの設定ですので、Agent の起動はrshによって行われ、一つのリモート実行プログラムが割り当てられ ます。alice.hpcc.jpはクラスタのリモートサーバノードで、Agentはglobusの GRAMを使って行われます。レジストリはデフォルトではなく、 /home/msato/app/stubsにあります。リモート実行プログラムは内蔵のジョブ スケジューラであるround-robinスケジューラで行われます。リモート実行プ ログラムは6つまで起動されます。

詳細

ホストファイルは、OmniRpcConfigをtop-levelに持つxmlです。 OmniRpcConfigの要素は、Hostです。

Host要素では、利用するホストの情報を記述します。

name属性: (Required)
その属性nameに、ホスト名を指定します。
arch属性、os属性:(Option)
その他、属性にアーキテクチャ(arch)やオペレーティングシステム(os)を指定 できますが、現在、使われていません。

Hostにおいて、以下の要素を記述することができます。

Agent要素: (Option)

OmniRpcでは、初期化時にomrpc-agentを起動します。Agent要素はこの Agentに関する指定です。要素はありません。以下の属性を指定することがで きます。

invoker属性: rsh, ssh, gram, globusのいずれか (Required)
Agentの起動をどうやって行うかを指定します。gramはglobusの別名です。 Agent要素が、省略された場合にはinvokerはrshとなります。
mxio属性: on, off (Option, 省略時 on)
通信を多重化するかどうかの指定を行います。Agentによる通信の中継が必要 な場合は、この値をonにします。この値は、onまたはoffでなくてはなりませ ん。属性mxioを指定しない場合には、値はoffとなります。
path属性: (Option, 省略時 /usr/local/omrpc/)
また、このホストにおいて、OmniRpcがdefaultのインストールパ ス(/usr/local/omrpc)と異なる場合には、そのインストールパスを属性pathに 指定します。

JobScheduler要素: (Option)

omrpc-agentがremote executableを起動する時に用いるジョ ブスケジューラを指定します。以下の属性を指定できます。 要素が省略された場合は、typeはfork、maxjobは1となります。

type属性: fork, round_robin, rr, pbs, sgeのいずれか (Required)
ジョブスケジューラのタイプを指定します。 rrは、round_robinの別名です。 現在サポートされているの は round_roubinのみです。
maxjob属性: (Option, 省略時 1)
リモートホストに起動できる最大のジョブ数を指定します。 省略された場合には1です。

Registry要素: (Option)

リモートホストでのレジストリへのpathを指定します。 この要素が省略された場合には、リモートホストにおけるユーザのhome directoryがレジストリへのpathになります。

path属性: (Required)
レジストリへのパスを指定します。

Description属性: (Option)

hostに対する任意の情報を記述します。

ホストファイルのDTD定義

<!ELEMENT OmniRpcConfiguration (Host+)>
<!ATTLIST OmniRpcConfiguration version CDATA>

<!ELEMENT Host (Agent?, JobScheduler?, Registry?, Description?>
<!ATTLIST Host name CDATA #REQUIRED>
<!ATTLIST Host arch CDATA>
<!ATTLIST Host os CDATA>

<!ELEMENT Agent EMPTY>
<!ATTLIST Agent invoker (rsh|ssh|globus|gram) #REQUIRED>
<!ATTLIST Agent mxio (on|off)>
<!ATTLIST Agent path CDATA>

<!ELEMENT JobScheduler EMPTY>
<!ATTLIST JobScheduler type (fork|rr|round_robin|pbs|sge) #REQUIRED>
<!ATTLIST JobScheduler maxjob CDATA>

<!ELEMENT Registry EMPTY>
<!ATTLIST Registry path CDATA #REQUIRED>

<!ELEMENT Description (#PCDATA)>