SHELL 22.1

Creating an "oasys_queue" File

Creating an "oasys_queue" File

This file lists alternative batch queues and queue directives. It only needs to be created for systems on which jobs can be submitted to a NQS style queue.

The file is in xml format, with tags to define data blocks. It contains three distinct blocks, defining queue directives which are written for: specific queues; specific queue and cpu combinations and; all queues. There can be no blank lines in data blocks.

The first block defines the queue names, their cpu limit and any queue directives specific to the queue. This block is required.

<queue_names>
<name1>
cpu_limit="300"
command="#PBS -m abe"
</name1>
<name2>
cpu_limit="pipe"
<name2>
<name3>
cpu_limit="none"
</name3>
</queue_names>

Where:

<queue_names> and </queue_names> are tags to indicate the start and end of the block of data
<name1> and </name1> are the names of the queues and tags to indicate the start and end of the data for that queue (up to 20 can be defined)
cpu_limit is the cpu limit for the queue (in seconds) or "pipe" or "none"
command is an optional queue directive specific for the queue (up to 20 for each queue can be defined)

The second block defines what queue options will be available to the user (see Queue Options), depending on the queue and number of cpus chosen. It is intended to be used to define queue directives which define the number of nodes and cpus to use. This block is optional.

<queue_commands>
<name1>
<1>
display_string="1 CPU x 1 Node"
command="#PBS -l nodes=1:ppn=1:name1
</1>
<2>
display_string="2 CPU x 1 Node"
command="#PBS -l nodes=1:ppn=2:name1
</2>
<2>
display_string="1 CPU x 2 Node"
command="#PBS -l nodes=2:ppn=1:name1
</2>
</name1>
<name2>
<4>
mpp_only
display_string="2 CPU x 2 Node"
command="#PBS -l nodes=2:ppn=2:name2
</4>
</name2>
<name3>
<1>
display_string="1 CPU x 1 Node"
command="#PBS -l nodes=1:ppn=1:name3
</1>
</name3>
</queue_commands>

Where:

<queue_commands> and </queue_commands> are tags to indicate the start and end of the block of data
<name1> and </name1> are the names of the queues and tags to indicate the start and end of the data for that queue (note that they must be the same as the names defined in the first block)
<1> and </1> are the number of cpus and tags to indicate the start and end of the data for that number of cpus
mpp_only if this is included then the option will only be available if an MPP version of Dyna is selected
display_string is the text that is displayed to the user in the popup menu on the SHELL (see Section 1.2.4.7 )
command is a queue directive specific to the queue and number of cpus (up to 20 can be defined for the queue and cpu combination)

Up to 100 queue and cpu combinations can be defined. If this block is not included in the file then the queue options popup will be greyed out and the default directives produced by the SHELL will be used.

The third block defines queue directives that apply to all queues. This block is optional.

<all_queue_commands>
command="#PBS -m abe"
</all_queue_commands>

Where:

<all_queue_commands> and </all_queue_commands> are tags to indicate the start and end of the block of data
command is a queue directive (up to 20 can be defined)

Example :

$
<queue_names>
<dyna>
cpu_limit="none"
</dyna>
<fast>
cpu_limit="3600"
</fast>
</queue_names>
$
<queue_commands>
<dyna>
<1>
display_string="1 CPU x 1 Node"
command="#PBS -l nodes=1:ppn=1:dyna"
</1>
<2>
display_string="2 CPU x 1 Node"
command="#PBS -l nodes=1:ppn=2:dyna"
</2>
<2>
mpp_only
display_string="1 CPU x 2 Nodes"
command="#PBS -l nodes=1:ppn=2:dyna"
</2>
<4>
mpp_only
display_string="2 CPU x 2 Nodes"
command="#PBS -l nodes=2:ppn=2:dyna"
</4>
<4>
display_string="4 CPU x 1 Node"
command="#PBS -l nodes=1:ppn=4:dyna"
</4>
<4>
mpp_only
display_string="1 CPU x 4 Nodes"
command="#PBS -l nodes=4:ppn=1:dyna"
</4>
</dyna>
<fast>
<2>
display_string="2 CPU x 1 Node"
command="#PBS -l nodes=1:ppn=2:dyna"
</2>
<2>
mpp_only
display_string="1 CPU x 2 Nodes"
command="#PBS -l nodes=1:ppn=2:dyna"
</2>
</fast>
</queue_commands>
$
<all_queue_commands>
command="#PBS -m abe"
</all_queue_commands>
$