Hi all,
As I mentioned before, I am new to SLURM, and, as such, I would like to confirm if I understood correctly the configuration of hard time limits on total CPU time allocated to a given user/account.
From the SLURM documentation, and some posts in the slurm-devel mailing list, to enforce time limits I need to configure AccountingStorageEnforce=limits (or AccountingStorageEnforce=safe, to avoid jobs to be started if the requested wall time exceeds the remaining time allocated to the account), and then set in the user/account GrpTRESMins=CPU="the total CPU time allowed for the user/account".
For the scheduling priority, I have defined PriorityType=priority/multifactor, with PriorityDecayHalfLife=14-0 and PriorityUsageResetPeriod=NONE. However, if I understood correctly (from the slurm.conf documentation, the sacctmgr man page, and some posts in the slurm-devel mailing list), if the PriorityDecayHalfLife=14-0, then after 14 days, half of the CPU time consumed by the user/account will be refunded to the account. Is this correct?
Also from what I have read, I understood that to accomplish the goal of setting hard limits on CPU time utilization, it is necessary to set PriorityDecayHalfLife=0, and then set PriorityUsageResetPeriod to one of the allowed values. Is this correct? If so, and in what concerns the priority for scheduling new jobs, in this case the CPU time consumed in the past will be simply reseted instead of being decayed to half of its value, meaning that higher changes in job priority will occur for the given user/account, compared to those that would happen if PriorityDecayHalfLife was different from zero. For example, if PriorityUsageResetPeriod is set to MONTHLY, and a given user/account has used the resources intensively during a given month (lets say between the 10 and 30 May), then in the first day of the next month (June 01), the intensive use in the previous month will not be taken into account when prioritizing jobs. Is this correct?
Thanks in advance, Miguel
