Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
S
Slurm
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
tud-zih-energy
Slurm
Commits
5b30ffb3
Commit
5b30ffb3
authored
11 years ago
by
Morris Jette
Browse files
Options
Downloads
Patches
Plain Diff
Expand preemption rules
parent
aca3cf83
No related branches found
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
doc/html/preempt.shtml
+34
-1
34 additions, 1 deletion
doc/html/preempt.shtml
with
34 additions
and
1 deletion
doc/html/preempt.shtml
+
34
−
1
View file @
5b30ffb3
...
@@ -174,6 +174,39 @@ pending job and rely upon the gang scheduling logic to perform job suspend
...
@@ -174,6 +174,39 @@ pending job and rely upon the gang scheduling logic to perform job suspend
and resume as described below.
and resume as described below.
</P>
</P>
<P>
<P>
The select plugin is passed an ordered list of preemptable jobs to consider for
each pending job which is a candidate to start.
This list is sorted by either:
</P>
<ol>
<li>QOS priority or</li>
<li>partition priority and job size (to favor preempting smaller jobs</li>
</ol>
<P>
The select plugin will determine if the pending job can start without preempting
any jobs and if so, starts the job using available resources.
Otherwise, the select plugin will simulate the preemption of each job in the
priority ordered list and test if the job can be started after each preemption.
Once the job can be started, the higher priority jobs in the preemption queue
will not be considered, but the jobs to be preempted in the original list may
be sub-optimal.
For example, to start an 8 node job, the ordered preemption candidates may be
2 node, 4 node and 8 node.
Preempting all three jobs would allow the pending job to start, but by reording
the preemption candidates it is possible to start the pending job after
preempting only one job.
To address this issue, the preemption candidates are re-ordered with the final
job requiring preemption placed first in the list and all of the other jobs
to be preempted ordered by the number of nodes in their allocation which overlap
the resources selected for the pending job.
In the example above, the 8 node job would be moved to the first position in
the list.
The process of simulating the preemption of each job in the priority ordered
list will then be repeated for the final decision of which jobs to preempt.
This two stage process may preempt jobs which are not strictly in preemption
priority order, but fewer jobs will be preempted than otherwise required.
</P>
<P>
When enabled, the gang scheduling logic (which is also supports job
When enabled, the gang scheduling logic (which is also supports job
preemption) keeps track of the resources allocated to all jobs.
preemption) keeps track of the resources allocated to all jobs.
For each partition an "active bitmap" is maintained that tracks all
For each partition an "active bitmap" is maintained that tracks all
...
@@ -374,6 +407,6 @@ order to support ideal placements such as this, which can quickly complicate
...
@@ -374,6 +407,6 @@ order to support ideal placements such as this, which can quickly complicate
the design. Any and all help is welcome here!
the design. Any and all help is welcome here!
</P>
</P>
<p style="text-align:center;">Last modified
24 February
2014</p>
<p style="text-align:center;">Last modified
3 March
2014</p>
<!--#include virtual="footer.txt"-->
<!--#include virtual="footer.txt"-->
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment