The Distributed Queueing System (DQS) is used to run non-interactive jobs in the UOxray Computing Laboratory.
Specify r10k to run on an R1000 SGI; specify sgi to run on any SGI; specify alpha for a DEC Alpha running Digital Unix.To submit a job named test.com to a queue on any SGI computer, you type:
qsub -l sgi test.com
For other examples, see the section, Common DQS Commands.
It is important to correctly specify the resource(s) that you need.
For example, if you type, qsub -l DEC ... instead of qsub -l
alpha ... your job will wait for a queue with the resource DEC
to become available. Since no such queues exist, your job will never be
started.
1. Create a DQS script file for your job (myjob.dqs). This
is simply a script for your favorite shell, containing the commands that
you want to execute in batch. Unless you specify the -cwd option,
your job will be run from your home directory, so define your file paths
accordingly.
a) You can include qsub command line options in your script, as shown in the following example:Notice: If you use this script directly, (# text .....) before submitting the job.
The following script would be submitted as: qsub myjob.dqs
#!/bin/csh #$ -cwd # set working directory to where you qsub'd from # -m bea # send mail when job begins, ends or aborts #$ -N myjob # job name prefix #$ -j y # join standard output (-o) and standard error (-e) in one file (-o) #$ -o myjob.log # direct std output to myjob.log instead of the default #$ -e myjob.err # direct error output (stderr) to the file myjob.err instead of the default #$ -l r10k # run the job on a queue on the sgi R1000 host with the lowest current load average #$ -V # Specifies that all environmental variables be exported to the context of the job. or #$ -v PATH # Export only these environmental variables with the job (your normal script goes here) /usr/local/tnt/bin/tnt 1 30
b) Or on the command line:
The following script would be submitted as: qsub -cwd -N myjob -j y -o myjob.log -l r10k -V myjob.dqs
#!/bin/csh (your normal script goes here) /usr/local/tnt/bin/tnt 1 30
2. By redirecting the standard input STDIN to the queue (<< EOF)
qsub -cwd -N myjob -j y -o myjob.log -l r10k -V <<EOF (your normal script goes here) /usr/local/tnt/bin/tnt 1 30 EOF
See the DQS documentation or man pages for a list of all possible options. Generally, options can be included on the command line, or in your command file, as shown in the example in the section on Setting up a DQS Job.qstat -f -l sgi qdel 67
qstat qstat -f qstat -f -l sharp
Queue Name Queue Type Quan Load State ---------- ---------- ---- ---- -----
helium_2 batch 1/1 0.95 er UP sharp ingo.Rhai 4798 0:1 r RUNNING 08/11/99 11:01:37 hydrogen_2 batch 0/1 0.00 er UP lithium_2 batch 0/1 1.02 er UP sodium_2 batch 1/1 1.03 er UP sharp ingo.Rhai 5011 0:2 r RUNNING 08/16/99 11:12:22The output shows that there are four queues that accept sharp jobs and two are running. They are on helium and sodium. Sodium has an average of 1.03 processes competing for its CPU; hydrogen has no processes active on it. The symbols er indicate that the queues are enabled and running. If the symbols read eru, it means that the queue is in an unknown state, ie, communication has been lost. Notify a the systems administrator. ALARM in state column indicates that the load on the particular system have exceeded a certain threshold limit, normal queueing will resume automatically when the load diminishes
qdel jobid