Commit 96d3a415 authored by Matthieu Hautreux's avatar Matthieu Hautreux Committed by Morris Jette
Browse files

[PATCH 3/9] powercapping: initial generic power capping logic and add INFINITE power cap support

modify select_nodes() logic in order to compute the amount of power
requested by the system if the returned list of nodes are really used to
run the job. If this value is greater than the current power cap, then
return ESLURM_POWER_NOT_AVAIL, a new error code equivalent to
ESLURM_NODES_BUSY for the scheduling logic.

When the backfilling is active, this error code will prevent the main
schedule() function of slurm to attempt scheduling other jobs on the
same resources/partition and will leave the job to the backfill logic
(as it is the case with ESLURM_NODES_BUSY).

Note that no eligible start time is currently computed for jobs blocked
because of ESLURM_POWER_NOT_AVAIL, thus the backfilling logic will only
act as a FIFO concerning the power resource. Thus a job with a lower
priority could steal resources to run if the available power is
sufficient for it, creating starvation of large power rejected jobs.
This should be modified in the future.

Based upon the layouts power framework.

(Adapted for layouts and 15.08 by Yiannis Georgiou <yiannis.georgiou@bull.net>)
parent d9defbdd
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment