Appendix D: Adjusting Default Limits
Moab Workload Manager®

Appendix D: Adjusting Default Limits

Moab is distributed in a configuration capable of supporting multiple architectures and systems ranging from a few processors to several thousand processors. However, in spite of its flexibility, for performance reasons, it still contains a number of default object limits parameters and static structures defined in header files. These limits constrain such things as the maximum number of jobs, reservations, and nodes that Moab can handle and are set to values that provide a reasonable compromise between capability and memory consumption for most sites. However, many site administrators want to increase some of these settings to extend functionality, or decrease them to save consumed memory. The most common parameters are listed in what follows and can be adjusted by simply modifying the moab.cfg configuration file or by adjusting the appropriate #define and rebuilding Moab.

Parameter Location Default Max Tested Description
JOBMAXNODECOUNT moab.cfg (dynamic parameter) 1024 8192 Maximum number of compute nodes that can be allocated to a job. (Can also be specified within configure using --with-maxjobsize=<NODECOUNT>.)
MAXJOB moab.cfg (dynamic parameter) 4096 50000 Maximum number of jobs that can be evaluated simultaneously. (Can also be specified within configure using --with-maxjobs=<JOBCOUNT>.)
MAXRSVPERNODE moab.cfg (dynamic parameter) 24 1024 Maximum number of reservations a node can simultaneously support.
MMAX_ACCT moab.h 1024 128 Total number of accounts allowed.
MMAX_ATTR moab.h 128 512 Total number of distinct node attributes (PBS node attributes/LL node features) that can be tracked.
MMAX_CLASS moab.h 24 64 Total number of distinct job classes/queues available.
MMAX_CLIENT moab.h 128 128 Total number of simultaneous client connections allowed.
MMAX_FSDEPTH moab.h 24 32 Number of active fairshare windows.
MMAX_GRES moab.h 8 300 Total number of distinct generic resources that can be tracked.

NOTE: MMAX_ATTR must be greater than or equal to MMAX_GRES.
MMAX_NODE moab.h 5120 160000 Maximum number of compute nodes supported. (Can be specified within configure using --with-maxnodes=<NODECOUNT>.)
MMAX_PAR moab.h 4 32 Maximum number of partitions supported.
MMAX_QOS moab.h 128 128 Total number of distinct QoS objects available to jobs.
MMAX_RACK moab.h 200 200 Total number of distinct rack objects available within cluster.
MMAX_RANGE moab.h 256 1500 Total number of distinct timeframes evaluated.

NOTE: This is proportional to the size of the cluster and the number of simultaneously active jobs in the cluster. (Can be specified within configure using --with-maxrange=<RANGECOUNT>.) Increasing this value will not increase the size of total memory consumed by Moab but may result in minor slowdowns in the evaluation and optimization of reservations.
MMAX_RSV moab.h 1024 8192 Total number of distinct reservations allowed per cluster. (Can be specified within configure using --with-maxrsv=<RSVCOUNT>.)
MMAX_SRSV moab.h 128 256 Total number of distinct standing reservations available.
MMAX_TASK moab.h 4096 16000 Total number of tasks allowed per job. (Can be specified within configure using --with-maxtasks=<TASKCOUNT>.)
MMAX_GTRIG moab.h 2048 2048 Total number of system-wide triggers. (Can be specified within configure using --with-maxtriggers=<TRIGGERCOUNT>.)
MMAX_TRIG moab.h 24 24 Total number of triggers allowed per object. (Can be specified within configure using --with-maxobjtriggers=<TRIGGERCOUNT>.)

NOTE: MMAX_GTRIG must be greater than or equal to MMAX_TRIG.

Moab currently possesses hooks to allow sites to create local algorithms for handling site specific needs in several areas. The contrib directory contains a number of sample local algorithms for various purposes. The MLocal.c module incorporates the algorithm of interest into the main code. The following scheduling areas are currently handled via the MLocal.c hooks.

  • Local Job Attributes
  • Local Node Allocation Policies
  • Local Job Priorities
  • Local Fairness Policies

See Also