Running Jobs on Peregrine
High performance computing systems, including Peregrine, use job schedulers and resource managers to allow multiple users to share the system. These tools have commands for job submission, job monitoring, and job control (hold, delete, resource request modification).
A "job" contains a list of required consumable resources (such as nodes), a list of job constraints (when, where and how the job should run) and an execution environment, which includes things like an executable, input and output files).
Peregrine uses Torque for our resource manager and Moab as the workload manager/job scheduler. All compute nodes are scheduled so that only one job may use a node at a time. Both interactive jobs and regular are supported.
In order to run a job on Peregrine, you must have a project allocation. Each project has a project handle associated with it, which is specified in the project request document. Jobs submitted without a valid project handle will be rejected with an error message. Please note that this project identifier is referred to as an allocation handle in error messages and as an account string in system man pages. The project handle may be included with the -A option either on the command line or within the batch script. After usage exceeds the node hour allocation for a project, jobs will run at very low priority.
To submit jobs on Peregrine, the Torque qsub command should be used. This can be used to start an interactive job or to run a job involving a script that is run by Torque.
% qsub -A <project-handle> <script>
% qsub -A <project-handle> -I
If you are doing automated job submissions, please limit the submission rate to no more than 20 jobs per second.
Information about commands, queues, job priorities, instructions for starting interactive sessions and sample batch scripts are provided on the following pages: