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.) |