Hey all,

At our institution we need to allocate service units which roughly translate to 
CPU hours. I would like to be able to charge users for cpu hours and a fraction 
of their memory usage.

A few configuration definitions:

DefMemPerCPU=21517 # in MB 
TRESBillingWeights=CPU=1.0,Mem=0.25G # for the partition

Then I submitted a job which ran:

srun $SLURM_SUBMIT_DIR/stress-1.0.4/src/stress --cpu 1 --timeout 1h

The job should run for exactly 1 hour on 1 cpu using the default memory per 
cpu. I then looked at the sreport entry for the job:

sreport cluster utilization --tres="cpu,mem" Start=2016-10-19T14:00:00 
End=2016-10-19T16:00:00 -t hours
--------------------------------------------------------------------------------
Cluster Utilization 2016-10-19T14:00:00 - 2016-10-19T14:59:59
Use reported in TRES Hours
--------------------------------------------------------------------------------
  Cluster      TRES Name Allocate      Down PLND Dow      Idle Reserved   
Reported
--------- -------------- -------- --------- -------- --------- -------- 
----------
  cluster            cpu        1        12        0        11        0         
24
  cluster            mem    20973    258215        0    237242        0     
516430

I see the 1 cpu hour, but I don’t understand the mem output. Shouldn’t  the 
“Allocate” give DefMemPerCPU*0.25? The “Reported” time looks correct (12 cores 
on the machine, sreport gathered for a 2 hour windows, therefore 12 CPUs * 
DefMemPerCPU * 2 hrs).

Thanks,

Barry





Reply via email to