ホストファイルは、実行可能なホストを記述するxmlファイルです。 ここでは、その記述の方法について説明します。
ホストファイルにより、クライアントプログラムがどのホストを使うのかを指 定します。指定は、クライアントプログラムの--hostfileコマンド引数で指定します。
% a.out --hostfile host_fileargs ..
--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要素では、利用するホストの情報を記述します。
Hostにおいて、以下の要素を記述することができます。
OmniRpcでは、初期化時にomrpc-agentを起動します。Agent要素はこの Agentに関する指定です。要素はありません。以下の属性を指定することがで きます。
omrpc-agentがremote executableを起動する時に用いるジョ ブスケジューラを指定します。以下の属性を指定できます。 要素が省略された場合は、typeはfork、maxjobは1となります。
リモートホストでのレジストリへのpathを指定します。 この要素が省略された場合には、リモートホストにおけるユーザのhome directoryがレジストリへのpathになります。
hostに対する任意の情報を記述します。
<!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)>