Moab Workload Manager

3.4 Configuring the Scheduler

Scheduler configuration is maintained using the flat text configuration file moab.cfg. All configuration file entries consist of simple <PARAMETER> <VALUE> pairs that are whitespace delimited. Parameter names are not case sensitive but <VALUE> settings are. Some parameters are array values and should be specified as <PARAMETER>[<INDEX>] (Example: QOSCFG[hiprio] PRIORITY=1000); the <VALUE> settings may be integers, floats, strings, or arrays of these. Some parameters can be specified as arrays wherein index values can be numeric or alphanumeric strings. If no array index is specified for an array parameter, an index of zero (0) is assumed. The example below includes both array based and non-array based parameters:

SCHEDCFG[cluster2] SERVER=head.c2.org MODE=NORMAL

LOGLEVEL 6
LOGDIR   /var/tmp/moablog

See the parameters documentation for information on specific parameters.

The moab.cfg file is read when Moab is started up or recycled. Also, the mschedctl -m command can be used to reconfigure the scheduler at any time, updating some or all of the configurable parameters dynamically. This command can be used to modify parameters either permanently or temporarily. For example, the command mschedctl -m LOGLEVEL 3 will temporarily adjust the scheduler log level. When the scheduler restarts, the log level restores to the value stored in the Moab configuration files. To adjust a parameter permanently, the option --flags=persistent should be set.

At any time, the current server parameter settings may be viewed using the mschedctl -l command.

3.4.1 Adjusting Server Behavior

Most aspects of Moab behavior are configurable. This includes both scheduling policy behavior and daemon behavior. In terms of configuring server behavior, the following realms are most commonly modified.

3.4.1.1 Logging

Moab provides extensive and highly configurable logging facilities controlled by parameters.

  • LOGDIR - Indicates directory for log files.
  • LOGFACILITY - Indicates scheduling facilities to track.
  • LOGFILE - Indicates path name of log file.
  • LOGFILEMAXSIZE - Indicates maximum size of log file before rolling.
  • LOGFILEROLLDEPTH - Indicates maximum number of log files to maintain.
  • LOGLEVEL - Indicates verbosity of logging.

3.4.1.2 Checkpointing

Moab checkpoints its internal state. The checkpoint file records statistics and attributes for jobs, nodes, reservations, users, groups, classes, and almost every other scheduling object.

  • CHECKPOINTEXPIRATIONTIME - Indicates how long unmodified data should be kept after the associated object has disappeared; that is, job priority for a job no longer detected.
  • CHECKPOINTFILE - Indicates path name of checkpoint file.
  • CHECKPOINTINTERVAL - Indicates interval between subsequent checkpoints.

3.4.1.3 Client Interface

The Client interface is configured using the SCHEDCFG parameter. Most commonly, the attributes SERVER and PORT must be set to point client commands to the appropriate Moab server. Other parameters such as CLIENTTIMEOUT may also be set.

3.4.1.4 Scheduler Mode

The scheduler mode of operation is controlled by setting the MODE attribute of the SCHEDCFG parameter. The following modes are allowed:

Mode Description
Moab interactively confirms each scheduling action before taking any steps. (See interactive mode overview for more information.)
Moab observes cluster and workload performance, collects statistics, interacts with allocation management services, and evaluates failures, but it does not actively alter the cluster, including job migration, workload scheduling, and resource provisioning. (See monitor mode overview for more information.)
Moab actively schedules workload according to mission objectives and policies; it creates reservations; starts, cancels, preempts, and modifies jobs; and takes other scheduling actions.
Moab obtains workload and resource information from specified simulation trace files and schedules the defined virtual environment.
Moab behaves as in NORMAL mode but will only schedule a single iteration and then exit.
Moab behaves as in NORMAL mode but will only start a job when explicitly requested by a trusted grid peer service or administrator.
Moab behaves as in NORMAL mode, will make reservations, and scheduling decisions, but will then only log scheduling actions it would have taken if running in NORMAL mode. In most cases, TEST mode is identical to MONITOR mode. (See test mode overview for more information.)

See Also