Upload
zlatil
View
46
Download
3
Tags:
Embed Size (px)
Citation preview
Praktikum iz operativnihsistema
Lekcija 5: Raspoređivanje periodičnih poslova
Prof. dr Branimir Trenkić
Uvod
• Real-time aplikacija:• Više istovremenih periodičnih poslova sa
individualnim vremenskim zahtevima• Operativni sistem:• Mora garantovati za svaku instancu ovih poslova
– da će biti regularno aktivirana (odgovarajućim intezitetom)
– da će izvršenje biti kompletirano unutar njenog deadline-a
Definicije
skup periodičnih poslovaproizvoljni periodični 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 početak izvršavanja j-te instance posla ; to jetrenutak kada instanca počinje izvršavanje
fi,j vreme završetka izvršavanja j-te instance posla
HipotezeA1. Instance periodičnog posla se regularno
aktiviraju konstantnim intezitetom. Interval Ti
između dve susedne aktivacije se nazivaperiodom posla.
A2. Sve instance periodičnog posla imaju isto vreme izvršavanja u najgorem slučaju Ci.
A3. Sve instance periodičnog 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
važe
• Periodični posao je potpuno određen sa tri parametra:
vreme aktiviranja i apsolutni deadline instance:
Definicije
• Drugi parametri:• Vreme odziva. To je vreme (mereno od
vremena aktiviranja) za koje je instanca kompletirana: Ri,k = fi,k – ri,k
• Kritična tačka. To je trenutak u kome će aktiviranje instance proizvesti najduže vreme odziva.
• Kritična vremenska zona. To je interval između kritične tačke i vremena odziva na odgovarajući 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 završetka. Maksimalna devijacija vremena završetka dve susedne instance:
RFJi = maxk |(fi,k – ri,k) – (fi,k-1 – ri,k-1)|
Definicije
• Apsolutni Jitter završetka. Maksimalna devijacija vremena završetka bilo koje dve instance:
AFJi = maxk (fi,k – ri,k) – mink (fi,k – ri,k)• Relativni Jitter izvršenja. Maksimalna devijacija
intervala izvršenja dve susedne instance:REJi = maxk |(fi,k – si,k) – (fi,k-1 – si,k-1)|
• Apsolutni Jitter izvršenja. Maksimalna devijacija intervala izvršenja bilo koje dve instance:
AEJi = maxk (fi,k – si,k) – mink (fi,k – si,k)
Izvodljivost• Periodični posao je izvodljiv
• sve njegove instance se izvrše pre njihovih deadline-ova
• Za skup poslova se kaže da je izvodljiv ili rasporedljiv
• svi poslovi iz su izvodljivi.
Iskorišćenost procesora
• Za dati skup , n periodičnih poslova, faktor iskorišćenosti procesora U je deo procesorskog vremena potrošenog na izvršenje poslova iz skupa .
• Ci/Ti je deo procesorskog vremena potrošenog na izvršenje posla
∑=
=n
i i
i
TC
U1
Iskorišćenost procesora
• U – mera opterećenja CPU izazvanog izvršavanjem skupa periodičnih poslova
• Poboljšanje iskorišćenosti:– povećanjem vremena izvršenja poslova– smanjenjem njihovih perioda
• Postoji maksimalna vrednost U– ispod koje je rasporedljiv– iznad koje nije rasporedljiv
Iskorišćenost procesora
• Ta maksimalna vrednost zavisi od:– skupa poslova (međusovne relacije između perioda
poslova u skupu)– algoritma koji se koristi za raspoređivanje
• – gornja granica vrednosti procesorske iskorišćenosti za skup poslova i algoritmam A
• Kada je U = – skup potpuno koristiprocesor
• Dat algoritam A, Ulub(A) – najniža gornja granica
Iskorišćenost procesora
Test rasporedljivosti
• Ulub(A) definiše važnu karakteristiku algoritma raspoređivanja, jer omogućuje jednostavnuproveru rasporedljivosti nekog skupa poslova
• Ako je faktor iskorišćenosti nekog skupa poslovaveći od jedan skup poslova ne može biti rasporedljiv za bilo koji algoritam
Ciklično raspoređivanje
• Timeline Scheduling (TS)• Najčešće korišćeni pristup u raspoređivanju
periodičnih poslova u vojnim sistemima, navigacionim sistemima, sistemima za monitorisanje
• Primeri:• Sistemi za kontrolu avio-saobraćaja• Space Shuttle• Boeing 777
Ciklično raspoređivanje
• Metod:• Vremenska osa je podeljena na intervale
jednakih dužina (time slice).• Po off-line principu svakom intervalu se
dodeljuje jedan ili više poslova na izvršenje• Dodeljivanje mora biti saglasno aplikacionim
zahtevima• Tajmer sinhronizuje aktivaciju poslova na početku
time slice-a
Primer
≤+≤+
msCCmsCC
CA
BA
2525Garancija izvodljivosti:
Sporedni ciklus
Glavni ciklus
Realizacija
Ciklično raspoređivanje
• Prednosti:
• Jednostavna realizacija (ne zahteva se real-time operativni sistem)
• Dodatno procesorsko opterećenje prouzrokovano izvršavanjem algoritma je veoma malo
• Omogućuje kontrolu jitter-a
Ciklično raspoređivanje
• Nedostaci:
• Tipični za off-line tehnike raspeređivanja• Nije robustan u toku preopterećenja• Komplikovan postupak proširenja rasporeda• Nije jednostavno upravljanje aperiodičnim
poslovima
Problem preopterećenja
Šta raditi u slučaju da posao nije kompletiran na granici sporednog (minor) ciklusa (overrun)?• Pustiti da se izvršavanje nastavi
– može se dogoditi domino – efekat na sve ostale poslove (timeline break)
• Prekid (abort) izvršenja posla– sistem može ostati u nekonsistentnom stanju, izlažući
opasnosti njegovo korektno ponašanje
Proširljivost
• Ako je potreban upgrade jednog ili više poslova, potrebno je ponovo uraditi re-dizajn čitavog rasporeda
• Primer: izvršen je upgrade posla B
Proširljivost• Mora se podeliti posao B na dva podposla (B1, B2)
i ponovo napraviti raspored:
∆≤++∆≤+
CBA
BA
CCCCC
2
1Garancija izvodljivosti:
Proširljivost• Promena frekvencije nekog posla je veoma
značajna za raspoređivanje
Primer
Deliti procedure A, B i C saglasno novom time-slice!
Prioritetno raspoređivanje• Metod:• Svakom poslu se dodeljuje prioritet saglasno
vremenskim zahtevima (timing-u posla)• Izvodljivost rasporeda se verifikuje analitičkim
tehnikama• Poslovi se izvršavaju na kernelu koji se bazira na
prioritetima• U biti prekidajući (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 iskorišćenost procesora:
∑=
=n
i i
ip T
CU
1
Up je mera opterećanja procesora
Potreban uslov• Ako je Up > 1 procesor je preopterećen – skup
poslova ne može biti rasporedljiv
• Međutim, postoje slučajevi u kojima je Up < 1, ali poslovi nisu rasporedljivi sa RM-om.
Neizvodljivi RM
944.094
63
=+=pU
Gornja granica iskorišćenosti
833.093
63
=+=pU
Napomena: Ako C1 ili C2 poraste, t2 će prekoračiti svoj deadline!
Različite gornje granice
Gornja granica Uub zavisi od prirode skupa poslova.
184
42
=+=pU
Najniža gornja granica
Dovoljan uslov• Ako je Up ≤ Ulub, skup poslova je sigurno
rasporedljiv sa RM algoritmom.
• Ako je Ulub < Up ≤ 1, ne može se ništa reći o izvodljivosti rasporeda na datom skupu poslova.
Ulub za RM• 1973, Lui & Layland su dokazali da za skup od
n periodičnih poslova:
RM rasporedljivost
RT test garancije• Izračunavamo iskorišćenost procesora kao:
∑=
=n
i i
ip T
CU
1
• Test garancije (samo dovoljan):
Osnovne predpostavkeA1. Ci je konstanta za svaku instancu ti;A2. Ti je konstanta za svaku instancu ti;A3. Za svaki posao važi: Di = Ti;A4. Poslovi su nezavisni;
– nema uslovljavanja sa prvenstvom izvršavanja– nema uslovljavanja resursima
RM Optimalnost• RM je optimalan u odnosu na sve algoritma sa
fiksnim prioritetima:• Ako postoji fiksno dodeljivanje prioriteta koje
dovodi do izvodljivog rasporeda za t , tada je RM dodeljivanje izvodljivo za t .
• Ako t nije rasporedljiv sa RM, tada se on ne može rasporediti ni sa jednim algoritmom sa fiksnim prioritetima.
Kritična vremenska tačka• Za bilo koji posao ti, najduže vreme odziva će
se desiti kada se on aktivira u isto vreme kada i svi poslovimi koji imaju viši prioritet.
RM Optimalnost
Izračunavanje Ulub• Predpostavimo najgori mogući scenario za skup
poslova (istovremeno aktiviranje)• Dodela prioriteta saglasno RM algoritmu• Potpuna iskorišćenost procesora• Izračunavamo gornju granicu Uub
– postaviti vremena izvršavanja poslova tako da se dostigne puna iskorišćenost procesora (fully utilize)
• Minimiziramo Uub u odnosu na sve ostale parametre posla
Izračunavanje Ulub za 2 posla
Izračunavanje Ulub za 2 posla
Najveća moguća vrednost za C2:
Izračunavanje Ulub za 2 posla
Izračunavanje Ulub za 2 posla
Funkcija raste sa F, zato ćemo postaviti da je F = 1.Minimiziranje u odnosu na k = T2/T1, daje:
Najgori slučaj za 2 posla
Najgori slučaj za n poslova
Izračunavanje Ulub za n poslova
Ako definisemo Ri = Ti+1/Ti i kako je:1
1
1 TT
RP nn
ii ==∏
−
=Možemo pisati:
Izračunavanje Ulub za n poslova
Minimiziranjem u odnosu na Ri, imamo:
ni
ii
ub RzaPRR
U 12021 ==−=
∂∂
Hiperbolička granica• 2000, Bini & al. su dokazali da je skup od n
periodičnih 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 može koristiti procesor i do 100%
EDF - Primer
RM – neizvodljiv raspored
EDF - Optimalnost• Među svim algoritmima, EDF je optimalan:
• Ako postoji izvodljiv raspored za t , tada će EDF garantovati izvodljiv raspored
• Ako t nije rasporedljiv sa EDF, tada on ne može biti rasporedjen ni sa jednim algoritmom
EDF - Optimalnost
EDF - Rasporedljivost• 1973, Lui & Layland su dokazali da za skup od n
periodičnih poslova važi:
• To znači da je skup t rasporedljiv sa algoritmom EDF ako i samo ako
Up ≤ 1