...
SGE ima mehanizam za kontrolu prioriteta podnošenja poslova. Kod računanja prioriteta, uzimaju se u obzir dva težinska parametra: weight_urgency
i weight_ticket
količina iskorištenih resursa i količina navedenih resursa.
Jednadžba za računanje prioriteta je:
pri = weight_urgency * nurg + weight_ticket * ntckts =
0.1 * nurg + 1 * ntckts
,
gdje je nurg
je prioritet koji dolazi iz opisa posla, a ntckts
je prioritet na temelju fair-share ticketa.
Što je veći prioritet posla, to će se on prije početi izvršavati.
Prioritet koji se izračunava iz opisa posla (urg
) se računa iz količine traženih resursa tako da se zbroje doprinosi svakog pojedinog resursa:
...
.
Šest je takvih mogućih resursa:
...
gdje je rurg
urgency za dani resurs, assumed_slot_allocation
je traženi broj slotova (broj jezgri), a request
su traženi resursi per-slot. je traženi broj slotova (broj jezgri), a request
su traženi resursi per-slot.
SGE koristi sustsav za fair-share prioritete. Taj sustav određivanja prioriteta se temelji na analizi korištenja resursa u nekom prethodnom razdoblju, te se na temelju toga dodjeljuju ticketi korisnicima, odnosno projektima, a koji se onda raspodjeljuju na njihove poslove. Sustav radi tako da projekti, odnosno korisnici koji su manje koristili resurse dobiju više ticketa, a time i njihovi poslovi imaju veći prioritet. Time se osigurava da svi korisnici približno jednako koriste dostupne resurse. SGE ima na raspolaganju 10 000 000 ticketa koje može distribuirati na projekte, odnosno korisnike.
Halflife opisuje kako brzo SGE "zaboravlja" prošlo korisničko konzumiranje resursa. Opisuje se parametrom halftime, koji definira vremenski interval u kojem bi se akumulirano korištenje resursa smanjilo na polovicu svoje originalne vrijednosti. Parametar halftime je postavljen na vrijednost od 30 dana.
Primjeri
Pokažimo navedeno na jednom primjeru. Naredbom:
...
Code Block |
---|
job-ID prior nurg urg rrcontr wtcontr dlcontr name user state submit/start at deadline queue slots ja-task-ID --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 106560 0.08422 0.84218 47320 47320 0 0 min1 bkovacev qw 04/07/2019 12:26:43 28 |
U ovom slučaju urg urg = 47320
. Naredbom qstat -j <job_id>
se može vidjeti informacije o danom poslu:
...
urg = 100 * 28 * 4 (memory) + 10 * 28 * 29 (scratch) + 1000 * 28 (slots) = 47320.
Naredbom
Code Block |
---|
qstat -u "*" -pri |
mogu se pogledati ukupni prioriteti poslova, a naredbom:
Code Block |
---|
qstat -u "*" -ext |
se mogu pogledati prioriteti poslova koji se temelje na ticketima.