The concept of resource affinity stems from a number of facts:
Regardless of the reason, Moab servers allow the use of peer resource affinity to guide jobs to the clusters that make the best fit according to a number of criteria.
At a high level, this is accomplished by creating a number of job templates and associating the profiles with different peers with varying impacts on estimated execution time and peer affinity.
A direct way to assign a peer allocation algorithm is with the PARALLOCATIONPOLICY parameter (does not apply to Master/Slave grids). Legal values are listed in the following table:
Value | Description |
---|---|
BestFit | Allocates resources from the eligible peer with the fewest available resources; measured in tasks (minimizes fragmentation of large resource blocks). |
BestPFit | Allocates resources from the eligible peer with the fewest available resources; measured in percent of configured resources (minimizes fragmentation of large resource blocks). |
FirstStart | Allocates resources from the eligible peer that can start the job the soonest. |
FirstCompletion | Allocates resources from the eligible peer that can complete the job the soonest. (Takes into account data staging time and job-specific machine speed.) |
LoadBalance | Allocates resources from the eligible peer with the most available resources; measured in tasks (balances workload distribution across potential peers). |
LoadBalanceP | Allocates resources from the eligible peer with the most available resources; measured in percent of configured resources (balances workload distribution across potential peers). |
RoundRobin | Allocates resources from the eligible peer that has been least recently allocated. |
The mdiag -t -v command can be used to view current calculated partition priority values. |
Per-partition scheduling can be enabled by adding the following lines to moab.cfg:
PERPARTITIONSCHEDULING TRUE JOBMIGRATEPOLICY JUSTINTIME
To use per-partition scheduling, you must configure fairshare trees where particular users have higher priorites on one partition, and other users have higher priorities on a different partition.