Appendices > Appendix D: Adjusting Default Limits

Conventions

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. Parameters listed in the Moab configuration file (moab.cfg) can be modified by restarting Moab. To change parameters listed in moab.h, please contact technical support.

CLIENTMAXCONNECTIONS
Location moab.cfg (dynamic parameter)
Default 128
Max tested ---
Description Maximum number of connections that can simultaneously connect to Moab.
JOBMAXNODECOUNT
Location moab.cfg (dynamic parameter)
Default 1024
Max tested 8192
Description

Maximum number of compute nodes that can be allocated to a job. After changing this parameter, Moab must be restarted for changes to take effect. The value cannot exceed that of the MAXNODE parameter (specified in moab.cfg). If you specify a value higher than the limit set for the MAXNODE parameter, the value will match MAXNODE. JOBMAXNODECOUNT can also be specified within configure using --with-maxjobsize=<NODECOUNT>.

MAXGRES
Location moab.cfg (dynamic parameter)
Default 512
Max tested ---
Description Total number of distinct generic resources that can be managed.
MAXJOB
Location moab.cfg (dynamic parameter)
Default 4096
Max tested 500,000
Description Maximum number of jobs that can be evaluated simultaneously. (Can also be specified within configure using --with-maxjobs=<JOBCOUNT>.)
MAXRSVPERNODE
Location moab.cfg (dynamic parameter)
Default 48
Max tested 1024
Description Maximum number of reservations a node can simultaneously support.
MMAX_ATTR
Location moab.h
Default 128
Max tested 512
Description Total number of distinct node attributes (PBS node attributes/LL node features) that can be tracked.
MMAX_CLASS
Location moab.h
Default 256
Max tested 256
Description Total number of distinct job classes/queues available.
MMAX_FSDEPTH
Location moab.h
Default 24
Max tested 32
Description Number of active fairshare windows.
MAXNODE
Location moab.cfg (dynamic parameter
Default 5120
Max tested 160000
Description Maximum number of compute nodes supported.
MMAX_PAR
Location moab.h
Default 32
Max tested 32
Description Maximum number of partitions supported.
MMAX_QOS
Location moab.h
Default 128
Max tested 128
Description Total number of distinct QoS objects available to jobs.
MMAX_RACK
Location moab.h
Default 200
Max tested 200
Description Total number of distinct rack objects available within cluster.
MMAX_RANGE
Location moab.h
Default 2048
Max tested 2048
Description 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_REQ_PER_JOB
Location moab.h
Default 5
Max tested 64
Description Total number of unique requirement structures a job can have. Limits the number of -w clauses in the mshow -a command. It also limits the number of -l nodes=X+Y+Z a normal HPC job can have.
JOBMAXTASKCOUNT
Location moab.cfg (dynamic parameter
Default 4096
Max tested 16000
Description Total number of tasks allowed per job.

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.

Related topics 

© 2014 Adaptive Computing