David B. Jackson
In this chapter we describe the Maui scheduler, a job-scheduling component that coordinates activities among Grid scheduling, resource management, and allocation management services, which can provide advanced scheduling services for most major resource managers.
Over the years, Maui has become the standard in high-performance cluster job scheduling. It is capable of operating with and extending the functionality of virtually all major resource management systems, including OpenPBS, PBSPro, SGE, LSF, Loadleveler, SSS, and BProc. From its origins, Maui has been designed to empower a given site to maximize the use of the cluster. It does this by allowing translation of local mission policies into scheduling behavior, optimizing scheduling decisions, and intelligently minimizing resource contention. In doing so, it allows sites not only to gain greater return on investment from their cluster but also to improve end-user satisfaction and reduce administrative overhead required to manage the cluster.
At a high level, the role of a job scheduler is to direct the actions of the resource manager, indicating when, where, and how jobs are to be started, preempted, canceled, and otherwise managed. It is also responsible for coordinating actions with other systems such as a Grid scheduler, allocation manager, or information service. In fulfilling these roles, Maui adds a unique suite of scheduling services including advance reservations, backfill, fairshare, dynamic job prioritization, quality of service support, and metascheduling.
Maui's design allows sites to maintain consistently high levels of cluster performance and support for advanced scheduling features regardless of the local resource manager used. With Maui, sites are not locked into a single resource manager but may freely select and interchange resource managers according to need. Further, Maui allows end users the choice of using the command and GUI interfaces of Maui or the commands of the underlying resource manager. Thus, sites can roll Maui in and out with no end-user training; end users can continue using familiar job management commands, GUIs, and job submission languages. If sites wish to introduce end users to new advanced Maui features and commands, they can. If not, the users can operate successfully without even knowing Maui is installed on the system.