Fairshare

Kako bi osigurali što pravednije korištenje klastera za sve korisnike, u određivanju prioriteta poslova koristimo fairshare politiku. Svi projekti na klasteru su ravnopravni. Mjera korištenja (faktor potrošnje) računalnog klastera je umnožak broja traženih procesorskih jezgara i vremena koje te jezgre provedu zauzete (ncpus x walltime). Ovakva politika ne uzima u obzir iskorištenost zatraženih jezgri, već gleda da li su one dostupne drugim korisnicima. Na korisniku je da osigura da njegov posao koristi dodijeljene jezgre u što većem postotku.

Upozorenje

PBS koristi termin "prioritet" kao parametar posla i nije istovjetan terminu koji se koristi u ovoj dokumentaciji. Parametar prioritet koji je vidljiv naredbom qstat uvijek je postavljen na 0 i koristi se za druge svrhe, ne određivanje prioriteta na razini klastera. Upravljanje tim parametrom, korisnicima je onemogućeno.


Koristeći faktor potrošnje svih poslova unutar projekta (U_i) dobivamo ukupno korištenje tog projekta (U_p) te iz njega možemo računati udio potrošnje u odnosu na ostatak korisnika (projekata). Valja naglasiti da fairshare sustav na Supeku ne gleda potrošnju pojedinca, već samo projekta kao grupe, te svim članovima grupe prioritet izračunava temeljem istog faktora potrošnje.

U_i=ncpus_i x walltime_i
U_p=sum(U_i)

Fairshare udio projekta (FS_p) računa se kao postotak potrošnje projekta u ukupnoj potrošnji na klasteru (U_ukupno).

FS_p = U_p/U_ukupno

Napomena

PBS ne dozvoljava korisnicima uvid u parametre fairshare-a. Trenutačno radimo na omogućavanju uvida u isti za članove pojedinih projekata.

Poluživot

Uključena je opcija poluživota potrošnje. Svakih 168 sati potrošnja se smanjuje za faktor 0.5 (50 %).

Prioritet

Jednadžba za izračunavanje prioriteta osim fairshare udijela u obzir uzima i druge parametre. U ovom trenu parametri koji se koriste za sortiranje poslova (izračun prioriteta) su broj traženih jezgara (ncpus), fairshare udio (FS_p) te vrijeme provedeno u redu čekanja (Et).
set server job_sort_formula = 10*(ncpus/6656)+1000*(1-fairshare_tree_usage)+(eligible_time/86400)

P_i = 10 x (ncpus_i/6656) + 1000 x (1 - FS_p) + (Et/86400)

Prvi udio u formuli je onaj koji povećava prioritet velikim poslovima, kako bi ih se dodatno istaknulo u odnosu na male poslove. Drugi faktor povećava prioritet poslovima čiji fairshare udio je malen, te je na njega stavljen najveći naglasak. Zadnji faktor povećava prioritet poslovima koji su proveli dugo vremena u redu za čekanje.

Napomena

PBS ne omogućava sortiranje poslova prema prioritetu dobivenom iz formule. Korisnik uvid u taj parametar može dobiti koristeći naredbu tracejob. Parametar se izračunava kod svakog scheduling ciklusa.

Opcije sustava za raspoređivanje poslova

Strict ordering

Opcija strict ordering osigurava da se poslovi višeg prioriteta izvode prvi i tako onemogućuje "provlačenje" poslova manjeg prioriteta, ali i manjih zahtjeva za resursima, ispred poslova koji traže veću količinu resursa i imaju viši prioritet.

Prioriteti reda

Na računalnom klasteru Supek postoji nekoliko kategorija redova, te različite kategorije imaju i različite prioritete.

Kategorije redova su:

  1. Produkcijski redovi - 1
  2. Testni redovi - 2 
  3. Login redovi - 1

Produkcijski redovi nemaju ograničenja na količinu resursa, te imaju veći vremenski limit od testnih redova. Testni redovi osmišljeni su za pripremu poslova za produkciju. O ograničenjima samih redova više možete pročitati na stranici Redovi poslova.
Što se raspoređivanja poslova tiče, razlika je u tome da testni redovi imaju viši prioritet nego produkcijski redovi. To znači da će se kod pokretanja poslova, prvo  popunjavati poslovi koji traže testni red, a zatim poslovi koji traže produkcijske redove. Ova akcija prethodi izračunu prioriteta, pa će tako posao u testnoj okolini krenuti s izvođenjem prije posla u produkcijskom redu nevezano na njegov izračunati prioritet. Restrikcije uvedene na testnu okolinu onemogućavaju zloupotrebu ove opcije.



  • No labels