Submits a job through a Globus resource to a Condor pool.
handle = gd_condorsubmit(classAD,RSLstruct,host)
handle = gd_condorsubmit(classAD,RSLstruct,host,filesystem)
handle = gd_condorsubmit(classAD,RSLstruct,host) returns a string handle containing the Globus job handle for a successfully submitted job. Where classAD is a structure describing the job to be submitted to the Condor pool, the structure, RSLstruct describes the command used to submit the job to the Condor pool, and host is a string describing the Globus resource to be used. The argument host can have one of the following formats:
- hostname
- hostname:port
- hostname/service
- hostname:port/service
handle = gd_condorsubmit(classAD,RSL,host,filesystem) as above where the argument filesystem defines the filesystem on host. When filesystem = 'NFS' a shared filesystem is assumed, otherwise a non-NFS filesystem is assumed.
classAD The classAD structure contains a description of the requirements of the job to be submitted to the Condor pool. The fields of the structure specify the attributes of the Condor classAD file that is used to submit the job. The valid fields include:
executable |
The name of the executable to be submitted to the Condor pool |
requirements |
A string specifying the requirements from the machine upon which to the job should be run. These requirements may include:
|
arguments |
The arguments to the executable |
transfer_input_files |
A string containing a comma separated list of files to be submitted with executable |
output |
The filename to pipe the output from the job |
error |
The filename to pipe the error from the job |
log |
The filename to which to write the Condor log |
universe |
A string specifying the type of Condor job to be run. Possible values include:
|
Other possible fields in the classAD structure include all of the valid classADs attributes. These attributes are documented at the Condor project homepage (http://www.cs.wisc.edu/condor/).
RSLstruct The RSLstruct structure contains the RSL attributes which specifies the command used to submit the job to the Condor pool. The required fields include:
executable |
The path to the 'condor_submit' executable on host |
arguments |
The name of the Condor classAD file produced by gd_condorsubmit |
directory |
The name of the working directory on host |
The following example demonstrates the submission of a Linux and a Windows job to a Condor pool via the Globus server 'server.domain.com'. The Linux job is described by the structure classAD_Linux, and the Windows job is described by the structure classAD_Windows.
%Specify classAD_Linux
classAD_Linux.requirements = 'Arch == "INTEL" && OpSys == "LINUX"';
classAD_Linux.executable = 'sleep.sh';
classAD_Linux.output = 'sleep.output';
classAD_Linux.error = 'sleep.error';
classAD_Linux.log = 'sleep.log';
classAD_Linux.universe = 'VANILLA';
classAD_Linux.transferfiles = 'ONEXIT';
classAD_Linux.should_transfer_files = 'YES';
classAD_Linux.when_to_transfer_output = 'ON_EXIT';
classAD_Linux.arguments = '1m';
% Specify classAD_Windows
classAD_Windows.requirements = 'Arch == "INTEL" && OpSys == "WINNT51"';
classAD_Windows.environment = 'path=c:\windows\system32';
classAD_Windows.executable = 'printname.bat';
classAD_Windows.output = 'printname.output';
classAD_Windows.error = 'printname.error';
classAD_Windows.log = 'printname.log';
classAD_Windows.universe = 'VANILLA';
classAD_Windows.transferfiles = 'ALWAYS';
classAD_Windows.should_transfer_files = 'YES';
classAD_Windows.when_to_transfer_output = 'ON_EXIT';
classAD_Windows.transfer_input_files = 'file1.txt, file2.txt, file3.txt';
% Specify RSL
rsl.executable = '/usr/local/condor/bin/condor_submit';
rsl.arguments = 'myJob.sub';
rsl.directory = '/home/<USER>/';
rsl.stdout = 'myJob.stdout';
rsl.stderr = 'myJob.stderr';
% Make the Condor job submission
handle_Linux = gd_condorsubmit(classAD_Linux,rsl,'server.domain.com');
handle_Windows = gd_condorsubmit(classAD_Windows,rsl,'server.domain.com');
A valid proxy certificate is required to use this function.
The field names of the ClassAD and RSL structures should be lower case characters. ClassAD string variables should be in upper case characters, e.g. 'LINUX' not 'Linux', or 'WINNT51' not WinNT51'.
Copyright © 2007, The Geodise Project, University of Southampton