<html style="direction: ltr;">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<style type="text/css">body p { margin-bottom: 0cm; margin-top: 0pt; } </style>
</head>
<body bidimailui-charset-is-forced="true" style="direction: ltr;"
text="#000000" bgcolor="#FFFFFF">
<p>Wouldn't fairshare with a 90/10 split achieve this?</p>
<p><br>
</p>
<p>This will require accounting is set in your cluster, with the
following parameters:<br>
</p>
<p><br>
</p>
<p>In slurm.conf set</p>
<p>AccountingStorageEnforce=associations # And possibly
'...,limits,qos,safe' as required - so perhaps just use '=all'<br>
</p>
<p>PriorityType=priority/multifactor # Required by other parameters<br>
</p>
<p>PriorityDecayHalfLife=14-0 # Every 14 days (two weeks) reset
usage</p>
<p>PriorityWeightFairshare=1 # With all other weights defaulting to
0, ensures only fairshare influences priority.</p>
<p>TRESBillingWeights="Node=1" # According to docs, "Node" should be
a TRES. I've never tested this.<br>
</p>
<p><br>
</p>
<p>And from cmdline add the fair share split via:<br>
</p>
<p><br>
</p>
<p>sacctmgr create account name=A fairshare=10</p>
<p>sacctmgr create account name=B fairshare=90</p>
<p><br>
</p>
<p>Than simply associate users to each account, and use something
like 'sbatch --account=A ... ' to charge jobs to accounts.</p>
<p><br>
</p>
<p>This won't do exactly what you want - it might allow 'A' to
utilize more than 10%, if the cluster is under utilized.</p>
<p><br>
</p>
<p>I'm not aware of a scheme where 'A' might be preempted only if it
has been awarded more than it's fair share due to
underutilization.</p>
<p>If the 10% hard limit is a concern, it might be worth to
investigate reservations, and allocate to 'A' only from a 10%
reservation, while somehow allowing 'B' to utilize that
reservation too if required.<br>
</p>
<p><br>
</p>
<p><br>
</p>
<div class="moz-cite-prefix">On 30/08/2019 14:14:16, Stefan
Staeglich wrote:<br>
</div>
<blockquote type="cite" cite="mid:10521388.Hci1mvOAch@mladmin">
<pre class="moz-quote-pre" wrap="">Hi,
we have some compute nodes paid by different project owners. 10% are owned by
project A and 90% are owned by project B.
We want to implement the following policy such that every certain time period
(e.g. two weeks):
- Project A doesn't use more than 10% of the cluster in this time period
- But project B is allowed to use more than 90%
What's the best way to enforce this?
Best,
Stefan
</pre>
</blockquote>
<pre class="moz-signature" cols="72">--
HTH,
--Dani_L.
</pre>
</body>
</html>