There are times when it is useful to allow requests for a particular
abstract resource without regard to the specific host or system
resources provided.
Some examples include:
- different priorities of job, eg, low, medium, high priority
- different kinds of jobs, eg, simulation, synthesis, etc
- very particular system characteristics, eg, OS-release-level, patch-level
- node-locked software, eg, software which is only available on a certain
set of hosts
To achieve this in Grid Engine, you can define any number of custom resources.
You would then attach these resources to any number of queues, eg, all "high
priority" queues or all queues on a host which provides a node-locked license.
Then, when submitting a job, this resource can be requested and only those
queues that are tagged with this resource will be candidates for
running the job.
The
following steps outline the procedure to attach a resource to a queue
using Qmon.
1) Define the resource
In the main qmon window,
click "Complexes Configuration". Highlight "queue" in the
lefthand box. A list of built-in resources appears in the main
window. Click "Modify". In the next screen, the resource
needs to be defined. For example:
#Name Shortcut Type Value Relation Requestable Consumable Default
#------------------------------------------------------------------------
build build bool false == YES NO 0
Name: The name of this resource
Shortcut: Each resource may have a unique shortcut assigned to it
Type: The type of resource (boolean, integer, char, etc)
Value: The default value for this resource
Relation: == since a boolean value.
Requestable: Allow users to request the resource
Consumable: This resource is not consumed when requested
Default: Not used
After adding the resource, be sure to click "Add" to
add the new resource to the table below. Then click "Ok".
2) Attach the resource to specific queues
In the main
qmon window, click "Queue Control".
Highlight the queue that the resource
should be attached to, and click "Modify".
Click on the "Complexes" tab, and then click on
"Load" on the right-side of the window. A list of available
resources appears. Choose or type in the new resource and click "OK".
Type in 'true' for the "Value".
3) Request the resource
Any job submitted requesting
this resource will be scheduled on the queues specified in the above
step. To request the resource, use the -l switch:
qsub -l
build=true myjob.sh
note: '-l build' is equivalent to '-l
build=true'
|