Batch jobs are normally assigned to queues with respect to a request profile. The user defines a request profile for a particular job. The user assembles a set of requests that must be met to successfully run the job. The scheduler considers only those queues that satisfy the set of requests for this job.
If the user does not specify any requests for a job, the scheduler considers any queue to which the user has access without further restrictions. However, grid engine software enables you to configure default requests that define resource requirements for jobs even when the user does not specify resource requirements explicitly.
You can configure default requests globally for all users of a cluster, as well as privately for any user. The default request configuration is stored in default request files. The global request file is located under sge-root/cell/common/sge_request. The user-specific request file can be located either in the user's home directory or in the current working directory. The working directory is where the qsub command is run. The user-specific request file is called .sge_request.
If these files are present, they are evaluated for every job. The order of evaluation is as follows:
The global default request file
The user default request file in the user's home directory
The user default request file in the current working directory
The requests specified in the job script or supplied with the qsub command take precedence over the requests in the default request files. See Chapter 3, Submitting Jobs, in Sun N1 Grid Engine 6.1 User’s Guide for details about how to request resources for jobs explicitly.
The format of both the local and the global default request files is as follows:
Default request files can contain any number of lines. Blank lines and lines that begin with a # sign are skipped.
Each line not to be skipped can contain any qsub option, as described in the qsub(1) man page. More than one option per line is allowed. The batch script file and the argument options to the batch script are not considered to be qsub options. Therefore these items are not allowed in a default request file.
The qsub -clear command discards any previous requirement specifications in the currently evaluated request file or in request files processed earlier.
Suppose a user's local default request file is configured the same as test.sh, the script in Example 4–2.
# Local Default Request File # exec job on a sun4 queue offering 5h cpu -l arch=solaris64,s_cpu=5:0:0 # exec job in current working dir -cwd
To run the script, the user types the following command:
% qsub test.sh
The effect of running the test.sh script is the same as if the user specified all qsub options directly in the command line, as follows:
% qsub -l arch=solaris64,s_cpu=5:0:0 -cwd test.sh
Like batch jobs submitted using qsub, interactive jobs submitted using qsh consider default request files also. Interactive or batch jobs submitted using QMON also take these request files into account.