After you perform the previous tasks, users can route their jobs to machines running NQS using the llsubmit command. The job command file must specify the class keyword. For example:
class = NQS
The job command file must also contain the shell script to be submitted to the NQS node. NQS accepts only shell scripts, binaries are not allowed. All options in the command file pertaining to scheduling the job will be used by LoadLeveler to schedule the job. When the job is dispatched to the node running the specified NQS class, the LoadLeveler options pertaining to the runtime environment are converted to NQS options and the job is submitted to the specified NQS queue.
LoadLeveler command file options are used as follows:
Users can also submit an NQS script. In this case, any NQS options in the script are used to schedule the job and once dispatched by LoadLeveler, the file is sent to NQS unmodified.
LoadLeveler schedules these jobs the same as it schedules other jobs. When the job is dispatched, LoadLeveler determines whether or not it is running in an NQS class. If it is, an NQS command qsub is issued.
LoadLeveler monitors the job by periodically invoking a qstat command. A qstat command is first issued for the pipe queue on the local host. If the request id is not found, a qstat is issued for each queue listed in the NQS_query class keyword. If the request id is still not found, starter marks the job as complete.
When a job is sent to an NQS class, llsubmit saves the following environment variables:
When LoadLeveler dispatches the job, these environment variables are installed so that they are available to qsub. llsubmit also saves the name of the current directory (pwd) and the current value of the user file create mask (umask).