HPC++ Remote Context Creation
Depending on the run-time system that HPC++Lib is compiled with, there are
small differences in the API required to create contexts.
Context Creation with Globus
Context creation with globus is a two step process:
Authentication Check
In Globus, a process called the gatkeeper is used to start contexts
on remote machines (the gatekeeper is started through inetd). The
gatekeeper is responsible for ensuring that the client requesting remote
context creation has sufficient priviledge to create a process on that
machine, and then to actually start the context (again, the gatekeeper
starts something called as a globus-job-manager process, which in turn
starts the actual context). Assuming that an HPC++ client context wants to
start a context on a machine called caledonia.cs.indiana.edu, it
first needs to ensure that it has the proper authority to connect to a
gatekeeper running on that machine. This is accomplished through the
following call:
hpcxx_connectContext("caledonia.cs.indiana.edu");
Actual Context Creation
Once the client checks its authentication for the gatekeeper's machine, it
can call the following function in order to start the remote context:
HPCxx_ContextID *remoteCID =
hpcxx_createContext("caledonia.cs.indiana.edu",
"/u/sdiwan/programs/executable");
The first parameter is the machine name, and the second one is the path of
the executable to be run. The call returns a context ID for the remote
context, so that the client context can make remote invocations on it.
Context Creation with Nexus
In the Nexus based HPC++, remote context creation is done through
rsh, and so the first step required in the case of the Globus based
HPC++ is not required. So, for Nexus, new context creation is a single step
process as illustrated by the following function call:
HPCxx_ContextID *remoteCID =
hpcxx_createContext("caledonia.cs.indiana.edu",
"/u/sdiwan/programs/executable");
The online tutorial examples section
contains a detailed example illustrating remote context creation using Globus.
hpc++@extreme.indiana.edu
Last modified: Wed Apr 21 19:40:15 EST 1999