Intro
To schedule and manage jobs on the Supek computer cluster, PBS Pro (Portable Batch System Professional) is used, which schedules jobs within the cluster. Its primary task is the distribution of computer tasks, i.e. batch jobs, among the available computer resources.
This document describes the use of PBS Pro 2022.1.1 version.
Job running
User applications (hereinafter jobs) that are started using the PBS system must be described by a start shell script (sh, bash, zsh...). Within the startup script above the normal commands, the PBS parameters are listed. These parameters can also be specified when submitting a job.
Basic job run:
qsub my_job.pbs
Job run with parameters:
qsub -q cpu -l ncpus=4:mem=10GB moj_posao.pbs
More info for qsub parameters:
qsub --help
After submitting the job, it is possible to view the standard output and error of the job that is in execution state with the commands:
qcat jobID qcat -e jobID qtail jobID qtail -e jobID
Job submitting
There are several ways jobs can be submitted:
- by interactive submission
- using a script
- in an interactive session
- job queue
in the case of interactive submission, directly calling the qsub command will open a text editor in the terminal, through which the commands for execution are submitted:
# run qsub [korisnik@x3000c0s25b0n0:~] $ qsub Job script will be read from standard input. Submit with CTRL+D. echo "Hello world" 14571.x3000c0s25b0n0.hsn.hpc.srce.hr # print directory content [korisnik@x3000c0s25b0n0:~] $ ls -l total 5140716 -rw------- 1 korisnik hpc 0 Jun 1 07:44 STDIN.e14571 -rw------- 1 korisnik hpc 12 Jun 1 07:44 STDIN.o14571 # print output file content [korisnik@x3000c0s25b0n0:~] $ cat STDIN.o14571 Hello world
In the case of script submission, we can specify the commands to be executed in the input file that we submit:
# print file hello.sh [korisnik@x3000c0s25b0n0:~] $ cat hello.sh #!/bin/bash #PBS -N hello echo "Hello world" # submit job script [korisnik@x3000c0s25b0n0:~] $ qsub hello.sh 14572.x3000c0s25b0n0.hsn.hpc.srce.hr # print directory content [korisnik@x3000c0s25b0n0:~] $ ls -l total 5140721 -rw------- 1 korisnik hpc 0 Jun 1 07:44 STDIN.e14571 -rw------- 1 korisnik hpc 12 Jun 1 07:44 STDIN.o14571 -rw------- 1 korisnik hpc 0 Jun 1 08:02 hello.e14572 -rw------- 1 korisnik hpc 12 Jun 1 08:02 hello.o14572 -rw-r--r-- 1 korisnik hpc 46 Jun 1 07:55 hello.sh # print output file content [korisnik@x3000c0s25b0n0:~] $ cat hello.o14572 Hello world