[slurm-users] Billing issue

Bas van der Vlies bas.vandervlies at surf.nl
Thu Aug 6 08:00:10 UTC 2020

Hi Diego,

 Yes this can be tricky we also use this feature. The billing is  on partition
level. so you can set different

We have nodes with 16 cores and 96GB of ram and this are the cheapest nodes they
cost in our model. 
1 SBU (System Billing Unit). For this node we have the following setting:
 * TRESBillingWeights=CPU=1000.0,Mem=182044.0T

We multiple everything by 1000 to avoid slurm's behaviour of truncating the
result. The node has the following spec: RealMemory=93184 and MemSpecLimit=1024

The memory tresbillingweight is calculates  with this formula:
  * price_per_core * num_cores / memory * 1024 * 1024`. Memory is `RealMemory -

We have also node with GPU's (dfiferent types) and some cost more the others.
The partitions always have the same type of nodes not mixed,eg: 
 * TRESBillingWeights=CPU=3801.0,Mem=502246.0T,GRES/gpu=22807.0,GRES/gpu:titanrt
 * node type: 24 cores 4 GPU's  MemSpecLimit=1024 Memory=191488   
 * the max is 91228 SBU

This are all shared partitions show if an user request more memory then the
default per core then it will be charged for the extra memory.  If user use more
memory per gpu then it will be charged for the extra memory. This memory for a
GPU machine  is  more expensive then a CPU machine.

The one with different tressbillingweight per job type (serial or parallel) can
not be solved with this setting.  It must be solved that defaults for this
partition is always 1/4 of the node even if you request just 1 core.


On Thu, 2020-08-06 at 08:55 +0200, Diego Zuccato wrote:
> Hello all.
> How can I configure Slurm to bill users for the actual "percentage" of a
> node's use?
> I mean that an user requesting one core and all the RAM should be billed
> for the whole node, since the other cores can't be allocated to another job.
> The ideal would be to bill max(ReqCores, ReqMem * MaxMem/TotalCores) .
> To make things harder, on another partition I'd need to bill for a
> minimim of 1/4 of the cores and 1/4 of the RAM (to discourage serial
> jobs in favor of parallel ones), but keeping the same logic above: an
> user requesting 1 core and 2G RAM will be billed 1/4 of the node.
> Is it doable? It's a couple weeks I'm looking at the docs, but I still
> miss something...
> TIA!
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 5827 bytes
Desc: not available
URL: <http://lists.schedmd.com/pipermail/slurm-users/attachments/20200806/6b8a59da/attachment.bin>

More information about the slurm-users mailing list