Running Jobs – The Batch System (SGE)

Why use a batch system?

All jobs must be run in the batch system (SGE). This allows you to specify the resources (cores, memory, GPUs) you need for your jobs and ensures the jobs only run when those resources become available.

It also ensures fair usage of the system – there are many jobs making different demands of the system and many users submitting jobs. The batch system will schedule your jobs according to resources requested and size of your group’s contribution to the system.

Be kind to the login nodes and other users

Applications should not be run directly on the login nodes. These are relatively small, light-weight nodes (not many cores, small memory) used to access the system, edit files, submit jobs. Many users will be connected to the login nodes. If you run an application there, you may prevent all of those users from doing their work.

The sysadmins will kill, without notice, any applications running on the login nodes. Please submit your work to the batch system.

If you want to diagnose / debug a problem with your application (e.g., quick test runs, trying different parameters, possibly modifying and recompiling code) without using a batch script, please use an interactive job (see qrsh). DO NOT do this type of work directly on the login node – your quick test run may use far more CPU and memory that you think!

Please take the time to learn how to submit jobs to the batch system.

Batch Tutorial

If you are unfamiliar with running jobs in a batch system please see our 10 minute tutorial on running jobs on the CSF.

Submitting Jobs and Requesting Resources

You will need to write a small jobscript,

gedit myjobscript

which is a simple text file that specifies

  1. Any additional or specific resources your job needs (number of CPU cores, the architecture/type of CPU, memory, GPUs).
    [The default is 1 CPU-core, any Intel CPU type, 4GB RAM, no GPU]
  2. The actual commands / application your job should execute.

Further details on how to write jobscripts, and some example job scripts, are in the sections on serial jobs and parallel jobs. The menu on the left also has pages for more advanced job options. Our software pages also have example jobscripts for each application we have installed.

Then submit the jobscript to the batch system using

qsub myjobscript

You may also wish to check on your job (is it still running?) using

qstat

See the batch commands for more information.

Last modified on January 22, 2024 at 5:30 pm by George Leaver