[Swift-user] Passing GRAM parameters
Ben Clifford
benc at hawaga.org.uk
Mon Jun 16 17:40:24 CDT 2008
On Mon, 16 Jun 2008, Andriy Fedorov wrote:
> 1. I have a workflow, which contains an MPI-parallelized component. I
> haven't seen a reference on how explicitly parallel jobs can be
> launched in the Swift guide. Is this functionality implemented, or
> this requires extending Swift (writing a new site selector, maybe?)
I've never done anything with MPI-parallel stuff in GRAM. I think tis is
normally specified in GRAM RSL. Do you have a command for GRAM to do it?
> 2. How can I specify the walltime for a job? I see a reference to
> GLOBUS::maxwalltime in the swift.properties comments, which seems to
> be related, but no explanation. The ability to specify walltime seems
> to me a basic functionality.
You can specify GRAM RSL properties in two places: either for every job
running on a site in sites.xml, or for a particular executable in tc.data
For the sites.xml approach, this is an example of how I set the
maxwalltime to 1 minute on the teragrid TACC site:
<config>
<pool handle="tgtacc" >
<gridftp url="gsiftp://tg-login.tacc.teragrid.org" />
<jobmanager universe="vanilla"
url="tg-login.tacc.teragrid.org:2119/jobmanag
er-lsf" major="2" />
<workdirectory >/home/teragrid/tg458015/swifttest</workdirectory>
<profile namespace="globus" key="queue">development</profile>
<profile namespace="globus" key="maxwalltime">1</profile>
</pool>
</config>
Two RSL values get defined there: &(queue=development)(maxwalltime=1)
In tc.data, you can specify per-executable by sticking it on the end of
the tc.data line for that executable. Where, by default, there is 'null',
instead write: GLOBUS::maxwalltime=1
For example, something like this:
UCTERAPORT air::alignlinear /gpfs1/osg_data/fMRI_tools/AIR/bin/alignlinear
INSTALLED INTEL32::LINUX GLOBUS::maxwalltime=1
Hopefully you can specify what you need for the MPI stuff in this way too.
--
More information about the Swift-user
mailing list