(Click to open topic with navigation)
However, as all jobs are not created equal, optimization must be abstracted slightly further to incorporate this fact. Cluster optimization must also focus on targeted cycle delivery. In the scientific HPC community, the true goal of a cluster is to maximize delivered research. For businesses and other organizations, the purposes may be slightly different, but all organizations agree on the simple tenet that the cluster should optimize the site's mission goals.
To obtain this goal, the scheduler has several levels of optimization it performs:
Level | Description |
---|---|
Workload Ordering | Prioritizing workload and utilizing backfill |
Intelligent Resource Allocation | Selecting those resources that best meet the job's needs or best enable future jobs to run (see node allocation) |
Maximizing Intra-Job Efficiency | Selecting the type of nodes, collection of nodes, and proximity of nodes required to maximize job performance by minimizing both job compute and inter-process communication time (see node sets and node allocation) |
Job Preemption | Preempting jobs to allow the most important jobs to receive the best response time (see preemption) |
Utilizing Flexible Policies | Using policies that minimize blocking and resource fragmentation while enforcing needed constraints (see soft throttling policies and reservations) |