Maui Scheduler

6.1 Fairness Overview

The concept of fairness varies widely from person to person and site to site. To some it implies giving all users equal access to compute resources. However, more complicated concepts incorporating historical resource usage, political issues, and job value are equally valid. While no scheduler can handle all possible definitions of what fair means, Maui provides some flexible tools that help with most common fairness management definitions and needs. Particularly, fairness under Maui may be addressed by any combination of the facilities described in the table below.
Facility Description Example
Throttling Policies Specify limits on exactly what resources can be used at any given instant. USERCFG[john] MAXJOB=3
GROUPCFG[DEFAULT] MAXPROC=64
GROUPCFG[staff] MAXPROC=128

(allow john to only run 3 jobs at a time. Allow the group staff to utilize up to 128 total processors and all other groups to utilize up to 64 processors.)

Job Prioritization Specify what is most important to the scheduler. Using Service based priority factors can allow a site to balance job turnaround time, expansion factor, or other scheduling performance metrics. SERVWEIGHT 1
QUEUETIMEWEIGHT 10

(cause jobs to increase in priority by 10 points for every minute they remain in the queue.)

Fairshare Specify usage targets to limits resource access or adjust priority based on historical resource usage. USERCFG[steve] FSTARGET=25.0+
FSWEIGHT 1
FSUSERWEIGHT 10

(enable priority based fairshare and specify a fairshare target for user steve such that his job's will be favored in an attempt to keep his job's utilizing at least 25.0% of delivered compute cycles.)

Allocation Management Specify long term, credential-based resource usage limits. BANKTYPE QBANK
BANKSERVER server.sys.net

(enable the QBank allocation management system. Within the allocation manager, project or account based allocations may be configured. These allocations may, for example, allow project X to utilize up to 100,000 processor-hours per quarter, provide various QoS sensitive charge rates, share allocation access, etc.)