pbs_sched(8B)

NAME
pbs_sched_cc - pbs C scheduler

SYNOPSIS
pbs_sched [-a alarm] [-d home] [-L logfile] [-p file] [-S port] [-R port] [-c file]

DESCRIPTION
The pbs_sched program runs in conjunction with the PBS server. It queries the server about the state of PBS and communicates with pbs_resmon to get information about the status of running jobs, memory available etc. It then makes decisions as to what jobs to run.

pbs_sched must be executed with root permission.

OPTIONS

-a alarm
    This specifies the time in seconds to wait for a schedule run to finish. If a script takes too long to finish, an alarm signal is sent, and the scheduler is restarted. If a core file does not exist in the current directory, abort() is called and a core file is generated. The default for alarm is 180 seconds.

-d home
    This specifies the PBS home directory, PBS_HOME. The current working directory of the scheduler is PBS_HOME/sched_priv. If this option is not given, PBS_HOME defaults to $PBS_SERVER_HOME as defined during the PBS build procedure.

-L logfile
    Specifies an absolute path name of the file to use as the log file. If not specified, the scheduler will open a file named for the current date in the PBS_HOME/sched_logs directory (see the -d option).

-p file
    This specifies the "print" file. Any output from the C code which is written to standard out or standard error will be written to this file. If this option is not given, the file used will be PBS_HOME/sched_priv/sched_out . See the option.

-S port
    This specifies the port to use. If this option is not given, the default port for the PBS scheduler is used.

-R port
    This specifies the resource monitor port to use. If this option is not given, the default port for the PBS mom is used. NOTE: this option only makes the mom port available to the scheduler writer. It doesn't force them to use it.

-c file
    Specify a configuration file, see description below. If this is a relative file name it will be relative to PBS_HOME/sched_priv, see the -d option. If the -c option is not supplied, pbs_sched will not attempt to open a configuration file.

The options that specify file names may be absolute or relative. If they are relative, their root directory will be PBS_HOME/sched_priv.

USAGE
This version of the scheduler requires knowledge of the C language and the PBS API. Source code is provided for a main program for the scheduler. The site must supply the heart of the program. When invoked, the main program performs general initialization and housekeeping chores. Then a locally supplied function, schedinit() is called to perform site specific initialization.

In the main loop, a locally supplied function, schedule() is called to make the scheduling decisions and perform any required actions. Information about jobs and queues is obtained from the Server through the standard PBS API as found in libifl.a. Information about the execution host(s) is obtained from the Resource Monitor. Routines to communicate with the Resource Monitor are found in libnet.a.

If the processing takes more than the allotted time, the scheduler will restart itself. The default amount of time is three minutes. This can be changed with the -a option.

On receipt of a SIGHUP signal, the scheduler will close and reopen its log file and reread its configuration file (if any).

CONFIGURATION FILE
A configuration file may be specified with the -c option. This file may be used to specify the hosts (servers) which are allowed to connect to pbs_sched. The hosts are specified in the configuration file in a manor identical to that used in pbs_mom. There is one line per host with the syntax:
where clienthost and hostname are separated by white space.

Two host names are always allowed to connection to pbs_sched, "localhost" and the name returned to pbs_sched by the system call gethostname(). These names need not be specified in the configuration file.

The configuration file must be "secure". It must be owned by a user id and group id less than 10 and not be world writable.

FILES

$PBS_SERVER_HOME/sched_priv
    the default directory for configuration files, typically (/usr/spool/pbs)/sched_priv.

Signal Handling
A C based scheduler will handle the following signals:

SIGHUP
    The server will close and reopen its log file and reread the config file if one exists.

SIGALRM
    If the site supplied scheduling module exceeds the time limit, the Alarm will cause the scheduler to attempt to core dump and restart itself.

SIGINT and SIGTERM
    Will result in an orderly shutdown of the scheduler.

All other signals have the default action installed.

EXIT STATUS
Upon normal termination, an exit status of zero is returned.

SEE ALSO
pbs_sched_rule(8B), pbs_sched_tcl(8B), pbs_server(8B), pbs_mom(8B), the PBS External Reference Specification, and the PBS Internal Design Specification.
PBS Internal Design Specification