61
Praktikum iz operativnih sistema Lekcija 5: Raspoređivanje periodičnih poslova Prof. dr Branimir Trenkić

Lecture 5

  • Upload
    zlatil

  • View
    46

  • Download
    3

Embed Size (px)

Citation preview

Page 1: Lecture 5

Praktikum iz operativnihsistema

Lekcija 5: Raspoređivanje periodičnih poslova

Prof. dr Branimir Trenkić

Page 2: Lecture 5

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

Page 3: Lecture 5

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

Page 4: Lecture 5

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

Page 5: Lecture 5

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.

Page 6: Lecture 5

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:

Page 7: Lecture 5

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.

Page 8: Lecture 5

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)|

Page 9: Lecture 5

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)

Page 10: Lecture 5

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.

Page 11: Lecture 5

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

Page 12: Lecture 5

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

Page 13: Lecture 5

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

Page 14: Lecture 5

Iskorišćenost procesora

Page 15: Lecture 5

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

Page 16: Lecture 5

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

Page 17: Lecture 5

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

Page 18: Lecture 5

Primer

≤+≤+

msCCmsCC

CA

BA

2525Garancija izvodljivosti:

Sporedni ciklus

Glavni ciklus

Page 19: Lecture 5

Realizacija

Page 20: Lecture 5

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

Page 21: Lecture 5

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

Page 22: Lecture 5

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

Page 23: Lecture 5

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

Page 24: Lecture 5

Proširljivost• Mora se podeliti posao B na dva podposla (B1, B2)

i ponovo napraviti raspored:

∆≤++∆≤+

CBA

BA

CCCCC

2

1Garancija izvodljivosti:

Page 25: Lecture 5

Proširljivost• Promena frekvencije nekog posla je veoma

značajna za raspoređivanje

Page 26: Lecture 5

Primer

Deliti procedure A, B i C saglasno novom time-slice!

Page 27: Lecture 5

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

Page 28: Lecture 5

Algoritam monotonog inteziteta• Rate Monotonic, RM• Svakom poslu se dodeljuje fiksni prioritet,

saglasno njegovom intezitetu [Lui & Layland ’73].

Page 29: Lecture 5

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

Page 30: Lecture 5

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.

Page 31: Lecture 5

Neizvodljivi RM

944.094

63

=+=pU

Page 32: Lecture 5

Gornja granica iskorišćenosti

833.093

63

=+=pU

Napomena: Ako C1 ili C2 poraste, t2 će prekoračiti svoj deadline!

Page 33: Lecture 5

Različite gornje granice

Gornja granica Uub zavisi od prirode skupa poslova.

184

42

=+=pU

Page 34: Lecture 5

Najniža gornja granica

Page 35: Lecture 5

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.

Page 36: Lecture 5

Ulub za RM• 1973, Lui & Layland su dokazali da za skup od

n periodičnih poslova:

Page 37: Lecture 5

RM rasporedljivost

Page 38: Lecture 5

RT test garancije• Izračunavamo iskorišćenost procesora kao:

∑=

=n

i i

ip T

CU

1

• Test garancije (samo dovoljan):

Page 39: Lecture 5

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

Page 40: Lecture 5

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.

Page 41: Lecture 5

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.

Page 42: Lecture 5

RM Optimalnost

Page 43: Lecture 5

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

Page 44: Lecture 5

Izračunavanje Ulub za 2 posla

Page 45: Lecture 5

Izračunavanje Ulub za 2 posla

Najveća moguća vrednost za C2:

Page 46: Lecture 5

Izračunavanje Ulub za 2 posla

Page 47: Lecture 5

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:

Page 48: Lecture 5

Najgori slučaj za 2 posla

Page 49: Lecture 5

Najgori slučaj za n poslova

Page 50: Lecture 5

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:

Page 51: Lecture 5

Izračunavanje Ulub za n poslova

Minimiziranjem u odnosu na Ri, imamo:

ni

ii

ub RzaPRR

U 12021 ==−=

∂∂

Page 52: Lecture 5

Hiperbolička granica• 2000, Bini & al. su dokazali da je skup od n

periodičnih poslova rasporedljiv sa RM ako:

Page 53: Lecture 5

Skica dokaza

Page 54: Lecture 5

Skica dokaza

Page 55: Lecture 5

HB vs. LL

U1

Page 56: Lecture 5

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%

Page 57: Lecture 5

EDF - Primer

Page 58: Lecture 5

RM – neizvodljiv raspored

Page 59: Lecture 5

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

Page 60: Lecture 5

EDF - Optimalnost

Page 61: Lecture 5

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