Upload
bozapub
View
217
Download
0
Embed Size (px)
DESCRIPTION
Predavanje5 OS
Citation preview
Praktikum iz operativnihsistema
Lekcija 5: Rasporeivanje periodinih poslova
zima 2013/2014
Prof. dr Branimir Trenki
Uvod
Real-time aplikacija: Vie istovremenih periodinih poslova sa
individualnim vremenskim zahtevima Operativni sistem: Mora garantovati za svaku instancu ovih poslova
da e biti regularno aktivirana (odgovarajuim intezitetom)
da e izvrenje biti kompletirano unutar njenog deadline-a
Definicije
skup periodinih poslovaproizvoljni periodini posaoj-ta instanca (job) posla trenutak aktiviranje j-te instance posla faza posla : ( = ri,1);relativni deadline posla
Definicijedi,j apsolutni deadline j-te instance posla ti;
si,j poetak izvravanja j-te instance posla ; to jetrenutak kada instanca poinje izvravanje
fi,j vreme zavretka izvravanja j-te instance posla
HipotezeA1. Instance periodinog posla se regularno
aktiviraju konstantnim intezitetom. Interval Tiizmeu dve susedne aktivacije se nazivaperiodom posla
A2. Sve instance periodinog posla imaju isto vreme izvravanja u najgorem sluaju Ci
A3. Sve instance periodinog posla imaju isti relativni deadline Di, koji je jednak periodi Ti
A4. Svi poslovi u su nezavisni
Definicije Ako predpostavimo da hipoteze A1, A2, A3, i A4
vae
Periodini posao je potpuno odreen sa tri parametra:
vreme aktiviranja i apsolutni deadline k-te instance:
Definicije
Drugi parametri: Vreme odziva. To je vreme (mereno od
vremena aktiviranja) za koje je instanca kompletirana: Ri,k = fi,k ri,k
Kritina taka. To je trenutak u kome e aktiviranje instance proizvesti najdue vreme odziva
Kritina vremenska zona. To je intervalizmeu kritine take i trenutka kompletiranjana odgovarajui zahtev
Definicije
Relativni Jitter aktivacije. Maksimalna devijacija startnih vremena dve susedne instance:
RRJi = maxk |(si,k ri,k) (si,k-1 ri,k-1)| Apsolutni Jitter aktivacije. Maksimalna
devijacija startnih vremena bilo koje dve instance:ARJi = maxk (si,k ri,k) mink (si,k ri,k)
Relativni Jitter zavretka. Maksimalna devijacija vremena zavretka dve susedne instance:
RFJi = maxk |(fi,k ri,k) (fi,k-1 ri,k-1)|
Definicije
Apsolutni Jitter zavretka. Maksimalna devijacija vremena zavretka bilo koje dve instance:
AFJi = maxk (fi,k ri,k) mink (fi,k ri,k) Relativni Jitter izvrenja. Maksimalna devijacija
intervala izvrenja dve susedne instance:REJi = maxk |(fi,k si,k) (fi,k-1 si,k-1)|
Apsolutni Jitter izvrenja. Maksimalna devijacija intervala izvrenja bilo koje dve instance:
AEJi = maxk (fi,k si,k) mink (fi,k si,k)
Izvodljivost Periodini posao je izvodljiv
sve njegove instance se izvre pre njihovih deadline-ova
Za skup poslova se kae da je izvodljiv ili rasporedljiv
svi poslovi iz su izvodljivi
Iskorienost procesora
Za dati skup , n periodinih poslova, faktor iskorienosti procesora U je deo procesorskog vremena potroenog na izvrenje poslova iz skupa
Ci/Ti je deo procesorskog vremena potroenog na izvrenje posla
Iskorienost procesora
U mera optereenja CPU izazvanog izvravanjem skupa periodinih poslova
Poboljanje iskorienosti: poveanjem vremena izvrenja poslova smanjenjem njihovih perioda
Postoji maksimalna vrednost U ispod koje je rasporedljiv iznad koje nije rasporedljiv
Iskorienost procesora
Ta maksimalna vrednost zavisi od: skupa poslova (meusovne relacije izmeu perioda
poslova u skupu) algoritma koji se koristi za rasporeivanje
gornja granica vrednosti procesorske iskorienosti za skup poslova i algoritmam A
Kada je U = skup potpuno koristiprocesor
Dat algoritam A, Ulub(A) najnia gornja granica
Iskorienost procesora
Test rasporedljivosti
Ulub(A) definie vanu karakteristiku algoritma rasporeivanja, jer omoguuje jednostavnuproveru rasporedljivosti nekog skupa poslova
Ako je faktor iskorienosti nekog skupa poslovavei od jedan skup poslova ne moe biti rasporedljiv za bilo koji algoritam
Ciklino rasporeivanje
Timeline Scheduling (TS) Najee korieni pristup u rasporeivanju
periodinih poslova u vojnim sistemima, navigacionim sistemima, sistemima za monitorisanje
Primeri: Sistemi za kontrolu avio-saobraaja Space Shuttle Boeing 777
Ciklino rasporeivanje
Metod: Vremenska osa je podeljena na intervale
jednakih duina (time slice). Po off-line principu svakom intervalu se
dodeljuje jedan ili vie poslova na izvrenje Dodeljivanje mora biti saglasno aplikacionim
zahtevima Tajmer sinhronizuje aktivaciju poslova na
poetku time slice-a
Primer
++
msCCmsCC
CA
BA
2525Garancija izvodljivosti:
Sporedni ciklus
Glavni ciklus
Realizacija
Ciklino rasporeivanje
Prednosti:
Jednostavna realizacija (ne zahteva se real-time operativni sistem)
Dodatno procesorsko optereenje prouzrokovano izvravanjem algoritma je veoma malo
Omoguuje kontrolu jitter-a
Ciklino rasporeivanje
Nedostaci:
Tipini za off-line tehnike raspereivanja Nije robustan u toku preoptereenja Komplikovan postupak proirenja rasporeda Nije jednostavno upravljanje aperiodinim
poslovima
Problem preoptereenja
ta raditi u sluaju da posao nije kompletiran na granici sporednog (minor) ciklusa (overrun)?1.Pustiti da se izvravanje nastavi
moe se dogoditi domino efekat na sve ostale poslove (timeline break)
2.Prekid (abort) izvrenja posla sistem moe ostati u nekonsistentnom stanju,
izlaui opasnosti njegovo korektno ponaanje
Proirljivost
Ako je potreban upgrade jednog ili vie poslova, potrebno je ponovo uraditi re-dizajn itavog rasporeda
Primer: izvren je upgrade posla B
Proirljivost Mora se podeliti posao B na dva podposla (B1, B2)
i ponovo napraviti raspored:
++
+
CBA
BA
CCCCC
2
1Garancija izvodljivosti:
Proirljivost Promena frekvencije nekog posla je veoma
znaajna za rasporeivanje
pre posle
Primer
Deliti procedure A, B i C saglasno novom time-slice!
Prioritetno rasporeivanje
Metod: Svakom poslu se dodeljuje prioritet saglasno
vremenskim zahtevima (timing-u posla) Izvodljivost rasporeda se verifikuje analitikim
tehnikama Poslovi se izvravaju na kernelu koji se bazira na
prioritetima U biti prekidajui (preemptive) algoritmi
Algoritam monotonog inteziteta Rate Monotonic, RM Svakom poslu se dodeljuje fiksni prioritet,
saglasno njegovom intezitetu [Lui & Layland 73].
Verifikacija izvodljivosti Svaki posao koristi procesor deo ukupnog
vremena:Ui = Ci/Ti
Odatle je ukupna iskorienost procesora:
Up je mera optereanja procesora
Potreban uslov Ako je Up > 1 procesor je preoptereen skup
poslova ne moe biti rasporedljiv
Meutim, postoje sluajevi u kojima je Up < 1, ali skup poslova nije rasporedljiv sa RM-om
Neizvodljivi RM
Gornja granica iskorienosti
Napomena: Ako se C1 ili C2 povea, e prekoraiti svoj deadline!
Razliite gornje granice
Gornja granica Uub zavisi od prirode skupa poslova
Najnia gornja granica
Dovoljan uslov Ako je Up Ulub, skup poslova je sigurno
rasporedljiv sa RM algoritmom.
Ako je Ulub < Up 1, ne moe se nita rei o izvodljivosti rasporeda na datom skupu poslova
Ulub za RM 1973, Lui & Layland su dokazali da za skup od
n periodinih poslova:
RM rasporedljivost
RT test garancije Izraunavamo iskorienost procesora kao:
Test garancije (samo dovoljan):
Osnovne predpostavkeA1. Ci je konstanta za svaku instancu ;A2. Ti je konstanta za svaku instancu ;A3. Za svaki posao vai: Di = Ti;A4. Poslovi su nezavisni;
nema uslovljavanja sa prvenstvom izvravanja nema uslovljavanja resursima
RM Optimalnost RM je optimalan u odnosu na sve algoritme
sa fiksnim prioritetima: Ako postoji fiksno dodeljivanje prioriteta koje
dovodi do izvodljivog rasporeda za , tada jeRM dodeljivanje izvodljivo za
Ako nije rasporedljiv sa RM, tada se on ne moe rasporediti ni sa jednim algoritmom sa fiksnim prioritetima
Kritina vremenska taka Za bilo koji posao , najdue vreme odziva e
se desiti kada se on aktivira u isto vremekada i svi poslovimi koji imaju vii prioritet
RM Optimalnost Posmatramo skup od dva periodina posla i
sa T1 < T2 Ako prioriteti nisu dodeljeni saglasno RM tada
posao ima vei prioritet
U kritinim takama raspored je izvodljiv ako je zadovoljeno:
RM OptimalnostAko su prioriteti dodeljeni saglasno RM, tada posao ima vii prioritet. Moemo razlikovati dva sluaja:
- broj perioda posla koje su potpuno sadrane u T2
RM Optimalnostsluaj (a): uslov rasporedljivosti skupa
(F + 1)C1 + C2
RM Optimalnostsluaj (a): uslov rasporedljivosti skupa
(F + 1)C1 + C2
RM Optimalnostsluaj (b): uslov rasporedljivosti skupa
FC1 + C2
Izraunavanje Ulub Predpostavimo najgori mogui scenario za skup
poslova (istovremeno aktiviranje) Dodela prioriteta saglasno RM algoritmu Potpuna iskorienost procesora Izraunavamo gornju granicu Uub
postaviti vremena izvravanja poslova tako da se dostigne puna iskorienost procesora (fully utilize)
Minimiziramo Uub u odnosu na sve ostale parametre posla
Izraunavanje Ulub za 2 posla
Izraunavanje Ulub za 2 posla
Najvea mogua vrednost za C2:
Izraunavanje Ulub za 2 posla
Izraunavanje Ulub za 2 posla
Funkcija raste sa F, zato emo postaviti da je F = 1.Minimiziranje u odnosu na k = T2/T1, daje:
Najgori sluaj za 2 posla
Najgori sluaj za n poslova
Izraunavanje Ulub za n poslova
Ako definisemo Ri = Ti+1/Ti i kako je:1
1
1 TTRP n
n
ii ==
=Moemo pisati:
Izraunavanje Ulub za n poslova
Minimiziranjem u odnosu na Ri, imamo:
ni
ii
ub RzaPRR
U 12021 ===
Hiperbolika granica 2000, Bini & al. su dokazali da je skup od n
periodinih poslova rasporedljiv sa RM ako:
Skica dokaza
Skica dokaza
HB vs. LL
U1
Algoritam najranijeg deadline-a Earliest Deadline First, EDF Svakoj instanci (job) se dodeljuje apsolutni
deadlinedi,k = ri,k + Di
U bilo kom trenutku procesor se dodeljuje instanci sa najranijim deadline-om
Sa EDF-om, proizvoljni skup poslova moe koristiti procesor i do 100%
EDF - Primer
RM neizvodljiv raspored
EDF - Optimalnost Meu svim algoritmima, EDF je optimalan:
Ako postoji izvodljiv raspored za , tada e EDF garantovati izvodljiv raspored
Ako nije rasporedljiv sa EDF, tada on ne moe biti rasporedjen ni sa jednim algoritmom
EDF - Optimalnost
Izvodljivost je ouvana
EDF - Rasporedljivost 1973, Lui & Layland su dokazali da za skup od n
periodinih poslova vai:
To znai da je skup rasporedljiv sa algoritmom EDF ako i samo ako
Up 1
Praktikum iz operativnihsistemaUvodDefinicijeDefinicijeHipotezeDefinicijeDefinicijeDefinicijeDefinicijeIzvodljivostIskorienost procesoraIskorienost procesoraIskorienost procesoraIskorienost procesoraTest rasporedljivostiCiklino rasporeivanjeCiklino rasporeivanjePrimerRealizacijaCiklino rasporeivanjeCiklino rasporeivanjeProblem preoptereenjaProirljivostProirljivostProirljivostPrimerPrioritetno rasporeivanjeAlgoritam monotonog intezitetaVerifikacija izvodljivostiPotreban uslovNeizvodljivi RMGornja granica iskorienostiRazliite gornje graniceNajnia gornja granicaDovoljan uslovUlub za RMRM rasporedljivostRT test garancijeOsnovne predpostavkeRM OptimalnostKritina vremenska takaRM OptimalnostRM OptimalnostRM OptimalnostRM OptimalnostRM OptimalnostIzraunavanje UlubIzraunavanje Ulub za 2 poslaIzraunavanje Ulub za 2 poslaIzraunavanje Ulub za 2 poslaIzraunavanje Ulub za 2 poslaNajgori sluaj za 2 poslaNajgori sluaj za n poslovaIzraunavanje Ulub za n poslovaIzraunavanje Ulub za n poslovaHiperbolika granicaSkica dokazaSkica dokazaHB vs. LLAlgoritam najranijeg deadline-aEDF - PrimerRM neizvodljiv rasporedEDF - OptimalnostEDF - OptimalnostEDF - Rasporedljivost