The Torque package provides a queuing system for the sequential distribution of jobs on collaborating machines on any network. Alternatives to Torque are the Sun Grid Engine, Slurm (both also in Debian) or Condor. Torque was derived from PBS and is community-maintained with the help of the company Cluster Resources, with a very large user base.

To learn about the installation please check out

The Debian package does not differ from upstream, with the exception that the server name is expected to be adjusted in /etc/torque/server_name and it defaults to 'torqueserver'. Also, what you may expect in /var/lib/torque (from a previous Ubuntu installation) resides in the Torque-typical /var/spool/torque.

The following script is expected to perform a sufficiently decent installation on a single host as a start.

set -e

# Debian and older Ubuntu packages have slight differences in the naming.
for u in mom server sched scheduler; do
   if   [ -x /etc/init.d/"pbs_$u" ];    then update-rc.d pbs_$u defaults
   elif [ -x /etc/init.d/"torque-$u" ]; then update-rc.d torque-$u defaults
   else echo "Skipping registration for Torque -$u service"

for d in /var/lib/torque /var/spool/torque; do
  if [ -d "$d" ]; then SPOOLDIR="$d"; break; fi
if [ -z "$SPOOLDIR" ]; then
  echo "Could not find torque directory."
  exit 1

[ -d "$SPOOLDIR"/server_priv ] && hostname --long > "$SPOOLDIR"/server_priv/nodes
hostname --long > "$SPOOLDIR"/server_name
[ -d "$SPOOLDIR"/mom_priv ] && hostname --long > "$SPOOLDIR"/mom_priv/config

if ! ps aux | grep -v grep | grep -q pbs_server; then
  echo "Torque server not yet available, starting it now."
  pbs_server -t create
qmgr -c "s s scheduling=true"
qmgr -c "c q batch queue_type=execution"
qmgr -c "s q batch started=true"
qmgr -c "s q batch enabled=true"
qmgr -c "s q batch resources_default.nodes=1"
qmgr -c "s q batch resources_default.walltime=3600"
qmgr -c "s s default_queue=batch"
invoke-rc.d torque-server restart
invoke-rc.d torque-scheduler restart
invoke-rc.d torque-mom restart

qmgr -c "print server"

pbsnodes -a

To continue with additional hosts, just add the node names to the nodes file and ensure that ssh works without manual intervention for the exact same hostnames that are specified in the nodes file.

See also