[slurm-users] GrpTRESMins and GrpTRESRaw usage

Miguel Oliveira miguel.oliveira at uc.pt
Thu Jun 30 19:33:46 UTC 2022


Hi Gérard,

Let see if I understood this right. You have a user on the account dci and you have put GrpTRESMins limit on this (cpu=4100).
From the output it looks like that is associated to the QoS toto.
However the limit put on the association and not on the QoS:

> GrpTRESMins=cpu=N(4227)

You need to remove the limit from the association and put it on the QoS.

Hope that helps,

MAO


> On 30 Jun 2022, at 19:12, gerard.gil at cines.fr wrote:
> 
> Hi Miguel,
> 
> I finally found the time to test the QOS NoDecay configuration vs GrpTRESMins account limit.
> 
> Here is my benchmark :
> 
> 
> 1) Initialize the benchmark configuration
>    - reset all RawUsage (on QOS and account)
>    - set a limit on Account GrpTRESMins
>    - run several jobs with a controlled ellaps cpu time on a QOS.
>    - reset account RawUsage 
>    - set a limit on Account GrpTRESMins under the QOS RawUsage
> 
> Here is the inital state before running the benchmark
> 
> toto at login1:~/TEST$ sshare -A dci -u " " -o account,user,GrpTRESRaw%80,GrpTRESMins,rawusage
>              Account       User                                                                       GrpTRESRaw                    GrpTRESMins    RawUsage 
> -------------------- ----------                            ----------------------------------------------------- ------------------------------ ----------- 
> dci                                               cpu=0,mem=0,energy=0,node=0,billing=0,fs/disk=0,vmem=0,pages=0                       cpu=4100           0
> 
> 
> 
> Account            RawUsage = 0 
> GrpTRESMins    cpu=4100
> 
> 
> 
> toto at login1:~/TEST$ scontrol -o show assoc_mgr | grep "^QOS" | grep support
> QOS=support(8) UsageRaw=253632.000000 GrpJobs=N(0) GrpJobsAccrue=N(0) GrpSubmitJobs=N(0) GrpWall=N(132.10) GrpTRES=cpu=N(0),mem=N(0),energy=N(0),node=2106(0),billing=N(0),fs/disk=N(0),vmem=N(0),pages=N(0) GrpTRESMins=cpu=N(4227),mem=N(7926000),energy=N(0),node=N(132),billing=N(4227),fs/disk=N(0),vmem=N(0),pages=N(0) GrpTRESRunMins=cpu=N(0),mem=N(0),energy=N(0),node=N(0),billing=N(0),fs/disk=N(0),vmem=N(0),pages=N(0) MaxWallPJ=1440 MaxTRESPJ=node=700 MaxTRESPN= MaxTRESMinsPJ= MinPrioThresh=  MinTRESPJ= PreemptMode=OFF Priority=10 Account Limits= dci={MaxJobsPA=N(0) MaxJobsAccruePA=N(0) MaxSubmitJobsPA=N(0) MaxTRESPA=cpu=N(0),mem=N(0),energy=N(0),node=N(0),billing=N(0),fs/disk=N(0),vmem=N(0),pages=N(0)} User Limits= 1145={MaxJobsPU=N(0) MaxJobsAccruePU=N(0) MaxSubmitJobsPU=N(0) MaxTRESPU=cpu=N(0),mem=N(0),energy=N(0),node=2106(0),billing=N(0),fs/disk=N(0),vmem=N(0),pages=N(0)}
> 
> QOS support RawUsage = 253632 s or 4227 mn
> 
> 
> QOS support RawUsage  > GrpTRESMins      SLURM should prevent to start a job for this account if it works as expected.
> 
> 
> 
> 2) Run the benchmark to control limit GrpTRESMins efficiency over QOS rawusage 
> 
> 
> toto at login1:~/TEST$ sbatch TRESMIN.slurm 
> Submitted batch job 3687
> 
> 
> toto at login1:~/TEST$ squeue
>              JOBIDADMIN_COMMMIN_MEMOR         SUBMIT_TIME  PRIORITY PARTITION       QOS        USER      STATE  TIME_LIMIT      TIME NODES         REASON            START_TIME
>               3687     BDW28   60000M 2022-06-30T19:36:42   1100000     bdw28   support       toto    RUNNING        5:00      0:02     1           None   2022-06-30T19:36:42
> 
> 
> The job is running unless GrpTRESMins is under QOS support RawUsage .
> 
> 
> 
> Is there anything wrong with my control process that invalidates the result ?
> 
> 
> Thanks
> 
> Gérard 
> 
>  <http://www.cines.fr/>
> 
> De: "gerard gil" <gerard.gil at cines.fr>
> À: "Slurm-users" <slurm-users at lists.schedmd.com>
> Envoyé: Mercredi 29 Juin 2022 19:13:56
> Objet: Re: [slurm-users] GrpTRESMins and GrpTRESRaw usage
> Hi Miguel,
> 
> >If I understood you correctly your goal was to limit the number of minutes each project can run. By associating each project to a slurm account with a nodecay QoS then you will have achieved your goal.
> 
> Here is what I what to do :
> 
> "All jobs submitted to an account regardless the QOS they use have to be constrained to a number of minutes set by the limit associated with that account (and not to QOS)." 
> 
> 
> >Try a project with a very small limit and you will see that it won’t run
> 
> I already tested GrpTRESmins limit and confirms it works as expected.
> Then I saw the decay effect on GrpTRESRaw (what I thought first as the right metric to look at) and try to find out a way to fix it.
> 
> It's really very import for me to trust it, so I need a deterministic test to prove it.
> 
> I'm testing this GrpTRESMins limit with NoDecay set on QOS resetting all RawUsage (Account and QOS) to be sure it works as I expect. 
> I print the account GrpTRESRaw (in mn) at the end of my tests job to set a new limits with GrpTRESMins and see how it behaves.
> 
> I'll get inform on the results. I hope it works. 
> 
> 
> > You don’t have to add anything.
> >Each QoS will accumulate its respective usage, i.e, the usage of all users on that account. Users can even be on different accounts (projects) and charge the respective project with the parameter --account on sbatch.
> 
> If SLURM does it for to manage limit I would also like to obtain the current RawUsage for an account.
> Do you know how to get it ?
> 
> 
> 
> >The GrpTRESMins is always changed on the QoS with a command like:
> >
> >sacctmgr update qos where qos=... set GrpTRESMin=cpu=….
> 
> That's right if you want to set a limit to a QOS.
> But I dont know/think the same limit value will also apply to all other QOS, and if I apply the same limit to all QOS.
> Is my account limit the sum of all the QOS limit ?
> 
> 
> Actualy I'm setting the limit to the Account using command:
> 
> sacctmgr modify account myaccount set grptresmins=cpu=60000 qos=...
> 
> With this setting I saw the limit is set to the account and not to the QOS. 
> sacctmgr show QOS     command shows an empty field for GrpTRESMins on all QOS
> 
> 
> Thanks again form your help.
> I hope I'm close to get the answer to my issue.
> 
> Best,
> Gérard 
>  <http://www.cines.fr/>
> 
> De: "Miguel Oliveira" <miguel.oliveira at uc.pt>
> À: "Slurm-users" <slurm-users at lists.schedmd.com>
> Envoyé: Mercredi 29 Juin 2022 01:28:58
> Objet: Re: [slurm-users] GrpTRESMins and GrpTRESRaw usage
> Hi Gérard,
> 
> If I understood you correctly your goal was to limit the number of minutes each project can run. By associating each project to a slurm account with a nodecay QoS then you will have achieved your goal.
> Try a project with a very small limit and you will see that it won’t run.
> 
> You don’t have to add anything. Each QoS will accumulate its respective usage, i.e, the usage of all users on that account. Users can even be on different accounts (projects) and charge the respective project with the parameter --account on sbatch.
> The GrpTRESMins is always changed on the QoS with a command like:
> 
> sacctmgr update qos where qos=... set GrpTRESMin=cpu=….
> 
> Hope that makes sense!
> 
> Best,
> 
> MAO
> 
> On 28 Jun 2022, at 18:30, gerard.gil at cines.fr <mailto:gerard.gil at cines.fr> wrote:
> 
> Hi Miguel,
> 
> OK, I did'nt know this command.
> 
> I'm not sure to understand how it works regarding to my goal.
> I use the following command inspired by the command you gave me and I obtain a UsageRaw for each QOS. 
> 
> scontrol -o show assoc_mgr -accounts=myaccount Users=" "
> 
> 
> Do I have to sumup all QOS RawUsage to obtain the RawUsage of myaccount with NoDecay ?
> If I set GrpTRESMins for an Account and not for a QOS, does SLURM handle to sumpup these QOS RawUsage to control if the GrpTRESMins account limit is reach ?
> 
> Thanks again for your precious help.
> 
> Gérard 
>  <http://www.cines.fr/>
> 
> De: "Miguel Oliveira" <miguel.oliveira at uc.pt <mailto:miguel.oliveira at uc.pt>>
> À: "Slurm-users" <slurm-users at lists.schedmd.com <mailto:slurm-users at lists.schedmd.com>>
> Envoyé: Mardi 28 Juin 2022 17:23:18
> Objet: Re: [slurm-users] GrpTRESMins and GrpTRESRaw usage
> Hi Gérard,
> 
> The way you are checking is against the association and as such it ought to be decreasing in order to be used by fair share appropriately.
> The counter used that does not decrease is on the QoS, not the association. You can check that with:
> 
> scontrol -o show assoc_mgr | grep "^QOS='+account+’”
> 
> That ought to give you two numbers. The first is the limit, or N for not limit, and the second in parenthesis the usage.
> 
> Hope that helps.
> 
> Best,
> 
> Miguel Afonso Oliveira
> 
> On 28 Jun 2022, at 08:58, gerard.gil at cines.fr <mailto:gerard.gil at cines.fr> wrote:
> 
> Hi Miguel,
> 
> 
> I modified my test configuration to evaluate the effect of NoDecay.
> 
> 
> 
> 
> I modified all QOS adding NoDecay Flag.
> 
> 
> toto at login1:~/TEST$ sacctmgr show QOS
>       Name   Priority  GraceTime    Preempt   PreemptExemptTime PreemptMode                                    Flags UsageThres UsageFactor       GrpTRES   GrpTRESMins GrpTRESRunMin GrpJobs GrpSubmit     GrpWall       MaxTRES MaxTRESPerNode   MaxTRESMins     MaxWall     MaxTRESPU MaxJobsPU MaxSubmitPU     MaxTRESPA MaxJobsPA MaxSubmitPA       MinTRES 
> ---------- ---------- ---------- ---------- ------------------- ----------- ---------------------------------------- ---------- ----------- ------------- ------------- ------------- ------- --------- ----------- ------------- -------------- ------------- ----------- ------------- --------- ----------- ------------- --------- ----------- ------------- 
>     normal          0   00:00:00                                    cluster                                  NoDecay               1.000000                                                                                                                                                                                                                      
> interactif         10   00:00:00                                    cluster                                  NoDecay               1.000000       node=50                                                                 node=22                               1-00:00:00       node=50                                                                         
>      petit          4   00:00:00                                    cluster                                  NoDecay               1.000000     node=1500                                                                 node=22                               1-00:00:00      node=300                                                                         
>       gros          6   00:00:00                                    cluster                                  NoDecay               1.000000     node=2106                                                                node=700                               1-00:00:00      node=700                                                                         
>      court          8   00:00:00                                    cluster                                  NoDecay               1.000000     node=1100                                                                node=100                                 02:00:00      node=300                                                                         
>       long          4   00:00:00                                    cluster                                  NoDecay               1.000000      node=500                                                                node=200                               5-00:00:00      node=200                                                                         
>    special         10   00:00:00                                    cluster                                  NoDecay               1.000000     node=2106                                                               node=2106                               5-00:00:00     node=2106                                                                         
>    support         10   00:00:00                                    cluster                                  NoDecay               1.000000     node=2106                                                                node=700                               1-00:00:00     node=2106                                                                         
>       visu         10   00:00:00                                    cluster                                  NoDecay               1.000000        node=4                                                                node=700                                 06:00:00        node=4                       
> 
> 
> 
> I submitted a bunch of jobs to control the NoDecay efficiency and I noticed RawUsage as well as GrpTRESRaw cpu is still decreasing.
> 
> 
> toto at login1:~/TEST$ sshare -A dci -u " " -o account,user,GrpTRESRaw%80,GrpTRESMins,RawUsage
>              Account       User                                                                       GrpTRESRaw                    GrpTRESMins    RawUsage
> -------------------- ----------                            ----------------------------------------------------- ------------------------------ -----------
> dci                                cpu=6932,mem=12998963,energy=0,node=216,billing=6932,fs/disk=0,vmem=0,pages=0                      cpu=17150      415966
> toto at login1:~/TEST$ sshare -A dci -u " " -o account,user,GrpTRESRaw%80,GrpTRESMins,RawUsage
>              Account       User                                                                       GrpTRESRaw                    GrpTRESMins    RawUsage
> -------------------- ----------                            ----------------------------------------------------- ------------------------------ -----------
> dci                                cpu=6931,mem=12995835,energy=0,node=216,billing=6931,fs/disk=0,vmem=0,pages=0                      cpu=17150      415866
> toto at login1:~/TEST$ sshare -A dci -u " " -o account,user,GrpTRESRaw%80,GrpTRESMins,RawUsage
>              Account       User                                                                       GrpTRESRaw                    GrpTRESMins    RawUsage 
> -------------------- ----------                            ----------------------------------------------------- ------------------------------ ----------- 
> dci                                cpu=6929,mem=12992708,energy=0,node=216,billing=6929,fs/disk=0,vmem=0,pages=0                      cpu=17150      415766 
> 
> 
> Something I forgot to do ?
> 
> 
> Best,
> Gérard
> 
> Cordialement,
> Gérard Gil
> 
> Département Calcul Intensif
> Centre Informatique National de l'Enseignement Superieur
> 950, rue de Saint Priest
> 34097 Montpellier CEDEX 5
> FRANCE
> 
> tel :  (334) 67 14 14 14
> fax : (334) 67 52 37 63
> web : http://www.cines.fr <http://www.cines.fr/>
> 
> De: "Gérard Gil" <gerard.gil at cines.fr <mailto:gerard.gil at cines.fr>>
> À: "Slurm-users" <slurm-users at lists.schedmd.com <mailto:slurm-users at lists.schedmd.com>>
> Cc: "slurm-users" <slurm-users at schedmd.com <mailto:slurm-users at schedmd.com>>
> Envoyé: Vendredi 24 Juin 2022 14:52:12
> Objet: Re: [slurm-users] GrpTRESMins and GrpTRESRaw usage
> Hi Miguel,
>  
>  Good !!
>  
>  I'll try this options on all existing QOS and see if everything works as
>  expected.
>  I'll inform you on the results.
>  
>  
>  Thanks a lot
>  
>  Best,
>  Gérard
>  
>  
>  ----- Mail original -----
> De: "Miguel Oliveira" <miguel.oliveira at uc.pt <mailto:miguel.oliveira at uc.pt>>
>  À: "Slurm-users" <slurm-users at lists.schedmd.com <mailto:slurm-users at lists.schedmd.com>>
>  Cc: "slurm-users" <slurm-users at schedmd.com <mailto:slurm-users at schedmd.com>>
>  Envoyé: Vendredi 24 Juin 2022 14:07:16
>  Objet: Re: [slurm-users] GrpTRESMins and GrpTRESRaw usage
> 
>  
> Hi Gérard,
>  
>  I believe so. All our accounts correspond to one project and all have an
>  associated QoS with NoDecay and DenyOnLimit. This is enough to restrict usage
>  on each individual project.
>  You only need these flags on the QoS. The association will carry on as usual and
>  fairshare will not be impacted.
>  
>  Hope that helps,
>  
>  Miguel Oliveira
>  
> On 24 Jun 2022, at 12:56, gerard.gil at cines.fr <mailto:gerard.gil at cines.fr> wrote:
>  
>  Hi Miguel,
>  
> Why not? You can have multiple QoSs and you have other techniques to change
>  priorities according to your policies.
> 
>  
>  Is this answer my question ?
>  
>  "If all configured QOS use NoDecay, we can take advantage of the FairShare
>  priority with Decay and  all jobs GrpTRESRaw with NoDecay ?"
>  
>  Thanks
>  
>  Best,
> 
>  > > Gérard
> 
> 
> 
> 
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.schedmd.com/pipermail/slurm-users/attachments/20220630/5454e6e6/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4243 bytes
Desc: not available
URL: <http://lists.schedmd.com/pipermail/slurm-users/attachments/20220630/5454e6e6/attachment-0001.bin>


More information about the slurm-users mailing list