The jobConfiguration.xml file, located in
the [RSMInstall]\Config\xml directory, contains the files
that will be used for each job type. For every HPC job that is run, a
<keyword>
is used to describe the job type. For example,
LSF
is used for a job running on an LSF cluster, and
LSFSSH
is used for a job running on an LSF cluster that uses SSH.
Each job type uses slightly different files to run the job.
The jobConfiguration.xml file contains keyword entries for the following job types:
LSF, LSFSSH, LSFSMB
PBS, PBSSSH, PBSSMB
SGE, SGESSH, SGESMB
SLURM, SLURMSSH, SLURMSMB
MSCC
RSM, RSMSSH, RSMSMB
ARC, ARCSSH, ARCSMB
STORAGE_SSH (for file transfers to/from the HPC staging directory using SSH)
The file also contains entries for a Custom Integration Sample (CIS), and various example clusters.
How Keyword Entries Work
Each keyword entry in the jobConfiguration.xml file includes a
reference to the HPC commands file (and/or Protocol) that is to be used for that job type.
The <include>
option is used to add more HPC command files to
the list, which enables you to reuse commands that are common to multiple job types.
Below is the standard keyword entry for jobs running on an LSF cluster using SSH. The
keyword for this job type is LSFSSH
. Commands from the uppermost
file in the list, hpc_commands_LSF.xml, will be used first.
Subsequently, commands from the included
hpc_commands_extensions_SSH.xml file will be used. Duplicate commands
in included file will be ignored (because it is not first in the list), and commands that
are not duplicates will be combined with those in the first file to form the complete HPC
commands file.
<keyword name="LSFSSH"> <hpcCommands name="hpc_commands_LSF.xml"> <include name="hpc_commands_extensions_SSH.xml"/> </hpcCommands> <protocol name="protocol_definition_SSH.xml"/> </keyword>
If you want to customize the way jobs are run on an HPC resource, you will need to modify the jobConfiguration.xml file, either by editing existing keyword entries or adding new ones for each custom HPC job type.
Customizing HPC Job Type Entries
If you only want to make small changes to HPC job execution, and those changes apply to all users, projects and groups, then editing one of the standard keyword entries may be sufficient.
For example, assuming that your cluster is most like a standard LSF cluster that uses
SSH, you could modify the existing LSFSSH
keyword entry in the
jobConfiguration.xml file. The modified entry below references a new
hpc_commands
file, MyCustomChanges.xml, that
contains changes to only one or a few commands. The <include>
option is used to include the original hpc_commands_LSF.xml and
hpc_commands_extensions_SSH.xml files to make use of any standard
commands that are not present in the custom file. Commands in the
MyCustomChanges.xml file will be used first, because that file is at
the top of the list. Any non-duplicate commands in the two included files will be merged
with those in the custom file to form the complete HPC commands file.
<keyword name="LSFSSH"> <hpcCommands name="MyCustomChanges.xml"> <!-- First file in the list will override commands in the included files below --> <include name=hpc_commands_LSF.xml/> <include name="hpc_commands_extensions_SSH.xml"/> </hpcCommands> <protocol name="protocol_definition_SSH.xml"/> </keyword>
If significant changes are to be made to HPC job execution, or there are different customization requirements for different projects, groups, and so on, then you will need to add a custom keyword entry to the jobConfiguration.xml file.
In the example below, a new entry has been created for jobs running on a custom cluster
that has been assigned the keyword CUSTOM
. It references a custom
HPC commands file, hpc_commands_CUSTOM.xml, as well as the standard
hpc_commands_PBS.xml file.
<keyword name="CUSTOM"> <hpcCommands name="hpc_commands_CUSTOM.xml"> <include name="hpc_commands_PBS.xml"/> </hpcCommands> </keyword>
For more information see Modifying the Job Configuration File for a New Cluster Type.