Priority úloh¶
Požiadavky na HPC zdroje zvyčajne prevyšujú ich dostupnosť, preto je potrebné určiť poradie, v akom sa úlohy môžu spustiť. V predvolenom nastavení plánovač prideľuje zdroje podľa jednoduchého prístupu FIFO. Keď je cluster obsadený, odoslané úlohy čakajú vo fronte na vykonanie. Čakajúce úlohy sa zoradia podľa priority (čím je číslo vyššie, tým skôr sa úloha spustí).
Faktory priority¶
Priority úloh sa vypočítavajú nasledovne:
-
FairShare: Faktor fairshare s hodnotou od 0 do 1 predstavuje podiel zdrojov využitých projektom v posledných 14 dňoch. Čím viac zdrojov úlohy projektu využili v posledných 14 dňoch, tým nižšia je priorita nových úloh pre daný projekt.
-
JobAge: Priorita úlohy rastie s dĺžkou jej čakania vo fronte. JobAge zodpovedá času v sekundách, počas ktorého úloha čaká vo fronte (v tomto clustri s hornou hranicou 86 400 sekúnd).
-
Fronta: Faktor priradený úlohe podľa výberu fronty. Ďalšie informácie sú uvedené v Devana fronty a Perun fronty.
-
QoS: Faktor kvality služby slúži na priorizáciu úloh odoslaných z aktívnych projektov a zároveň zaručuje, že projekty, ktoré presiahli svoje trvanie, v plnej miere využijú pridelené účtovacie hodiny. Faktor QoS nadobúda hodnotu 1,0 pre aktívne projekty a 0,0 pre projekty, ktoré presiahli svoje trvanie.
Backfill
SLURM v clustroch HPC SAV používa backfill plánovací plugin, ktorý umožňuje spúšťať úlohy s nižšou prioritou, ak sa dokončia skôr, než bude ich zdroje potrebovať úloha s vyššou prioritou. Preto je dôležité presne špecifikovať požiadavky na CPU, pamäť a walltime, aby bolo možné backfill efektívne využívať.
Nasledujúci príkaz možno použiť na zobrazenie odhadovaného času spustenia úlohy:
squeue --start -j <jobid>
FairShare¶
Faktor FairShare (0–1) znižuje prioritu účtov, ktoré spotrebovali viac zdrojov v posledných 14 dňoch. Čím viac CPU/GPU hodín projekt nedávno využil, tým nižšia je plánovacia priorita jeho nových úloh.
Hodnota FairShare sa vypočíta takto:
-
EffectiveUsage: Akumulované využitie z posledných 14 dní s časovým útlmom, normalizované naprieč hierarchiou účtov SLURM.
-
NormalizedShares: Podiel účtu na celkových podieloch clusteru. V tejto konfigurácii sú RawShares priradené úmerne počtu používateľov v každom projekte, preto:
Projekty s väčším počtom používateľov získajú úmerne vyššie podiely, čo pri náraste ich nedávneho využitia znamená miernejší trest z FairShare. Naopak, projekty s malým počtom používateľov majú nižšie podiely, a preto ich pri rovnakej úrovni využitia postihne silnejší pokles priority.
Správa priorít¶
Na zobrazenie priorít odoslaných úloh je možné použiť najmä príkazy
sprio a sshare. Príkaz
sprio
zobrazuje priority a ich zložky čakajúcich úloh. Príkaz
sshare
je možné použiť na určenie faktora fairshare, ktorý sa používa pri
výpočte priority úlohy.
sprio – informácie o prioritách plánovania úloh¶
sprio zobrazuje priority a ich zložky čakajúcich úloh.
Triedenie všetkých čakajúcich úloh podľa ich priority
sprio -S -y
JOBID PARTITION PRIORITY SITE AGE FAIRSHARE PARTITION QoS
674582 short 1442165 0 439 96126 345600 1000000
674520 medium 1427035 0 1724 252511 172800 1000000
674521 medium 1427033 0 1722 252511 172800 1000000
674522 medium 1427031 0 1720 252511 172800 1000000
674502 long 1026834 0 2444 24390 0 1000000
674528 long 512442 0 1682 510760 0 0
Nullová hodnota QoS pri úlohe 674528 naznačuje, že bola odoslaná v rámci projektu, ktorý presiahol svoje trvanie.
Viac informácií je uvedených na
stránke dokumentácie SLURM
alebo pomocou príkazu sprio --help.
sshare – zoznam podielov asociácií¶
Tento príkaz zobrazuje informácie o fairshare založené na hierarchickej štruktúre účtov. V tomto prípade sa používa na určenie faktora fairshare, ktorý sa uplatňuje pri výpočte priority úlohy. Keďže hodnota faktora fairshare závisí aj od účtu (projektu používateľa), je potrebné definovať aj tento účet.
V tomto prípade má používateľ user1 prístup k projektu s názvom
p70-23-t. Faktor fairshare (zobrazený v poslednom stĺpci) je možné
zobraziť nasledovne:
Zobrazenie fairshare používateľa
sshare -A p70-23-t
Account User RawShares NormShares RawUsage EffectvUsage FairShare
-------------------- ---------- ---------- ----------- ----------- ------------- ----------
p70-23-t 1 0.333333 122541631 0.364839
p70-23-t user1 1 0.111111 4798585 0.039159 0.263158
Všetky projekty, ku ktorým má používateľ prístup, je možné vypísať pomocou príkazu sprojects.
Viac informácií je uvedených v
dokumentácii SLURM
alebo pomocou príkazu sshare --help.