TORQUE Resource Manager

TORQUE Administrator's Manual - 1.3 Advanced Configuration

1.3 Advanced Configuration

  • 1.3.1 Customizing the Install
  • 1.3.2 Server Configuration
    • 1.3.2.1 Server Config Overview
    • 1.3.2.2 Name Service Config
    • 1.3.2.3 Configuring Job Submission Hosts
    • 1.3.2.4 Configuring TORQUE on a Multi-Homed Server
    • 1.3.2.5 Architecture Specific Notes

1.3.1 Customizing the Install

The TORQUE configure command takes a number of options.  A few key options:
  • By default, TORQUE does not install the admin manuals.  To enable this, use '--enable-docs'
  • By default, TORQUE uses rcp to copy data files.  Using scp is highly recommended, use '--with-scp' (see ssh setup for more information)
  • By default, TORQUE does not enable syslog usage.  To enable this, use '--enable-syslog'

Full Configure Option List

Option Description
--enable-docs build PBS with documentation. This is off by default since it takes a while to build. Man pages will still be installed, however.
--enable-server build/not build the server. Can be used to disable the building of the server. Normally all components (docs, server, mom, clients) are built.
--enable-mom build/not build the mom.
--enable-clients build/not build the clients.
--with-tcl=DIR_PREFIX Use this if you want Tcl support. If you are compiling with tclx then you need only use the --with-tcl flag if the Tcl libraries are in a different place than the tclx libraries. The prefix given here should be something like "/usr/local".
--with-tclx=DIR_PREFIX Use this if you want TclX support. This implies --with-tcl. The only time it is useful to give both flags is if TclX and Tcl are in two different places. If no DIR_PREFIX is given then the libraries and includes must be installed in places automatically searched by system tools.
--enable-gui build the xpbs GUI. This is on by default but can be turned off with --disable-gui.
--set-cc=ccprog set the compiler to use. This will be used to set the CC variable and will override any CC setting in the environment. If only "--set-cc" is given then CC will be set to "cc".
--set-cflags=flags set the compiler flags. This will be used to set the CFLAGS variable. If only "--set-flags" is given then CFLAGS will be set to "". Normally the flag settings are guessed by configure to be those appropriate for the architecture, compiler, and PBS machine type.
--enable-debug turn on the DEBUG flag. Off by default.
--set-tmpdir=DIR set the tmp directory that pbs_mom will use. This will default to "/tmp".
--set-server-home=DIR set the server home/spool directory for PBS use this will default to /var/spool/torque if unspecified
--set-server-name-file=FILE set the file that will contain the name of the default server for clients to use. If this is not an absolute pathname, it will be evaluated relative to the server home directory that either defaults to /var/spool/torque or is set using the --set-server-home option to configure. If this option is not specified, the default name for this file will be set to "server_name".
--set-default-server=HOSTNAME set the name of the computer that clients will access when no machine name is specified as part of the queue name. It defaults to the hostname of the machine on which PBS is being compiled.

NOTE: Do not set this to the string 'localhost' as it will prevent you from configuring pbs_server using qmgr.

--set-environ=PATH set the path containing the environment variables for the daemons. For SP2 and AIX systems, suggest setting to /etc/environment. Defaults to the file pbs_environment in the server-home. Relative paths are interpreted within the context of the server-home.
--enable-plock-daemons enable daemons to lock themselves into memory logical-or of 1 for pbs_server, 2 for pbs_scheduler, 4 for pbs_mom. (e.g. set to 7 for all three)
--enable-syslog enable the use of syslog for error reporting
--set-sched=TYPE sets the scheduler type. If TYPE is "c" the scheduler will be written in C "tcl" the server will use a Tcl based scheduler "basl" will use the rule based scheduler "no" then their will be no scheduling done (the "c" scheduler is the default)
--set-sched-code=PATH sets the name of the file or directory where the code for the scheduler is to be found. This only applies to BASL schedulers and those written in the C language. For C schedulers this should be a directory name and for BASL schedulers a filename ending in ".basl". If the path given is not absolute, it will be interpreted relative to srctree/src/schedulers.SCHD_TYPE/samples. As an example, an appropriate BASL scheduler relative path would be "nas.basl". The default scheduler code for "C" schedulers is "fifo".
--set-mansuffix=CHAR set the man page suffix letter this will default to "B" if unspecified
--set-tclatrsep=CHAR set the Tcl attribute separator character this will default to "." if unspecified
--set-qstatrc-file=FILE set the name of the file that qstat will use if there is no ".qstatrc" file in the directory where it is being invoked. Relative path names will be evaluated relative to the server home directory that either defaults to /usr/spool/PBS or is set using the --set-server-home option to configure. If this option is not specified, the default name for this file will be set to "qstatrc" (no dot) in the server home directory.
--with-scp use scp program to perform file delivery
--enable-shell-pipe enable (default) this if you want to have the name of the job script passed to the shell via a pipe. If disabled, the behavior is to give the script file as standard input
--enable-rpp use RPP/UDP for resource queries to mom. This is enabled by default. If disabled TCP is used.
--enable-sp2 setting this informs PBS that it is being built for an SP2.
--enable-tcl-qstat setting this builds qstat with Tcl interpreter features. This is normally disabled and is only valid if --with-tcl(x) is already present.
--enable-array setting this under IRIX enables the SGI Origin 2000 parallel support. Normally autodetected from the /etc/config/array file.
--enable-nodemask setting this nodemask-based scheduling on the Origin 2000.
--enable-pemask setting this enables pemask-based scheduling on the Cray T3e.
--enable-srfs on the Crays you can enable support of SRFS. This is disabled by default
--enable-depend-cache this turns on the ability to cache makedepend information across runs of configure. This can be bad if the user makes certain configuration changes in rerunning configure but it can save significant amounts of time in the hands of experienced developers. Changing the contents of Makefile.in will flush the cache in that directory. This is disabled by default
--disable-filesync disable file system blocking until data is physically written to the disk. Filesync enabled is more reliable but may lead to server delays in larger systems.  filesync is enabled by default

Recommended Configure Options    Most recommended configure options have been selected as default.  The few exceptions include '--with-scp' and possibly '--enable-syslog'.

1.3.2 Server Configuration

1.3.2.1 Server Config Overview

   There are several steps to ensure that the server and the nodes are completely aware of each other and able to communicate directly.  Some of this configuration takes place within TORQUE directly using the "qmgr" command.  Other configuration settings are managed using the pbs_server nodes file, DNS files such as "/etc/hosts" and the "/etc/hosts.equiv" file.

1.3.2.2 Name Service Config

   Each node, as well as the server, must be able to resolve the name of every node with which it will interact.  This can be accomplished using "/etc/hosts", DNS, NIS, or other mechanisms.  In the case of "/etc/hosts", the file can be shared across systems in most cases.

   A simple method of checking proper name service configuration is to verify that the server and the nodes can "ping" each other.

1.3.2.3 Configuring Job Submission Hosts

Using RCmd Authentication

   When jobs can be submitted from several different hosts, these hosts should be trusted via the R* commands (i.e., rsh, rcp, etc.).  This can be enabled by adding the hosts to the "/etc/hosts.equiv" file of the machine executing the pbs_server daemon or using other R* command authorization methods.  The exact specification can vary from OS to OS (see the man page for ruserok to find out how your OS validates remote users).  In most cases, configuring this file is as simple as adding a line to your "/etc/hosts.equiv" as in the following:

hosts.equiv
#[+ | -] [hostname] [username]
mynode.myorganization.com
.....

   Please note that when a hostname is specified, it must be the fully qualified domain name (FQDN) of the host.  Job submission can be further secured using the server or queue acl_hosts and acl_host_enabled parameters.

Using the 'submit_hosts' Server Parameter

   Trusted submit host access may be directly specified without using RCmd authentication by setting the server submit_hosts parameter via qmgr as in the example below:

qmgr
> qmgr -c 'set server submit_hosts = login1'
> qmgr -c 'set server submit_hosts += login2'
> qmgr -c 'set server submit_hosts += login3'

NOTE: use of submit_hosts is potentially subject to DNS spoofing and should not be used outside of controlled and trusted environments.

Allowing Job Submission from Compute Hosts

   If desired, all compute nodes can be enabled as job submit hosts without setting .rhosts or hosts.equiv by setting the allow_node_submit parameter to true.

1.3.2.4  Configuring TORQUE on a Multi-Homed Server

   If the pbs_server daemon is to be run on a multi-homed host (a host possessing multiple network interfaces), the interface to be used can be explicitly set using the SERVERHOST parameter.

1.3.2.5  Architecture Specific Notes

1.3.2.5.1  Mac OS/X Specific Notes
   With some versions of Mac OS/X, it is required to add the line $restricted *.<DOMAIN> to the pbs_mom config file.  This is required to work around some socket bind bugs in the OS.

1.3.2.6  Specifying Non-Root Administrators

   By default, only root is allowed to start, configure and manage the pbs_server daemon.  Additional trusted users can be authorized using the parameters managers and operators.  To configure these parameters use the qmgr command as in the example below:

moab.cfg
> qmgr

Qmgr: set server managers += josh@*.fsc.com
Qmgr: set server operators += josh@*.fsc.com

   All manager and operator specifications must include a user name and either a fully qualified domain name or a host expression.

NOTE: To enable all users to be trusted as both operators and admins, place the '+' character (plus) on its own line in the file server_priv/acl_svr/operators and server_priv/acl_svr/managers.

See Also