Description of hostfile

The hostfile is an XML file that describes the execution environment. We will show the procedure to describe it.

Specifying the hostfile
How to describe
Details
DTD definition of hostfile

Specifying the hostfile

In the hostfile, you should specify which host a client program uses. You should type the command option "--hostfile" for the client program.

 % a.out --hostfile  host_file   args .. 

If "--hostfile" is not set, by default the hosts.xml in each user's registry is used. In other words, "$HOME/.omrpc-registry/hosts.xml" is used as the default setting.

How to describe

We show an example below.

<?xml version="1.0" ?>
<OmniRpcConfig>
   <Host name="jones.is.tsukuba.ac.jp">
   <Host name="alice.hpcc.jp" user="msato" 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>

We specify 2 hosts(jones.is.tsukuba.ac.jp and alice.hpcc.jp). In jones.is.tsukuba.ac.jp, the defaults setting is used, so the invocation method of the agent is "rsh" and a remote executable program is allocated. Because alice.hpcc.jp is a remote server node, Globus GRAM is used as a agent invocation method. Registry is at "/home/msato/app/stubs", not the default setting. Remote executable programs are executed by the round-robin scheduler, which is the built-in scheduler in the agent. 6 remote executable programs are invoked. Also, the account in alice.hpcc.jp is "msato."

Details

Hostfile is an XML file which has OmniRpcConfig at the top level. OmniRpcConfig's element is Host.

In the host element, you should describe the hosts which you use.

Name attribute: (Required)
You should specify the host name with the name attribute.
User attribute: (Optional, user name on client host if omitted)
You can set the user name when the user names are different on the client host and remote host. If the value of the user attribute is omitted, the user name on the client host is used.
Arch attribute, os attribute(Optional)
At this writing, you can specify the architecture (arch) and operating system (os), but these values are not used.

In the host, you can specify the attributes below.

Agent element: (Optional)

In OmniRPC, the omrpc-agent is invoked in initialization, and the agent element is a option for the agent. It has no elements. but you can specify the following attributes.

invoker attribute: rsh, ssh, gram, globus (Required if agent element used)
You should specify the method of the agent invocation. "gram" is an alternative name for globus. If the agent element is omitted, the default invoker is rsh.
mxio attribute: on, off (Optional, off if omitted)
You should specify whether or not you use multiplex communication. Set this value on if you want to use the relay of communication by the agent. If you don't specify the value of the mxio attribute, the default value is off.
path attribute: (Optional, /usr/local/omrpc/ if omitted)
On this host, if OmniRpc software is not installed in the default install path (/usr/local/omrpc), you should specify the path attribute as the install path.

JobScheduler element: (Optional)

Specify the jobscheduler of the omrpc-agent which executes the remote executable. There are some attributes. If this element is omitted, the default type is fork and maxjob is 1.

type attribute: fork, round_robin, rr, pbs, sge (Required if jobschedular element used)
You specify the type of jobscheduer. "rr" is an alternative name for "round_robin". "pbs" stands for portable batch system and sge stands for sun grid engine.
maxjob attribute: (Option. 1 if omitted)
You specify the number of maximum jobs which can be executed on the remote host. If the value is omitted, maxjob is set to 1.

Registry element: (Optional)

Specify the path to the registry on the remote host. If this element is omitted, the registry path is the home directory on the remote host.

path attribute: (Required if registry element used)
You should specify the path to registry.

Description attribute: (Optional)

You can describe information about host.

DTD (Document Type Definition) of hostfile.

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

<!ELEMENT Host (Agent?, JobScheduler?, Registry?, Description?>
<!ATTLIST Host name CDATA #REQUIRED>
<!ATTLIST Host user CDATA >
<!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)>