Requesting special resources
The Grid Engine client on each node reports in a given time interval information on various resource consumptions to the master. Based on these informations the scheduling process of the master assigns nodes/cores to the various jobs.
These requests can be put on top of the job script with #$ -l variable=value.
If the resource is not available the job stays waiting in the queue.
Requesting special hosts
If you want your jobs to run on special machines then add the following to your script:
#$ -l hostname=compute-2-3
You can use wildcards:
#$ -l hostname=compute-4-*
or e.g. request either compute-3 or compute-4 nodes:
#$ -l hostname=compute-3-*|compute-4-*
Requesting main memory
If you have a job which needs about 50GB of main memory, it makes no sense to send it e.g. to a compute-2-1 node with 6GB of main memory. So you tell the Gridengine to assign it to a proper host:
#$ -l vf=50g
Requesting /tmp space
If you have a job which needs about 80g of /tmp space for local processing, add:
#$ -l tf=80g
The compute-3 or newer nodes have about 270GB or more of /tmp space.