Maui can be used as an external scheduler for the PBS resource management system. In this configuration, PBS manages the job queue and the compute resources while Maui queries the PBS Server and the PBS MOM's to obtain up to date job and node information. Using this information, Maui directs PBS to manage jobs in accordance with specified Maui policies, priorities, and reservations.
Maui drives PBS via the PBS scheduling API. To enable Maui scheduling, the following steps must be taken:
Keep track of the PBS target directory, $PBSTARGDIR.
If you have a non-standard PBS installation, You may need to modify src/Makefile and change PBSIP and PBSLP values and references as necessary for your local site configuration.
The configure script will automatically setup Maui so that the user running configure will become the default Primary Maui Administrator, $MAUIADMIN. This can be changed by modifying the 'ADMIN <USERNAME>' line in the maui.cfg file. The primary administrator is the first user listed after the ADMIN1 parameter and is the ID under which the Maui daemon will run.
Some Tru64 and IRIX systems have a local libnet library which conflicts with PBS's libnet library. To resolve this, try setting PBSLIB to '${PBSLIBDIR}/libnet.a -lpbs' in the Maui Makefile.
Maui is 64 bit compatible. If PBS is compiled in 64 bit mode, Maui will likewise need to be compiled in this manner in order to utilize the PBS scheduling API. (i.e., for IRIX compilers, add '-64' to OSCCFLAGS and OSLDFLAGS variables in the Makefile).
Maui communicates with both pbs_server and pbs_mom daemons. The $MAUIADMIN should be authorized to talk to both PBS daemons. (suggestions)
For security purposes, sites may want to run Maui under a non-root user id, the mom_priv/config files must be world-readable and contain the line '$restricted *.<YOURDOMAIN> (i.e., '$restricted *.uconn.edu').
PBS nodes can be configured as time shared or space shared according to local needs.
Maui utilizes PBS's scheduling port to obtain real-time event information from PBS regarding job and node transitions. Leaving the default qmgr setting of 'set server scheduling=True' will allow Maui to receive and process this real-time information.
Do not start the TORQUE's pbs_sched daemon. This is the default scheduler for TORQUE and Maui/Moabwill provide this service.
Maui's user interface port set using the parameter SCHEDCFG or SERVERPORT is used for user-scheduler communication. This port must be different from the PBS scheduler port used for resource manager-scheduler communication.
PBS supports the concept of virtual nodes. Using this feature, Maui can individually schedule processors on SMP nodes. The PBS Administrator's Guide explains how to set up the '$PBS_HOME/server_priv/nodes' file to enable this capability. (i.e., <NODENAME> np=<VIRTUAL NODE COUNT>).
If a non-standard PBS configuration is being used, additional Maui parameters may be required to point Maui to the right location:
(See the Resource Manager Overview for more information.)
Maui is by default very liberal in its interpretation of <NODECOUNT>:PPN=<X>. In its standard configuration, Maui interprets this as 'give the job <NODECOUNT>*<X> tasks with AT LEAST <X> tasks per node'. Set the JOBNODEMATCHPOLICY parameter to EXACTNODE to have Maui support PBS's default allocation behavior of <NODECOUNT> nodes with exactly <X> tasks per node.
See also: