PBS stands for Portable Batch System,
and was written as a joint project between the
Numerical Aerospace Simulation (NAS)
Systems Division of NASA AMES Research Center and
National Energy Research
Supercomputer Center (NERSC)
of Lawrence Livermore National Laboratory.
It was developed with the intent to be conformant with the POSIX
1003.2d Batch Environment Standard. As such, it will accept batch
jobs, a shell script and control attributes, preserve and protect the
job until it is run, run the job, and deliver output back to the
submitter.
PBS directives are specified either as comments in the script
or options to the qsub command.
Here is a sample PBS script:
#/bin/sh
#
# Request 8 nodes
#PBS -l nodes=8
# Request 8 hour 10 minutes of wall-clock time
#PBS -l walltime=8:10:00
# Request that regular output (stdout) and
# terminal output (stderr) go to the same file
#PBS -j oe
# Send mail when the job aborts or terminate
#PBS -m ae
# Mail address
#PBS -M user@some.where
#Goto the directory from which you submitted the job
cd $PBS_O_WORKDIR
mpirun -np 8 ./foo
By using the nqs2pbs conversion script,
it is possible to convert an NQE script to PBS script.
When the job starts, the environment variable
$PBS_NODEFILE contains the name of a file in which the
allocated nodes are listed.
Limits that are enforced by PBS on Monolith:
|
nodes |
The number of nodes requested.
Units: unitary.
|
|
walltime
|
Maximum amount of real time during which the job
can be in the running state.
Units: time.
|
For more information see pbs_resources(7B).
To see the current limits of a queue complex, use
qstat -Qf. Node: the nodes limit
is checked against nodect (node count).
Frequently used PBS User Commands:
- qstat Shows status of PBS batch jobs.
'qstat -a' is a good compromise between amount of information and
overview.
- qsub Submits a job to the PBS queuing system.
- qdel Delete a PBS job from the queue.
Less Frequently used PBS User Commands:
- qalter Modifies the attributes of a job.
- qhold Requests that the PBS server place
a hold on a job.
- qmove Remove a job from the queue in which
it resides and instantiate the job in another queue.
- qmsg Send message to PBS batch job.
To send a message to a job is to write a message string
into one or more output files of the job.
- qorder Exchange the order of two PBS batch jobs
in a queue.
- qrerun Reruns a PBS batch job.
- qrls Release hold on PBS batch job.
- qselect List the job identifier of those jobs which
meet a list of selection criteria.
- qsig Requests that a signal be send to the session
leader of a batch job.
For more information, please see the corresponding man-page on
Monolith