Lecture 5

  • 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