Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "PTP/designs/resource manager xsd"

< PTP‎ | designs
(Resource Manager XSD)
(Resource Manager PBS XML (Example))
Line 1: Line 1:
== Resource Manager PBS XML (Example) ==
 
'''''Current version (05/19/2011):'''''    -alr
 
  
<source lang="xml">
 
<?xml version="1.0" encoding="UTF-8"?>
 
<!-- ******************************************************************************* -->
 
<!-- * Copyright (c) 2011 University of Illinois All rights reserved. This program -->
 
<!-- * and the accompanying materials are made available under the terms of the -->
 
<!-- * Eclipse Public License v1.0 which accompanies this distribution, and is -->
 
<!-- * available at http://www.eclipse.org/legal/epl-v10.html -->
 
<!-- * -->
 
<!-- * Contributors: -->
 
<!-- * Albert L. Rossi - design and implementation -->
 
<!-- ****************************************************************************** -->
 
<resource-manager-builder xmlns="http://org.eclipse.ptp/rm" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 
xsi:schemaLocation="resource_manager_type.xsd" name="pbs-torque-generic">
 
<control-data>
 
<property name="queues" visible="false"/>
 
<!-- needed by RM internals for fetch; name is fixed by convention -->
 
<property name="stdout_remote_path" visible="false"/>
 
<!-- needed by RM internals for fetch; name is fixed by convention -->
 
<property name="stderr_remote_path" visible="false"/>
 
<property name="remote_path_tooltip" visible="false">
 
<default><![CDATA[Not the same as the PBS attribute for stdout or stderr;
 
used internally by the resource manager and should correspond
 
to whatever path the scheduler will copy the output to at the
 
end of execution; the job id can be included in this path
 
using '@jobId'.]]></default>
 
</property>
 
<attribute name="mpiCommand" type="choice">
 
<description>Which mpi command to use.</description>
 
<choice>,mpiexec,mpirun</choice>
 
</attribute>
 
<attribute name="mpiCores" min="1" type="integer">
 
<description>the '-np' value</description>
 
</attribute>
 
<attribute name="Account_Name" type="string">
 
<description>Account to which to charge this job.</description>
 
<tooltip>Format: string</tooltip>
 
</attribute>
 
<attribute name="Checkpoint" type="choice">
 
<description>Determines when checkpointing (if supported) will be performed by PBS on behalf of the job.</description>
 
<tooltip><![CDATA[Format: the strings "n" (no checkpointing),
 
"s" (to be performed only when the server executing
 
the job is shutdown), "c"s (to be performed at the
 
default minimum time for thes servers executing the
 
job), "c=mmmm" (to be performed at an intervals
 
of minutes which is the integer number of minutes of CPUs
 
time used bys the job; values must be greater than zero);
 
defaults value: "u", which is unspecified.]]></tooltip>
 
<choice>,u,n,s,c,c=????</choice>
 
<default>u</default>
 
</attribute>
 
<attribute name="depend" type="string">
 
<description>The type of inter-job dependencies specified by the job owner.</description>
 
<tooltip>Format: "type:jobid[,jobid...]"; default value: no dependencies.</tooltip>
 
</attribute>
 
<attribute name="destination" type="choice">
 
<description>Designation of the queue to which to submit the job.</description>
 
<tooltip>Format: queue[@server].</tooltip>
 
<choice>normal,debug</choice>
 
</attribute>
 
<attribute name="directive" type="string">
 
<description>Defines the prefix that declares a directive to the qsub command within the script file.</description>
 
<tooltip><![CDATA[See the paragraph on script directives in the
 
Extended Description section. If the option is presented with a
 
directive_prefix argument that is the null string, qsub will
 
not scan the script file for directives.]]></tooltip>
 
</attribute>
 
<attribute name="Error_Path" type="string">
 
<description>The final path name for the file containing the job's standard error stream.</description>
 
<tooltip><![CDATA[Format: "[hostname:]pathname". If
 
the option is not specified, the default file name for the
 
standard error stream will be used. The default name has
 
the following form: job_name.eSeq_num where job_name is
 
the name of the job, see -N option, and Seq_num
 
is the job number assigned when the job is submitted;
 
default value: (job_name).e(job_number).]]></tooltip>
 
</attribute>
 
<attribute name="export_all" type="boolean">
 
<description><![CDATA[Declares that all environment variables in the qsub command's environment are to be exported to the batch job.]]></description>
 
<default>true</default>
 
</attribute>
 
<attribute name="group_list" type="string">
 
<description><![CDATA[A list of composite-descriptor group="true"_names@hosts which determines the composite-descriptor group="true" under which the job is run on a given host.]]></description>
 
<tooltip><![CDATA[Format: composite-descriptor
 
group="true"_name[@host][,composite-descriptor group="true"_name[@host]...].
 
When a job is to be placed into execution, the server will select a
 
composite-descriptor group="true" name according to the following ordered set
 
of rules: 1) Select the composite-descriptor group="true" name from
 
the list for which the associated host name matches the name of the
 
execution host; 2) Select the composite-descriptor group="true" name
 
which has no associated host name, the wildcard name; 3) Use
 
the login composite-descriptor group="true" for the username under
 
which the job will be run.]]></tooltip>
 
</attribute>
 
<attribute name="Hold_Types" type="choice">
 
<description>The set of holds currently applied to the job.</description>
 
<tooltip><![CDATA[If the set is not null, the job will not be scheduled
 
for execution and is said to be in the hold state. Note, the hold
 
state takes precedence over the wait state. Format: string made up
 
of the letters 'u', 's', 'o'; default value: no hold.]]></tooltip>
 
<choice>,u,s,o</choice>
 
</attribute>
 
<attribute name="Job_Name" type="string">
 
<description>The name assigned to the job by the qsub or qalter command.</description>
 
<tooltip><![CDATA[Format: string up to 15 characters,
 
first character must be alphabetic; default value:
 
the base name of the job script or STDIN.]]></tooltip>
 
</attribute>
 
<attribute name="Join_Path" type="boolean">
 
<description>Merge stdout and stderr into stdout.</description>
 
<tooltip><![CDATA[Format: boolean, values accepted are "True", "TRUE",
 
"true", "Y", "y", "1", "False", "FALSE", "false", "N", "n", "0";
 
default value: false.]]></tooltip>
 
<default>false</default>
 
</attribute>
 
<attribute name="Keep_Files" type="choice">
 
<description>Retain these streams on the execution host upon job termination.</description>
 
<tooltip><![CDATA[Format: "o", "e", "oe" or "eo"; default value:
 
no keep, return files to submission host.]]></tooltip>
 
<choice>,o,e,oe,eo</choice>
 
</attribute>
 
<attribute name="Mail_Points" type="choice">
 
<description>Identifies at which state changes the server will send mail about the job.</description>
 
<tooltip><![CDATA[Format: string made up of the letters
 
'a' for abort, 'b' for beginning, and default value:
 
a', send on job abort.]]></tooltip>
 
<choice>,a,b</choice>
 
<default>a</default>
 
</attribute>
 
<attribute name="Mail_Users" type="string">
 
<description>The set of users to whom mail may be sent when the job makes certain state changes.</description>
 
<tooltip>Format: "user@host[,user@host]"; default value: job owner only.</tooltip>
 
</attribute>
 
<attribute name="Output_Path" type="string">
 
<description>The final path name for the file containing the job's standard output stream.</description>
 
<tooltip><![CDATA[Format: "[hostname:]pathname". If the option
 
is not specified, the default file name for the standard error stream
 
will be used. The default name has the following form: job_name.oSeq_num
 
where job_name is the name of the job, see -N option, and Seq_num
 
is the job number assigned when the job is submitted;
 
default value: (job_name).o(job_number).]]></tooltip>
 
</attribute>
 
<attribute name="Priority" type="string">
 
<description>The job scheduling priority assigned by the user.</description>
 
<tooltip>Format: "[+|-]nnnnn"; default value: undefined.</tooltip>
 
</attribute>
 
<attribute name="Rerunnable" type="choice">
 
<description>The rerunnable flag assigned by the user.</description>
 
<tooltip>Format: "y" or "n", see Join_Path; default value: y, job is rerunable.</tooltip>
 
<choice>,n,y</choice>
 
<default>y</default>
 
</attribute>
 
<attribute name="Resource_List.arch" type="string">
 
<description>Specifies the administrator defined system architecture requried.</description>
 
<tooltip>This defaults to whatever the PBS_MACH string is set to in "local.mk". Units: string.</tooltip>
 
</attribute>
 
<attribute name="Resource_List.cput" type="string">
 
<description>Maximum amount of CPU time used by all processes in the job.</description>
 
<tooltip>Format: [[hours:]minutes:]seconds[.milliseconds].</tooltip>
 
</attribute>
 
<attribute name="Resource_List.file" type="string">
 
<description>The largest size of any single file that may be created by the job.</description>
 
<tooltip><![CDATA[Format: integer[suffix]; the suffix is a multiplier
 
in bytes or words (word size of the host): b (bytes),
 
w (words), kb/kw (kilo), mb/mw (mega), gb/bw (giga).]]></tooltip>
 
</attribute>
 
<attribute name="Resource_List.host" type="string">
 
<description>Name of host on which job should be run.</description>
 
</attribute>
 
<attribute name="Resource_List.mem" type="string">
 
<description>Maximum amount of memory used by all concurrent processes in the job.</description>
 
<tooltip><![CDATA[Format: integer[suffix]; the suffix is a multiplier
 
in bytes or words (word size of the host): b (bytes),
 
w (words), kb/kw (kilo), mb/mw (mega), gb/bw (giga).]]></tooltip>
 
</attribute>
 
<attribute name="Resource_List.nice" type="integer" min="0" max="10">
 
<description>The nice value under which the job is to be run.</description>
 
<tooltip>0 to 10.</tooltip>
 
<default>0</default>
 
</attribute>
 
<attribute name="Resource_List.nodes" type="string">
 
<description>Number and/or type of nodes to be reserved for exclusive use by the job.</description>
 
<tooltip><![CDATA[The value is one or more node_specs joined with
 
the '+' character, "node_spec[+node_spec...]. Each node_spec is
 
a number of nodes required of the type declared in the node_spec
 
and a name or one or more properity or properities desired for
 
the nodes. The number, the name, and each properity in the
 
node_spec are separated by a colon ':'. If no number is specified,
 
one (1) is assumed. Units: string. The name of a node is its
 
hostname. The properties of nodes are: ppn=# requested; defaults
 
to 1; or an arbitrary string defined by system administrator.
 
Example: To ask for 2 processors on each of two blue nodes and
 
three processors on one red node: -l nodes=2:blue:ppn=2+red:ppn=3.]]></tooltip>
 
<default>1</default>
 
</attribute>
 
<attribute name="Resource_List.ompthreads" type="integer" min="1">
 
<description>Number of threads per processor for Open MP jobs.</description>
 
<default>1</default>
 
</attribute>
 
<attribute name="Resource_List.pcput" type="string">
 
<description>Maximum amount of CPU time used by any single process in the job.</description>
 
<tooltip>Format: [[hours:]minutes:]seconds[.milliseconds].</tooltip>
 
</attribute>
 
<attribute name="Resource_List.pmem" type="string">
 
<description>Maximum amount of physical memory (workingset) used by any single process of the job.</description>
 
<tooltip><![CDATA[Format: integer[suffix]; the suffix is a multiplier
 
in bytes or words (word size of the host): b (bytes), w (words), kb/kw
 
(kilo), mb/mw (mega), gb/bw (giga).]]></tooltip>
 
</attribute>
 
<attribute name="Resource_List.pvmem" type="string">
 
<description>Maximum amount of virtual memory used by any single process in the job.</description>
 
<tooltip><![CDATA[Format: integer[suffix]; the suffix is a multiplier
 
in bytes or words (word size of the host): b (bytes), w (words), kb/kw
 
(kilo), mb/mw (mega), gb/bw (giga).]]></tooltip>
 
</attribute>
 
<attribute name="Resource_List.vmem" type="string">
 
<description>Maximum amount of virtual memory used by all concurrent processes in the job.</description>
 
<tooltip><![CDATA[Format: integer[suffix]; the suffix is a multiplier
 
in bytes or words (word size of the host): b (bytes), w (words), kb/kw
 
(kilo), mb/mw (mega), gb/bw (giga).]]></tooltip>
 
</attribute>
 
<attribute name="Resource_List.walltime" type="string">
 
<description>Maximum amount of real time during which the job can be in the running state.</description>
 
<tooltip>Format: [[hours:]minutes:]seconds[.milliseconds].</tooltip>
 
<default>00:30:00</default>
 
</attribute>
 
<attribute name="Shell_Path_List" type="string">
 
<description>A set of absolute paths of the program to process the job's script file.</description>
 
<tooltip><![CDATA[Format: path[@host][,path[@host]...].
 
If this is null, then the user's login shell on the host
 
of execution will be used. Default value: null, login shell.]]></tooltip>
 
</attribute>
 
<attribute name="stagein" type="string">
 
<description>The list of files to be staged in prior to job execution.</description>
 
<tooltip>Format: local_path@remote_host:remote_path.</tooltip>
 
</attribute>
 
<attribute name="stageout" type="string">
 
<description>The list of files to be staged out after job execution.</description>
 
<tooltip>Format: local_path@remote_host:remote_path.</tooltip>
 
</attribute>
 
<attribute name="User_List" type="string">
 
<description>The list of user@hosts which determines the user name under which the job is run on a given host.</description>
 
<tooltip><![CDATA[When a job is to be placed into execution,
 
the server will select a user name from the list according
 
to the following ordered set of rules: 1) Select the user
 
name from the list for which the associated host name matches
 
the name of the execution host; 2) Select the user name which
 
has no associated host name, the wild card name; 3) Use the
 
Job_Owner as the user name. Default value: job owner name.]]></tooltip>
 
</attribute>
 
<attribute name="Variable_List" type="string">
 
<description>This is the list of environment variables passed with the Queue Job batch request.</description>
 
</attribute>
 
<script insertEnvironmentAfter="35">
 
<line>
 
<arg>#!/bin/bash</arg>
 
</line>
 
<line>
 
<arg isUndefinedIfMatches="#PBS -A">#PBS -A ${ptp_rm:Account_Name#value}</arg>
 
</line>
 
<line>
 
<arg isUndefinedIfMatches="#PBS -c">#PBS -c ${ptp_rm:Checkpoint#value}</arg>
 
</line>
 
<line>
 
<arg isUndefinedIfMatches="#PBS -W depend=">#PBS -W depend=${ptp_rm:depend#value}</arg>
 
</line>
 
<line>
 
<arg isUndefinedIfMatches="#PBS -q">#PBS -q ${ptp_rm:destination#value}</arg>
 
</line>
 
<line>
 
<arg isUndefinedIfMatches="#PBS -C">#PBS -C ${ptp_rm:line#value}</arg>
 
</line>
 
<line>
 
<arg isUndefinedIfMatches="#PBS -e">#PBS -e ${ptp_rm:Error_Path#value}</arg>
 
</line>
 
<line>
 
<arg isUndefinedIfMatches="#PBS -V">#PBS -V ${ptp_rm:export_all#value}</arg>
 
</line>
 
<line>
 
<arg isUndefinedIfMatches="#PBS -W group_list=">#PBS -W group_list=${ptp_rm:group_list#value}</arg>
 
</line>
 
<line>
 
<arg isUndefinedIfMatches="#PBS -h">#PBS -h ${ptp_rm:Hold_Types#value}</arg>
 
</line>
 
<line>
 
<arg isUndefinedIfMatches="#PBS -N">#PBS -N ${ptp_rm:Job_Name#value}</arg>
 
</line>
 
<line>
 
<arg isUndefinedIfMatches="#PBS -j">#PBS -j ${ptp_rm:Join_Path#value}</arg>
 
</line>
 
<line>
 
<arg isUndefinedIfMatches="#PBS -k">#PBS -k ${ptp_rm:Keep_Files#value}</arg>
 
</line>
 
<line>
 
<arg isUndefinedIfMatches="#PBS -m">#PBS -m ${ptp_rm:Mail_Points#value}</arg>
 
</line>
 
<line>
 
<arg isUndefinedIfMatches="#PBS -M">#PBS -M ${ptp_rm:Mail_Users#value}</arg>
 
</line>
 
<line>
 
<arg isUndefinedIfMatches="#PBS -o">#PBS -o ${ptp_rm:Output_Path#value}</arg>
 
</line>
 
<line>
 
<arg isUndefinedIfMatches="#PBS -p">#PBS -p ${ptp_rm:Priority#value}</arg>
 
</line>
 
<line>
 
<arg isUndefinedIfMatches="#PBS -r">#PBS -r ${ptp_rm:Rerunnable#value}</arg>
 
</line>
 
<line>
 
<arg isUndefinedIfMatches="#PBS -l arch=">#PBS -l arch=${ptp_rm:Resource_List.arch#value}</arg>
 
</line>
 
<line>
 
<arg isUndefinedIfMatches="#PBS -l cput=">#PBS -l cput=${ptp_rm:Resource_List.cput#value}</arg>
 
</line>
 
<line>
 
<arg isUndefinedIfMatches="#PBS -l file=">#PBS -l file=${ptp_rm:Resource_List.file#value}</arg>
 
</line>
 
<line>
 
<arg isUndefinedIfMatches="#PBS -l host=">#PBS -l host=${ptp_rm:Resource_List.host#value}</arg>
 
</line>
 
<line>
 
<arg isUndefinedIfMatches="#PBS -l mem=">#PBS -l mem=${ptp_rm:Resource_List.mem#value}</arg>
 
</line>
 
<line>
 
<arg isUndefinedIfMatches="#PBS -l nice=">#PBS -l nice=${ptp_rm:Resource_List.nice#value}</arg>
 
</line>
 
<line>
 
<arg isUndefinedIfMatches="#PBS -l nodes=">#PBS -l nodes=${ptp_rm:Resource_List.nodes#value}</arg>
 
</line>
 
<line>
 
<arg isUndefinedIfMatches="#PBS -l ompthreads=">#PBS -l ompthreads=${ptp_rm:Resource_List.ompthreads#value}</arg>
 
</line>
 
<line>
 
<arg isUndefinedIfMatches="#PBS -l pcput=">#PBS -l pcput=${ptp_rm:Resource_List.pcput#value}</arg>
 
</line>
 
<line>
 
<arg isUndefinedIfMatches="#PBS -l pmem=">#PBS -l pmem=${ptp_rm:Resource_List.pmem#value}</arg>
 
</line>
 
<line>
 
<arg isUndefinedIfMatches="#PBS -l pvmem=">#PBS -l pvmem=${ptp_rm:Resource_List.pvmem#value}</arg>
 
</line>
 
<line>
 
<arg isUndefinedIfMatches="#PBS -l vmem=">#PBS -l vmem=${ptp_rm:Resource_List.vmem#value}</arg>
 
</line>
 
<line>
 
<arg isUndefinedIfMatches="#PBS -l walltime=">#PBS -l walltime=${ptp_rm:Resource_List.walltime#value}</arg>
 
</line>
 
<line>
 
<arg isUndefinedIfMatches="#PBS -S">#PBS -S ${ptp_rm:Shell_Path_List#value}</arg>
 
</line>
 
<line>
 
<arg isUndefinedIfMatches="#PBS -W stagein=">#PBS -W stagein=${ptp_rm:stagein#value}</arg>
 
</line>
 
<line>
 
<arg isUndefinedIfMatches="#PBS -W stageout=">#PBS -W stageout=${ptp_rm:stageout#value}</arg>
 
</line>
 
<line>
 
<arg isUndefinedIfMatches="#PBS -u">#PBS -u ${ptp_rm:User_List#value}</arg>
 
</line>
 
<line>
 
<arg isUndefinedIfMatches="#PBS -v">#PBS -v ${ptp_rm:Variable_List#value}</arg>
 
</line>
 
<line>
 
<arg>MPI_ARGS="-np ${ptp_rm:mpiCores#value}"</arg>
 
</line>
 
<line>
 
<arg resolve="false">if [ "-np" == "${MPI_ARGS}" ] ; then</arg>
 
</line>
 
<line>
 
<arg resolve="false"> MPI_ARGS=</arg>
 
</line>
 
<line>
 
<arg resolve="false">fi</arg>
 
</line>
 
<line>
 
<arg>COMMAND=${ptp_rm:mpiCommand#value}</arg>
 
</line>
 
<line>
 
<arg resolve="false">if [ -n "${COMMAND}" ] ; then</arg>
 
</line>
 
<line>
 
<arg resolve="false"> COMMAND="${COMMAND} ${MPI_ARGS}</arg>
 
<arg>${ptp_rm:executablePath#value} ${ptp_rm:progArgs#value}"</arg>
 
</line>
 
<line>
 
<arg resolve="false">else</arg>
 
</line>
 
<line>
 
<arg> COMMAND="${ptp_rm:executablePath#value} ${ptp_rm:progArgs#value}"</arg>
 
</line>
 
<line>
 
<arg resolve="false">fi</arg>
 
</line>
 
<line>
 
<arg isUndefinedIfMatches="cd">cd ${ptp_rm:directory#value}</arg>
 
</line>
 
<line>
 
<arg resolve="false">${COMMAND}</arg>
 
</line>
 
<line>
 
<arg resolve="false">touch DONE</arg>
 
</line>
 
</script>
 
<start-up-command name="get-queues">
 
<arg>qstat</arg>
 
<arg>-Q</arg>
 
<arg>-f</arg>
 
<stdout-parser delim="\n">
 
<target ref="queues">
 
<match>
 
<expression>Queue: ([\w\d]+)</expression>
 
<add field="value">
 
<entry valueGroup="1"/>
 
</add>
 
</match>
 
</target>
 
</stdout-parser>
 
</start-up-command>
 
<submit-batch name="submit-batch" waitForId="true">
 
<arg>qsub</arg>
 
<arg>${ptp_rm:managed_file_for_script#value}</arg>
 
<stdout-parser delim="\n" all="true" save="1">
 
<target ref="@jobId">
 
<match>
 
<expression>([\d]+)[.].*</expression>
 
<set field="name">
 
<entry valueGroup="1"/>
 
</set>
 
<set field="value">
 
<entry value="SUBMITTED"/>
 
</set>
 
</match>
 
</target>
 
</stdout-parser>
 
<stderr-parser delim="\n">
 
<target ref="@jobId">
 
<match>
 
<expression>.*Job not submitted.*</expression>
 
<throw message="Job Submit Failed"/>
 
</match>
 
</target>
 
</stderr-parser>
 
</submit-batch>
 
<get-job-status name="get-job-status" ignoreExitStatus="true">
 
<arg>qstat</arg>
 
<arg>${ptp_rm:@jobId#name}</arg>
 
<stdout-parser delim="\n">
 
<target ref="@jobId">
 
<match>
 
<expression>.+[\s]+.+[\s]+.+[\s]+.+[\s]+([A-Z])[\s]+.+</expression>
 
<set field="value">
 
<entry valueGroup="1"/>
 
</set>
 
</match>
 
<test op="EQ">
 
<value>#value</value>
 
<value>Q</value>
 
<set field="value">
 
<entry value="QUEUED_ACTIVE"/>
 
</set>
 
</test>
 
<test op="EQ">
 
<value>#value</value>
 
<value>R</value>
 
<set field="value">
 
<entry value="RUNNING"/>
 
</set>
 
</test>
 
<test op="EQ">
 
<value>#value</value>
 
<value>S</value>
 
<set field="value">
 
<entry value="SUSPENDED"/>
 
</set>
 
</test>
 
<test op="EQ">
 
<value>#value</value>
 
<value>C</value>
 
<set field="value">
 
<entry value="COMPLETED"/>
 
</set>
 
</test>
 
<test op="EQ">
 
<value>#value</value>
 
<value>E</value>
 
<set field="value">
 
<entry value="COMPLETED"/>
 
</set>
 
</test>
 
<test op="EQ">
 
<value>#value</value>
 
<value>H</value>
 
<set field="value">
 
<entry value="SYSTEM_ON_HOLD"/>
 
</set>
 
</test>
 
</target>
 
</stdout-parser>
 
<stderr-parser delim="\n">
 
<target ref="@jobId">
 
<match>
 
<expression>.+</expression>
 
<set field="value">
 
<entry value="COMPLETED"/>
 
</set>
 
</match>
 
</target>
 
</stderr-parser>
 
</get-job-status>
 
<terminate-job name="cancel" ignoreExitStatus="true">
 
<arg>qdel</arg>
 
<arg>${ptp_rm:@jobId#name}</arg>
 
</terminate-job>
 
<launch-tab>
 
<dynamic>
 
<title>Basic PBS Settings</title>
 
<!-- ATTRIBUTES group -->
 
<composite group="true">
 
<layout>
 
<grid-layout numColumns="4" makeColumnsEqualWidth="false" horizontalSpacing="10" verticalSpacing="15"/>
 
</layout>
 
<!-- HEADER -->
 
<widget type="label" style="SWT.LEFT" foreground="SWT.COLOR_DARK_RED">
 
<layout-data>
 
<grid-data horizontalAlign="SWT.BEGINNING" grabExcessHorizontal="false"/>
 
</layout-data>
 
<fixed-text>Name</fixed-text>
 
</widget>
 
<widget type="label" style="SWT.LEFT" foreground="SWT.COLOR_DARK_RED">
 
<layout-data>
 
<grid-data horizontalAlign="SWT.BEGINNING" horizontalSpan="2" grabExcessHorizontal="false"/>
 
</layout-data>
 
<fixed-text>Value</fixed-text>
 
</widget>
 
<widget type="label" style="SWT.LEFT" foreground="SWT.COLOR_DARK_RED">
 
<layout-data>
 
<grid-data horizontalAlign="SWT.BEGINNING" grabExcessHorizontal="false"/>
 
</layout-data>
 
<fixed-text>Description</fixed-text>
 
</widget>
 
<!-- row 1 -->
 
<widget type="label" style="SWT.LEFT">
 
<layout-data>
 
<grid-data horizontalAlign="SWT.BEGINNING" grabExcessHorizontal="false"/>
 
</layout-data>
 
<tooltip>${ptp_rm:Job_Name#tooltip}</tooltip>
 
<fixed-text>Job Name: </fixed-text>
 
</widget>
 
<widget type="text" style="SWT.BORDER" saveValueTo="Job_Name">
 
<layout-data>
 
<grid-data horizontalAlign="SWT.FILL" horizontalSpan="2" grabExcessHorizontal="false" widthHint="150"/>
 
</layout-data>
 
</widget>
 
<widget type="label" style="SWT.LEFT" foreground="SWT.COLOR_DARK_BLUE">
 
<layout-data>
 
<grid-data horizontalAlign="SWT.BEGINNING" grabExcessHorizontal="false"/>
 
</layout-data>
 
<fixed-text>${ptp_rm:Job_Name#description}</fixed-text>
 
</widget>
 
<!-- row 2 -->
 
<widget type="label" style="SWT.LEFT">
 
<layout-data>
 
<grid-data horizontalAlign="SWT.BEGINNING" grabExcessHorizontal="false"/>
 
</layout-data>
 
<tooltip>${ptp_rm:destination#tooltip}</tooltip>
 
<fixed-text>Queue: </fixed-text>
 
</widget>
 
<widget type="combo" style="SWT.BORDER" readOnly="true" saveValueTo="destination">
 
<layout-data>
 
<grid-data horizontalAlign="SWT.FILL" horizontalSpan="2" grabExcessHorizontal="false"/>
 
</layout-data>
 
<items-from>queues</items-from>
 
</widget>
 
<widget type="label" style="SWT.LEFT" foreground="SWT.COLOR_DARK_BLUE">
 
<layout-data>
 
<grid-data horizontalAlign="SWT.BEGINNING" grabExcessHorizontal="false"/>
 
</layout-data>
 
<fixed-text>${ptp_rm:destination#description}</fixed-text>
 
</widget>
 
<!-- row 3 -->
 
<widget type="label" style="SWT.LEFT">
 
<layout-data>
 
<grid-data horizontalAlign="SWT.BEGINNING" grabExcessHorizontal="false"/>
 
</layout-data>
 
<tooltip>${ptp_rm:Resource_List.nodes#tooltip}</tooltip>
 
<fixed-text>Number of nodes: </fixed-text>
 
</widget>
 
<widget type="text" style="SWT.BORDER" saveValueTo="Resource_List.nodes">
 
<layout-data>
 
<grid-data horizontalAlign="SWT.FILL" horizontalSpan="2" grabExcessHorizontal="false" widthHint="150"/>
 
</layout-data>
 
</widget>
 
<widget type="label" style="SWT.LEFT" foreground="SWT.COLOR_DARK_BLUE">
 
<layout-data>
 
<grid-data horizontalAlign="SWT.BEGINNING" grabExcessHorizontal="false"/>
 
</layout-data>
 
<fixed-text>${ptp_rm:Resource_List.nodes#description}</fixed-text>
 
</widget>
 
<!-- row 4 -->
 
<widget type="label" style="SWT.LEFT">
 
<layout-data>
 
<grid-data horizontalAlign="SWT.BEGINNING" grabExcessHorizontal="false"/>
 
</layout-data>
 
<tooltip>${ptp_rm:Resource_List.mem#tooltip}</tooltip>
 
<fixed-text>Total Memory Needed: </fixed-text>
 
</widget>
 
<widget type="text" style="SWT.BORDER" saveValueTo="Resource_List.mem">
 
<layout-data>
 
<grid-data horizontalAlign="SWT.FILL" horizontalSpan="2" grabExcessHorizontal="false" widthHint="150"/>
 
</layout-data>
 
</widget>
 
<widget type="label" style="SWT.LEFT" foreground="SWT.COLOR_DARK_BLUE">
 
<layout-data>
 
<grid-data horizontalAlign="SWT.BEGINNING" grabExcessHorizontal="false"/>
 
</layout-data>
 
<fixed-text>${ptp_rm:Resource_List.mem#description}</fixed-text>
 
</widget>
 
<!-- row 5 -->
 
<widget type="label" style="SWT.LEFT">
 
<layout-data>
 
<grid-data horizontalAlign="SWT.BEGINNING" grabExcessHorizontal="false"/>
 
</layout-data>
 
<tooltip>${ptp_rm:Resource_List.walltime#tooltip}</tooltip>
 
<fixed-text>Wallclock Time: </fixed-text>
 
</widget>
 
<widget type="text" style="SWT.BORDER" saveValueTo="Resource_List.walltime">
 
<layout-data>
 
<grid-data horizontalAlign="SWT.FILL" horizontalSpan="2" grabExcessHorizontal="false" widthHint="150"/>
 
</layout-data>
 
</widget>
 
<widget type="label" style="SWT.LEFT" foreground="SWT.COLOR_DARK_BLUE">
 
<layout-data>
 
<grid-data horizontalAlign="SWT.BEGINNING" grabExcessHorizontal="false"/>
 
</layout-data>
 
<fixed-text>${ptp_rm:Resource_List.walltime#description}</fixed-text>
 
</widget>
 
<!-- row 6 -->
 
<widget type="label" style="SWT.LEFT">
 
<layout-data>
 
<grid-data horizontalAlign="SWT.BEGINNING" grabExcessHorizontal="false"/>
 
</layout-data>
 
<fixed-text>MPI Command: </fixed-text>
 
</widget>
 
<widget type="combo" style="SWT.BORDER" readOnly="true" saveValueTo="mpiCommand">
 
<layout-data>
 
<grid-data horizontalAlign="SWT.FILL" horizontalSpan="2" grabExcessHorizontal="false"/>
 
</layout-data>
 
</widget>
 
<widget type="label" style="SWT.LEFT" foreground="SWT.COLOR_DARK_BLUE">
 
<layout-data>
 
<grid-data horizontalAlign="SWT.BEGINNING" grabExcessHorizontal="false"/>
 
</layout-data>
 
<fixed-text>${ptp_rm:mpiCommand#description}</fixed-text>
 
</widget>
 
<!-- row 7 -->
 
<widget type="label" style="SWT.LEFT">
 
<layout-data>
 
<grid-data horizontalAlign="SWT.BEGINNING" grabExcessHorizontal="false"/>
 
</layout-data>
 
<fixed-text>MPI Number of Cores: </fixed-text>
 
</widget>
 
<widget type="spinner" readOnly="true" saveValueTo="mpiCores">
 
<layout-data>
 
<grid-data horizontalAlign="SWT.BEGINNING" horizontalSpan="2" grabExcessHorizontal="false" widthHint="100"/>
 
</layout-data>
 
</widget>
 
<widget type="label" style="SWT.LEFT" foreground="SWT.COLOR_DARK_BLUE">
 
<layout-data>
 
<grid-data horizontalAlign="SWT.BEGINNING" grabExcessHorizontal="false"/>
 
</layout-data>
 
<fixed-text>${ptp_rm:mpiCores#description}</fixed-text>
 
</widget>
 
</composite>
 
<!-- STDOUT/STDERR remote path group -->
 
<composite group="true">
 
<layout>
 
<grid-layout numColumns="4" makeColumnsEqualWidth="false"/>
 
</layout>
 
<layout-data>
 
<grid-data horizontalAlign="SWT.FILL" grabExcessHorizontal="false" horizontalSpan="4" widthHint="300"/>
 
</layout-data>
 
<widget type="label" style="SWT.LEFT">
 
<tooltip>${ptp_rm:remote_path_tooltip#default}</tooltip>
 
<fixed-text>Remote Output Path:</fixed-text>
 
</widget>
 
<widget type="text" style="SWT.BORDER" saveValueTo="stdout_remote_path">
 
<layout-data>
 
<grid-data horizontalAlign="SWT.FILL" horizontalSpan="2" grabExcessHorizontal="true" widthHint="100"/>
 
</layout-data>
 
</widget>
 
<widget type="label" style="SWT.LEFT" foreground="SWT.COLOR_DARK_BLUE">
 
<fixed-text>Enable read upon job termination</fixed-text>
 
</widget>
 
<widget type="label" style="SWT.LEFT">
 
<tooltip>${ptp_rm:remote_path_tooltip#default}</tooltip>
 
<fixed-text>Remote Error Path:</fixed-text>
 
</widget>
 
<widget type="text" style="SWT.BORDER" saveValueTo="stderr_remote_path">
 
<layout-data>
 
<grid-data horizontalAlign="SWT.FILL" horizontalSpan="2" grabExcessHorizontal="true" widthHint="100"/>
 
</layout-data>
 
</widget>
 
<widget type="label" style="SWT.LEFT" foreground="SWT.COLOR_DARK_BLUE">
 
<fixed-text>Enable read upon job termination</fixed-text>
 
</widget>
 
</composite>
 
</dynamic>
 
<dynamic>
 
<title>Advanced PBS Settings</title>
 
<composite>
 
<layout>
 
<grid-layout numColumns="1"/>
 
</layout>
 
<layout-data>
 
<grid-data widthHint="600" heightHint="900" horizontalSpan="1"/>
 
</layout-data>
 
<!-- QUEUES remote path group -->
 
<composite group="true">
 
<layout>
 
<grid-layout numColumns="3" makeColumnsEqualWidth="false"/>
 
</layout>
 
<widget type="label" style="SWT.LEFT">
 
<layout-data>
 
<grid-data horizontalAlign="SWT.BEGINNING"/>
 
</layout-data>
 
<tooltip>${ptp_rm:destination#tooltip}</tooltip>
 
<fixed-text>Queue: </fixed-text>
 
</widget>
 
<widget type="combo" style="SWT.BORDER" readOnly="true" saveValueTo="destination">
 
<layout-data>
 
<grid-data widthHint="150" horizontalAlign="SWT.FILL" horizontalSpan="2"/>
 
</layout-data>
 
<items-from>queues</items-from>
 
</widget>
 
</composite>
 
<composite group="true">
 
<layout>
 
<grid-layout numColumns="1"/>
 
</layout>
 
<widget type="text" readOnly="true" style="SWT.LEFT | SWT.BORDER | SWT.WRAP | SWT.V_SCROLL">
 
<layout-data>
 
<grid-data widthHint="600" heightHint="75" horizontalSpan="1"/>
 
</layout-data>
 
<dynamic-text>
 
<arg>${ptp_rm:allAttributes#value}</arg>
 
<arg isUndefinedIfMatches=" destination=''"> destination='${ptp_rm:destination#value}'</arg>
 
</dynamic-text>
 
</widget>
 
<viewer name="allAttributes" style="SWT.BORDER | SWT.MULTI" sort="true" type="tree">
 
<layout-data>
 
<grid-data widthHint="600" heightHint="400" horizontalSpan="1"/>
 
</layout-data>
 
<column-data name="Name" width="175">
 
<tooltip>Double-click on selected rows toggles their checked value.</tooltip>
 
</column-data>
 
<column-data name="Value" width="400">
 
<tooltip>Click to activate value widget.</tooltip>
 
</column-data>
 
<items allPredefined="true">
 
<exclude>destination</exclude>
 
</items>
 
<value pattern="@name='@value'"/>
 
</viewer>
 
</composite>
 
<!-- STDOUT/STDERR remote path group -->
 
              <composite group="true">
 
                  <layout>
 
                    <grid-layout numColumns="4" makeColumnsEqualWidth="false"/>
 
                  </layout>
 
                  <layout-data>
 
                    <grid-data horizontalAlign="SWT.FILL" grabExcessHorizontal="false" horizontalSpan="4" widthHint="400"/>
 
                  </layout-data>
 
                  <widget type="label" style="SWT.LEFT">
 
                    <tooltip>${ptp_rm:remote_path_tooltip#default}</tooltip>
 
                    <fixed-text>Remote Output Path:</fixed-text>
 
                  </widget>
 
                  <widget type="text" style="SWT.BORDER" saveValueTo="stdout_remote_path">
 
                    <layout-data>
 
                        <grid-data horizontalAlign="SWT.FILL" horizontalSpan="2" grabExcessHorizontal="true" widthHint="175"/>
 
                    </layout-data>
 
                  </widget>
 
                  <widget type="label" style="SWT.LEFT" foreground="SWT.COLOR_DARK_BLUE">
 
                    <fixed-text>Enable read upon job termination</fixed-text>
 
                  </widget>
 
                  <widget type="label" style="SWT.LEFT">
 
                    <tooltip>${ptp_rm:remote_path_tooltip#default}</tooltip>
 
                    <fixed-text>Remote Error Path:</fixed-text>
 
                  </widget>
 
                  <widget type="text" style="SWT.BORDER" saveValueTo="stderr_remote_path">
 
                    <layout-data>
 
                        <grid-data horizontalAlign="SWT.FILL" horizontalSpan="2" grabExcessHorizontal="true" widthHint="175"/>
 
                    </layout-data>
 
                  </widget>
 
                  <widget type="label" style="SWT.LEFT" foreground="SWT.COLOR_DARK_BLUE">
 
                    <fixed-text>Enable read upon job termination</fixed-text>
 
                  </widget>
 
              </composite>
 
</composite>
 
</dynamic>
 
<import>Import PBS Script</import>
 
</launch-tab>
 
</control-data>
 
<monitor-data schedulerType="PBS">
 
<driver>
 
<name></name>
 
</driver>
 
</monitor-data>
 
</resource-manager-builder>
 
</source>
 

Revision as of 09:13, 20 June 2011

Back to the top