Maui Scheduler Integration Guide
Overview
Maui configuration is quite complicated and is really beyond the scope
of any documents we could supply with SLURM. We don't intend SLURM to
be a "wrapper" for Maui, or to subordinate Maui. The best (and
practically only) resource for configuration Maui is the online
documents at the site of Maui's developers:
http://www.clusterresources.com/products/maui/docs/mauiadmin.shtml.
Configuration
First, download the Maui scheduler kit from their web site
http://www.clusterresources.com/products/maui.
Note: maui-3.2.6p9 has been validated with SLURM, other versions
should also work properly.
Make sure that SLURM is installed and running before building Maui.
Then build Maui from its source distribution. This is a two step process:
- ./configure --with-key=42 --with-wiki
- gmake
The key of 42 is arbitrary. You can use any value, but will need to
specify the same value as a SLURM configuration parameter.
Update the Maui configuration file maui.conf (Copy the file
maui-3.2.6p9/maui.cfg.dist to maui.conf). Add the following configuration
paramters to maui.conf:
RMCFG[host] TYPE=WIKI
RMPORT 7321 # or whatever you choose as a port
RMHOST host
RMAUTHTYPE[host] NONE
host is the hostname where the SLURM controller is running.
This must match the value of ControlMachine configured in
slurm.conf. Note that localhost doesn't work. If you run Maui
and SLURM on the same machine, you must specify the actual host name.
The above example uses a TCP port number of 7321 for
communications between SLURM and Maui, but you can pick any port that
is available and accessible. You can also set a polling interval with
RMPOLLINTERVAL 00:00:20
I like Maui to poll SLURM quite often -- in this case every 20 seconds.
Note that a job submitted to an idle cluster will not be initiated until
the Maui daemon polls SLURM and decides to make it run, so the value of
RMPOLLINTERVAL should be set to a value appropriate for your site
considering both the desired system responsiveness and the overhead of
executing Maui daemons too frequently.
In order for Maui to be able to access your SLURM partition, you will
need to define in maui.conf a partition with the same name as the SLURM
partition(s). For example if nodes "linux[0-3]" are in SLURM partition
"PartA", slurm.conf includes a line of this sort:
PartitionName=PartA Default=yes Nodes=linux[0-3]
The add the corresponding lines to maui.cfg:
PARTITIONMODE ON
NODECFG[linux0] PARTITION=PartA
NODECFG[linux1] PARTITION=PartA
NODECFG[linux2] PARTITION=PartA
NODECFG[linux3] PARTITION=PartA
Set the slurm.conf scheduler parameters as follows:
SchedulerType=sched/wiki
SchedulerPort=7321
SchedulerAuth=42
In this case, "SchedulerAuth" has been set to 42, which was the key
specified when Maui was configured above. Just make sure the numbers match.
The Maui folks have assured me that the key won't always be a compiled-in
feature.
Set the following environment variables and path:
set path=(/root/MAUI/maui-3.2.6p9/bin $path)
setenv MAUIHOMEDIR /root/MAUI/maui-3.2.6p9
|