Batch job scheduling is implemented on the AMNH clusters through the resource manager, Torque, and job scheduler, Moab. The job scheduler uses a set of priorities to determine how a job is distributed across the machine nodes and the resource manager monitors all submitted jobs and all resources.
Job Submission File
All jobs must be submitted to the scheduler for processing via the Portable Batch System (PBS) which is a networked subsystem used for controlling a workload of batch jobs. A job is represented by a shell script, which contains the PBS commands (begin with #) and shell commands needed to run the job. The script file is created using the editor of your choice or copying a file created on your local host.
Here is an example of a simple PBS job script.
# Write stdout and stderr to the files jobname.oJobId and jobname.eJobId, respectively. The JobId is a unique system number given to each job.
#PBS -N jobname
#PBS -j oe
#Specify the length of the time the job should run
#PBS -l walltime=00:00:00:00 #format DAY:HR:MIN:SEC
echo "Changing to $PBS_O_WORKDIR"
echo "Running on the following hosts"
#MPI command to run in parallel
mpirun /fullpath/executable input_data_file (if necessary)
To submit the job to queue issue the command
msub -l nodes=N:ppn=np myjob.sub
The submission command msub places the job onto the scheduler. The parameter -l is a lower case L, N is the number nodes and np is the maximum number of processors per node (ppn).
Fairshare Scheduling Policy
The Moab scheduler provides a utility to set polices for fair utilization of the available resources.