The scheduler's resource manager interface(s) are defined using the RMCFG parameter. This parameter allows specification of key aspects of the interface as shown in the table below.
As with all scheduler parameters, RMCFG follows the syntax described within the Parameters Overview.
The parameter RMCFG allows the scheduler to interface to multiple types of resource managers using the TYPE or SERVER attributes. Specifying these attributes, any of the resource managers listed below may be supported. To further assist in configuration, Integration Guides are provided for PBS, SGE, and Loadleveler systems.
TYPE | Resource Managers | Details |
LL | Loadleveler version 2.x and 3.x | N/A |
LSF | Platform's Load Sharing Facility, version 5.1 and higher | N/A |
PBS | OpenPBS (all versions), TORQUE (all versions), PBSPro (all versions) | N/A |
RMS | RMS (for Quadrics based systems) | for development use only - not production quality |
SGE | Sun Grid Engine version 5.3 and higher | N/A |
SSS | Scalable Systems Software Project version 0.5 and 2.0 and higher | N/A |
WIKI | Wiki interface specification version 1.0 and higher | used for LRM, YRM, ClubMASK, BProc, and others |
Maui can support more than one resource manager simultaneously. Consequently, the RMCFG parameter takes an index value, i.e., RMCFG[clusterA] TYPE=PBS. This index value essentially names the resource manager (as done by the deprecated parameter RMNAME. The resource manager name is used by the scheduler in diagnostic displays, logging, and in reporting resource consumption to the allocation manager. For most environments, the selection of the resource manager name can be arbitrary.
The HOST, PORT, and SERVER attributes can be used to specify how the resource manager should be contacted. For many resource managers (i.e., OpenPBS, PBSPro, Loadleveler, SGE, LSF, etc) the interface correctly establishes contact using default values. These parameters need only to be specified for resource managers such as the WIKI interface (which do not include defaults) or with resources managers which can be configured to run at non-standard locations (such as PBS). In all other cases, the resource manager is automatically located.
The maximum amount of time Maui will wait on a resource manager call can be controlled by the TIMEOUT parameter which defaults to 30 seconds. Only rarely will this parameter need to be changed. The AUTHTYPE attribute allows specification of how security over the scheduler/resource manager interface is to be handled. Currently, only the WIKI interface is affected by this parameter.
Another RMCFG attribute is CONFIGFILE, which specifies the location of the resource manager's primary config file and is used when detailed resource manager information not available via the scheduling interface is required. It is currently only used with the Loadleveler interface and needs to only be specified when using Maui grid-scheduling capabilities.
Finally, the NMPORT attribute allows specification of the resource manager's node manager port and is only required when this port has been set to a non-default value. It is currently only used within PBS to allow MOM specific information to be gathered and utilized by Maui.
In the simplest configuration, Maui interacts with the resource manager using the four primary functions listed below:
GETJOBINFO
Collect detailed state and requirement information about idle, running, and recently completed jobs.
GETNODEINFO
Collect detailed state information about idle, busy, and defined nodes.
STARTJOB
Immediately start a specific job on a particular set of nodes.
CANCELJOB
Immediately cancel a specific job regardless of job state.
Using these four simple commands, Maui enables nearly its entire suite of scheduling functions. More detailed information about resource manager specific requirements and semantics for each of these commands can be found in the specific resource manager overviews. (LL, PBS, or WIKI).
In addition to these base commands, other commands are required to support advanced features such a dynamic job support, suspend/resume, gang scheduling, and scheduler initiated checkpoint restart. More information about these commands will be forthcoming.
Information on creation a new scheduler resource manager interface can be found in the Adding New Resource Manager Interfaces section.