Sisältö. Tosiaikajärjestelmät: Luento 3 Epäsäännöllisten töiden ajoitus. Sporadisten ja jaksottomien ajoitus Kellopohjainen ajoitus jaksollisilla

Samankaltaiset tiedostot
Tosiaikajärjestelmät: Luento 3 Epäsäännöllisten töiden ajoitus

Tosiaikajärjestelmät Luento 5: Resurssien hallinta ja prioriteetit

Tosiaikajärjestelmät Luento 7: Tietoliikenne

Sisältö. Tosiaikajärjestelmät Luento 7: Tietoliikenne. Verkkoja? Vaatimuksia verkolle. Verkon rakenne ja aikarajat. Kommunikointimalli

6. Luento: Skedulointi eli Vuoronnus. Tommi Mikkonen,

Graafit ja verkot. Joukko solmuja ja joukko järjestämättömiä solmupareja. eli haaroja. Joukko solmuja ja joukko järjestettyjä solmupareja eli kaaria

Algoritmit 2. Luento 13 Ti Timo Männikkö

1 + b t (i, j). Olkoon b t (i, j) todennäköisyys, että B t (i, j) = 1. Siis operaation access(j) odotusarvoinen kustannus ajanhetkellä t olisi.

Arto Salminen,

Liikenneongelmien aikaskaalahierarkia

Algoritmit 1. Luento 3 Ti Timo Männikkö

Tosiaikajärjestelmät Luento 9: Moniprosessorijärjestelmät

Algoritmit 2. Luento 11 Ti Timo Männikkö

11. Javan toistorakenteet 11.1

Algoritmit 1. Demot Timo Männikkö

Yleistä. Esimerkki. Yhden palvelimen jono. palvelin. saapuvat asiakkaat. poistuvat asiakkaat. odotushuone, jonotuspaikat

(b) Tarkista integroimalla, että kyseessä on todella tiheysfunktio.

Tarkennamme geneeristä painamiskorotusalgoritmia

Algoritmit 1. Luento 1 Ti Timo Männikkö

7.4 Sormenjälkitekniikka

Jaetun muistin muuntaminen viestin välitykseksi. 15. lokakuuta 2007

Kombinatorinen optimointi

J. Virtamo Jonoteoria / Prioriteettijonot 1

5. Luento: Rinnakkaisuus ja reaaliaika. Tommi Mikkonen,

Kuljetustehtävä. Materiaalia kuljetetaan m:stä lähtöpaikasta n:ään tarvepaikkaan. Kuljetuskustannukset lähtöpaikasta i tarvepaikkaan j ovat c ij

f(n) = Ω(g(n)) jos ja vain jos g(n) = O(f(n))

Sovellettu todennäköisyyslaskenta B

Tilastollinen testaus. Vilkkumaa / Kuusinen 1

Talousmatematiikka (3 op)

Sisällys. 11. Javan toistorakenteet. Laskurimuuttujat. Yleistä

Esimerkki: Tietoliikennekytkin

Algoritmit 2. Luento 8 To Timo Männikkö

Algoritmit 1. Luento 13 Ti Timo Männikkö

Matematiikan tukikurssi, kurssikerta 3

Malliratkaisut Demot

Tehtävä 2: Tietoliikenneprotokolla

Markov-ketjut pitkällä aikavälillä

Käyttöjärjestelmät: poissulkeminen ja synkronointi

Ratkaisu: a) Aritmeettisen jonon mielivaltainen jäsen a j saadaan kaavalla. n = a 1 n + (n 1)n d = = =

= 3 = 1. Induktioaskel. Induktio-oletus: Tehtävän summakaava pätee jollakin luonnollisella luvulla n 1. Induktioväite: n+1

Algoritmit 1. Luento 7 Ti Timo Männikkö

Pikalajittelu: valitaan ns. pivot-alkio esim. pivot = oikeanpuoleisin

ABHELSINKI UNIVERSITY OF TECHNOLOGY

Moniprosessorijärjestelmä

Reiluus. Maxmin-reiluus. Tärkeä näkökohta best effort -tyyppisissä palveluissa. Reiluuden maxmin-määritelmä

12. Javan toistorakenteet 12.1

Väliestimointi (jatkoa) Heliövaara 1

VUOROTTAMINEN: SMP ja Reaaliaikajärjestelmät Linux, W2000

Moniprosessorijärjestelmä

Algoritmit 2. Luento 14 Ke Timo Männikkö

811120P Diskreetit rakenteet

Dynaamiset regressiomallit

ALGORITMIT 1 DEMOVASTAUKSET KEVÄT 2012

Rinnakkaistietokoneet luento S

Optimoinnin sovellukset

Algoritmit 2. Luento 10 To Timo Männikkö

Konsensusongelma hajautetuissa järjestelmissä. Niko Välimäki Hajautetut algoritmit -seminaari

Valitaan alkio x 1 A B ja merkitään A 1 = A { x 1 }. Perinnöllisyyden nojalla A 1 I.

Stabilointi. Marja Hassinen. p.1/48

Algoritmit 1. Luento 9 Ti Timo Männikkö

Algoritmit 2. Luento 12 To Timo Männikkö

811120P Diskreetit rakenteet

HARJOITUS- PAKETTI E

Osio 2: Luennot 5-8 Muistinhallinta

Algoritmit 2. Luento 11 Ti Timo Männikkö

12. Javan toistorakenteet 12.1

J. Virtamo Jonoteoria / Prioriteettijonot 1

HIRVIKOIRIEN JÄLJESTÄMISKOKEIDEN KOEOHJEET Hyväksytään Kennelliiton hallituksessa Voimassa alkaen. Muutokset alkaen.

Säännöt & Asetukset. Säännöt & Asetukset. Versio 1.00 /

Yhtälöryhmä matriisimuodossa. MS-A0004/A0006 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5.

Concurrency - Rinnakkaisuus. Group: 9 Joni Laine Juho Vähätalo

Teoria. Prosessin realisaatioiden tuottaminen

Prosessin reaalisaatioiden tuottaminen

Algoritmit 1. Luento 11 Ti Timo Männikkö

Valmistelut: Aseta kartiot numerojärjestykseen pienimmästä suurimpaan (alkeisopiskelu) tai sekalaiseen järjestykseen (pidemmälle edenneet oppilaat).

TIEA241 Automaatit ja kieliopit, kesä Antti-Juhani Kaijanaho. 29. toukokuuta 2013

Algoritmit 2. Luento 2 Ke Timo Männikkö

Seminaari: Keskusmuistitietokannat. Keskusmuistitietokantojen samanaikaisuuden hallinta Ilkka Pullinen

Algoritmit 2. Luento 2 To Timo Männikkö

811312A Tietorakenteet ja algoritmit, , Harjoitus 3, Ratkaisu

Kypsyysnäytteen laatiminen ja arvioiminen Examissa

Signaalit ja järjestelmät aika- ja taajuusalueissa

Johdatus verkkoteoriaan luento Netspace

Algoritmit 1. Demot Timo Männikkö

Algoritmit 2. Luento 1 Ti Timo Männikkö

Sisältö. Luento 10: Tosiaikakäyttöjärjestelmät. Ominaisuuksia. Arkkitehtuuriratkaisuja. Sulautettu järjestelmä: Useita ohjaavia prosessoreja

Algoritmit 2. Luento 3 Ti Timo Männikkö

Luento 10: Tosiaikakäyttöjärjestelmät

Algoritmit 1. Luento 10 Ke Timo Männikkö

Algoritmit 1. Demot Timo Männikkö

Algoritmit 2. Luento 6 Ke Timo Männikkö

Itsestabilointi: perusmääritelmiä ja klassisia tuloksia

Malliratkaisut Demo 1

Matematiikan tukikurssi, kurssikerta 1

Lukio alkaa

Littlen tulos. Littlen lause sanoo. N = λ T. Lause on hyvin käyttökelpoinen yleisyytensä vuoksi

13 Lyhimmät painotetut polut

Mat Dynaaminen optimointi, mallivastaukset, kierros 5

Malliratkaisut Demot

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 16. marraskuuta 2015

Transkriptio:

Tosiaikajärjestelmät: Luento 3 Epäsäännöllisten töiden ajoitus Tiina Niklander 20.3.2006 (päiv. 22.3.) Sisältö Yleistä Jaksottomien (ei-tosiaikaisten) töiden jaksolliset vuorotuspalvelut Osa-aika palvelimet (deferrable servers) Sporadiset palvelimet Painotettu reilu odotus (Weighted Fair-Queing) Sporadiset (tosiaikaiset satunnaiset) työt Kaksitasoinen integroitu vuorottaminen Järjestelmämalli Kuva 7-1 Sporadisten ja jaksottomien ajoitus Kellopohjainen ajoitus jaksollisilla Kellotettujen töiden sekaan sijoitellaan vapaisiin aikaviipaleisiin tausta-ajona. Prioriteettiperustainen ajoitus jaksollisilla Alimman prioriteettitason työ (ns. tausta-ajo) voi joutua odottamaan kauan Kellopohjainen ajoitus ja epäsäännölliset työt Työluokkien tärkeysjärjestys: Taulukoidut jaksolliset Sporadiset (näillä on aikarajat) Jaksottomat (aperiodiset, ei aikarajaa) Muokataan jaksollista ajoittajaa siten, että Jaksollisilta jääneet vapaat aikajaksot käytetään sporadisille ja jaksottomille Sporadisille on taattava suoritus ajallaan Hyväksymistesti ennen mukaanottoa Epäsäännöllisten tehtävien ajoitus jaksollisten sekaan Satunnaiset ei-tosiaikaiset tehtävät ajoitetaan jaksollisilta tehtäviltä jääneisiin koloihin. Slack Stealing-menetelmä parantaa jaksottomien vasteaikaa. Kunkin kehyksen sisällä ajoitetaan jaksottomat kehyksen vapaaseen osaan jaksollisten edelle. Jos jaksottomia ei ole, niin suoritetaan jaksollisia. 1

Jaksollisten ajoitus Esimerkki: Slack Stealing 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Jaksottomat tehtävät 1,5 0,5 2,0 A1 A2 A3 4 9,5 10,5 Perusvuorottaja A1 12 A3 A3 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Slack Stealing vuorotus A1 1 2 A3 A3 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Vuoroon otetaan jaksollinen, kun jaksottomia ei ole Kehyksen ylitys Mitä tehdään, jos kehyksen alussa on vielä edellisen kehyksen työ suorituksessa? Annetaan jatkaa riskinä, että tämäkin kehys myöhästyy Lopetetaan työ, kirjataan ja jätetään tilanteen korjaus erilliselle toipumismekanismille Siirretään työ jaksottomien jonon ensimmäiseksi, jolloin se suoritetaan loppuun vasta myöhemmin, aikarajansa jälkeen Hyväksymistesti Sopii sekä jaksollisille että sporadisille Työ hyväksytään vain, jos se voidaan suorittaa ajoissa jo muiden hyväksyttyjen kanssa ilman, että mikään niistä ylittää aikarajansa. Ei-tosiaikaisten (jaksottomien) töiden palvelutasoa ei tässä yhteydessä tarkastella, koska ne voivat viipyä järjestelmässä, kunnes saavat suoritusvuoron Seuraavaksi tarkasteltava hyväksymistestaus liittyy nimenomaan jaksolliseen ajoittajaan (mm. kehykset ja niiden vapaat ajat). Hyväksymistesti Tarvitaan: nykyinen ajoitus ja töiden parametrit Uuden työn aikaraja ja maksimisuoritusaika S(d,e) Jos järjestelmästä löytyy riittävästi vapaata aikaa σ ennen aikarajaa, työ voidaan hyväksyä eli e σ c (t,l), missä t on saapumisaika ja l viimeinen ehyt kehys <d Jos samanaikaisesti useita saapujia, käsitellään ne aikarajan mukaisessa järjestyksessä Hyväksymistesti: tarvittava tieto Kehyksien vapaat ajat (slack) σ(i,j) voidaan laskea ennen suoritusta ajoitustaulukon muodostuksen yhteydessä Yhden hyperperiodin kehysten käsittely riittää Tapahtumien parametrit saadaan pyynnössä S k (d k,e k ) Kunkin tapahtuman suorituksen kesto ξ k päivitetään aina suorituksen jälkeen Tapahtuman tarvitsema vapaa aika σ k muuttuu ja päivitetään aina ja vain, kun uusia sporadisia tapahtumia hyväksytään Hyväksymistestin algoritmi Ensimmäinen vaihe: Riittävätkö tyhjät aikajaksot suorittamiseen eli e σ c (t,l)? A) Tarkastetaan ensin työt, joiden aikaraja ennen tätä ehdokasta Toinen vaihe: Myöhästyisikö joku jo hyväksytty sporadinen työ? B) Varmistetaan loputkin sporadiset työt 2

Hyväksymistesti: A) Kehyksien vapaat ajat yli kehysjaksojen eli σ(i,j) i,j: i j Kaikkien jo hyväksyttyjen töiden tiedot eli k n S S k (d k,e k ) Kaikista jo aloitetuista töistä tähänastisen suorituksen kesto ξ k Näillä voidaan laskea σ c (t,l) σ c (t,l) = σ(t,l) - Σ (e k - ξ k ) d k d Hyväksymistesti: B) Työt, joiden aikaraja tarkasteltavan jälkeen k n S ja d k >d S k (d k,e k ) Näiden suoritusmahdollisuudesta poistetaan e:n verran aikaa eli σ k = σ k -e Uusi työ voidaan hyväksyä vain kun σ k 0 Prioriteettipohjainen ajoitus ja epäsäännölliset työt Varataan oma kiintiö Töiden pitää olla ajoitettavissa kokonaisuudessaan Kiintiön käsittely? Oma jaksollinen tehtävä, joka suorittaa sporadisia ja jaksottomia töitä (ns. palvelin) Useita toteutusvaihtoehtoja Vaihtoehtoiset ajoitusmekanismit Tausta-ajo (kuten kellotetuissa) muuten hyvä, mutta odotusaika voi prioriteettien vuoksi olla huomattavan pitkä Keskeyttävä (ja korkein prioriteetti) Mahdollisimman lyhyt palveluaika, mutta jos ei rajoiteta, niin saatetaan menettää jaksollisia töitä Rajoitusmekanismeja: käyttöasteen yläraja tai slack stealing (jouston kähmintä) Kiertokysely (poll) Kyselijällä on jaksollinen suoritus ja tietty sallittu suoritusaika Suorittaa vuorotellen järjestelmään saapuneita jaksottomia töitä Sisältö Yleistä Jaksottomien (ei-tosiaikaisten) töiden jaksolliset vuorotuspalvelut Osa-aika palvelimet (deferrable servers) Sporadiset palvelimet Painotettu reilu odotus (Weighted Fair-Queing) Sporadiset (tosiaikaiset satunnaiset) työt Kaksitasoinen integroitu vuorottaminen Terminologiaa Jaksollinen palvelin (periodic server) S(p s,e s ) e s on suorituskiintiö eli budjetti (execution budget) Palvelimen koko on sen osuus käyttöasteesta eli s = e s / p s Suorituskiintiö täydennetään aina jakson alussa Palvelin on vireessä aina, kun sillä on jonossa suoritettavia töitä Palvelin on valmiina suoritukseen, kun se on vireessä ja sillä on kiintiötä vielä jäljellä Kiintiötä kuluu suorituksen aikana yksi per aikayksikkö 3

Jaksollisista palvelimista Mitä tehdään kiintiölle, jos ei palvelin ole vireessä? nollataan kiertokyselijä säilytetään jakson ajan kaistanleveyden säilyttävä palvelin (bandwidth-preserving) Palvelimet kuvataan käyttäen kulutus- ja täydennyssääntöjä Palvelin siirretään pois suorituksesta, kun sillä ei ole enää töitä jonossa (ns. idle) tai se on kuluttanut suorituskiintiönsä tyhjäksi Osa-aika palvelin Deferrable Server Jaksollinen palvelin epäsäännöllisille eitosiaikaisille töille Pitkäkestoisen ei-tosiaikaisen työn suoritus etenee palvelimen tarjoamilla suoritusjaksoilla, kunnes se saa joskus tarvitsemansa suoritusajan täyteen Osa-aikapalvelin: Kulutus- ja täydennyssäännöt Kulutussääntö (Consumption Rule): Palvelimen suoritusaikaa kuluu yksi yksikkö kutakin suoritettua aikayksikköä kohti Täydennyssääntö (Replenishment Rule): Palvelimen suoritusaika palautetaan maksimiin aina kunkin suoritusjakson aluksi eli budjetiksi asetetaan e s aina kellon ollessa kp s, k=0,1,2,... Huom: suoritusaikaa ei voi säästää seuraavaan jaksoon Esimerkki (RM-menetelmä) Kuva 7-3 (a) Kuva 7-3 (a) Esimerkki (EDF-menetelmä) Miten määrätään palvelimen suorituskiintiö? Mikään muu työ ei saa ylittyä, joten edes hetkellistä ylikuormitusta ei voida sallia. Siis suurin mahdollinen viive palvelimesta, kun Kuva 7-3 (b) TyöJ i,c alkaa hetkellä t 0 Kaikki sitä korkeamman prioriteetin työt alkavat samalla ajanhetkellä Myös osa-aikapalvelin saa töitä koko budjetikseen samalla ajanhetkellä t 0 Palvelimen suorituskiintiö täydennetään ajanhetkellä t 0 +e s 4

Edellinen kriittinen tilanne kuvana Kuva 7-5 wi Aikavaatimusanalyysi (RM) Kaavassa huomioitu (estoaika b i ja osaaikapalvelimen aiheuttama estyminen) i t es t t = ei + bi + es + es + 1 ( ) ek, kun 0 < ps k = 1 pk t pi Oletus: osa-aikapalvelimen prioriteetti on suurin ja jakson pituus siis pienin Ajoitettavuus (kun käytössä EDF) Tarkastellaan osa-aikapalvelimen aiheuttamaan maksimiviivettä työ:n J i,c suoritukseen. J i :n takaraja (deadline) on t. Osa-aikapalvelimen suurin mahdollinen kulutus aikavälillä (t -1, t] on t t 1 es es + e p s missät -1 on sellainen ajanhetki, jolloin suoritin on viimeeksi ollut vapaa, tai suorittanut työtä, jonka takaraja on t:n jälkeen (eli prioriteetti on pienempi) e s e s e s... t -1 t -1 +e s p s t s e s Ajoitettavuustesti Jaksollinen tehtävä T i on ajoitettavissa EDFmenetelmällä järjestelmässä, jossa on n riippumatonta keskeytettävää jaksollista tehtävää ja osa-aikapalvelin, jonka jakso on p s, suorituskiintiö e s ja käyttöaste u s, jos i Koko järjestelmä i ek ps es + us 1+ 1 min( dk, pk) d k= 1 i Jaksolliset työt, joiden suhteellinen aikaraja ennen T i osa-aikapalvelin (Kirjan Teoreema 7.3) Sporadinen palvelin (kiinteä prio) Sporadinen palvelin käyttäytyy kuten vastaava jaksollinen tehtävä (p s,e s ), eli se ei millään aikavälillä koskaan käytä enempää aikaa kuin vastaava jaksollinen tehtävä käyttäisi. Sporadinen palvelin käyttäytyy siivommin tilanteessa, jossa osa-aikapalvelin varaa suorittimen kaksinkertaisen kiintiön ajaksi Sporadinen palvelin: kulutus Kiintiötä kuluu yksi yksikkö per aikayksikkö, kun joko palvelin on suorituksessa tai palvelin on ollut jossain vaiheessa suorituksessa edellisen täydennyshetken (t r ) jälkeen ja palvelimella on edelleen töitä suoritusjonossa Mikäli kumpikaan ehto ei täyty, niin kiintiötä ei kulu HUOM: Kiintiötä siis kulutetaan, vaikka palvelin ei suorittaisikaan mitään tehtävää. 5

Sporadinen palvelin: täydennys Aluksi (ja aina täydennettäessä) kiintiö = e s ja t r = nykyhetki Ajanhetkellä t f, kun palvelin saa ensimmäisen kerran suoritusvuoron täydennyksen jälkeen jos palvelin odotti korkeamman prioriteetin töitä, niin seuraava täydennyshetki säilyy t r +p s jos palvelin oli vapaa, niin täydennyshetkeä siirretään siten, että uusi hetki on t f + p s, kun t r < t f Normaalijaksojen ulkopuolella täydennys tehdään, jos Korkeamman prioriteetin työt ovat olleet suorituksessa koko jakson p s, niin täydennys tehdään heti kiintiön tyhjennyttyä Jos koko järjestelmä oli jakson aikana tyhjäkäynnillä ajanhetkeen t b asti, niin täydennys tehdään hetkellä min(t e +p s, t b ) T1(3,0.5) T2(4,1.0) TS(5,1.5) T3(19,4.5) Sporadinen palvelin: esimerkki Kuva 7-8 Lisää piirteitä Sporadinen palvelin kuluttaa kiintiötään odottaessaan, jos se on ollut hetkenkin suorituksessa. Kuitenkin jos koko järjestelmä on tyhjä, niin palvelin voisi käyttää tämän ajan töiden suorittamiseen. Muutetaan ainoastaan kulutussääntöä hiukan: Kiintiötä ei kulu suorituksen aikana, jos mikään jaksollinen työ ei ole odottamassa suoritukseen Näin saadaan Sporadinen/Tausta-ajo -palvelin Sporadinen/tausta-ajo palvelin EDF-ajoitetussa järjestelmässä (7.3.3) Palvelimella itsellään on myös oltava aikaraja d Aikaraja asetetaan, vain jos palvelimella on töitä jonossa, muuten sen arvo on määräämättä Kulutussäännöt: Kiintiötä kuluu vain kun jompikumpi sääntö pätee, muuten kiintiö säilyy Palvelin on suorituksessa Palvelimelle on asetettu takaraja d, palvelin on vapaa ja järjestelmässä ei ole odottamassa tai suorituksessa yhtään työtä, jonka takaraja olisi ennen d:tä. Sporadinen/tausta-ajo palvelin EDF-ajoitetussa järjestelmässä Täydennyssäännöt (Sääntö R1): Aluksi (ja myöhemmin täydennyksessä), kiintiö = e s, t r = nykyhetki; t e ja d jätetään asettamatta Aina kun t e on asetettu d=t e +p s, mikä on myös seuraava täydennyshetki (t e kuvaa jakson efektiivistä aloitushetkeä) Sporadinen/tausta-ajo palvelin EDF-ajoitetussa järjestelmässä Täydennyssäännöt (Sääntö R2): t e :n arvon määrääminen: Kun uusi jaksoton työ saapuu palvelimelle: t e =t r, jos suorituksessa aikavälillä (t r,t) on ollut vain töitä, joiden takaraja ennen t r +p s :ää te=t, jos suorituksessa on samalla aikavälillä ollut yksikin työ, jonka aikaraja on t r +p s :n jälkeen Täydennyshetkellä t r : Jos palvelin on vireessä t e =t r, Jos töitä ei ole jonossa, niin t e jää määräämättä 6

Sporadinen/tausta-ajo palvelin EDF-ajoitetussa järjestelmässä Täydennyssäännöt (Sääntö R3): Täydennys tapahtuu täydennyshetkellä, paitsi jos Palvelimen tullessa vireeseen ajanhetkellä t, seuraava täydennyshetki t e +p s oli jo. Tällöin kiintiö täydennetään heti, kun se on kulutettu. Kiintiö täydennetään aina, kun koko järjestelmä on ollut vapaa (idle) Lisää palvelimia Keskenään samankaltaisesti käyttäytyviä Painotettu reilu odotus (Weighted Fair- Queing) Nämä käyttäytyvät järjestelmässä kuten sporadiset työt, (sporadinen palvelin taas pyrki käyttäytymään kuin jaksollinen työ) Kaikilla näillä budjetti kuluu vain suorituksessa Lisää palvelimia Palvelimen käyttöön varataan tietty käyttöaste s, joka on siis palvelimen koko Kiinteän käyttöasteen lisäksi osaa käyttää myös muuten vapaaksi jäävän ajan Painotettu reilu odotus (Weighted Fair-Queuing) Tunnetumpi tietoliikenteestä pakettien lähetykseen pakettikytkentäisessä verkossa WFQ pystyy takaamaan reiluutta, silloin kun useita samanaikaisia palvelimia Vakio käyttöaste -palvelin Täydennyssäännöt Aluksi: e s = 0, ja d=0 Kun uusi jaksoton työ e saapuu tyhjälle palvelimelle: Jos saapumishetki t < d, älä tee mitään Jos t d, aseta d= t+ e s, ja e s = e Hetkellä d (takaraja) Jos palvelin on vireessä, aseta d= d+ e s, ja e s = e Jos palvelin on vapaa, älä tee mitään Koko kaistanleveys -palvelin Täydennyssäännöt Aluksi: e s = 0, ja d=0 Kun uusi jaksoton työ e saapuu tyhjälle palvelimelle: aseta d= max(d, t)+ e s, ja e s = e Kun palvelimella suoritusvuorossa ollut työ päättyy ja on poistettu jonosta Jos palvelin jää vireeseen, aseta d= d+ e s, ja e s = e Jos palvelin jää vapaaksi, älä tee mitään WFQ (Weighted Fair- Queuing) Jäljittelee Generalized Processor Sharing (GPS) algoritmia ideaalinen algoritmi, joka takaa kaikille suoritettaville palvelimille kullakin äärettömän lyhyellä kierroksella äärettömän pienen, mutta palvelimen kokoon suhteutetun aikaviipaleen Se siis suorittaa kaikkia palvelimia mahdollisimman reilusti ja tasaisella nopeudella WFQ:lla on vain suurempi granulariteetti Tarkemmin tietoliikenneosiossa 7

Reiluus? Tosiaikaisuus ja reiluus?? Nälkiintyminen? Reiluutta ei tarvita priorisoitujen töiden järjestämiseen, mutta entä jos useita jaksottomien töiden palvelimia? Algoritmi on reilu, kun se takaa kaikille vireessä oleville palvelimille niiden kokoon suhteutetun osuuden prosessoriajasta tarkasteltavalla aikavälillä Sisältö Yleistä Jaksottomien ei-tosiaikaisten töiden jaksolliset vuorotuspalvelut Osa-aika palvelimet (deferrable servers) Sporadiset palvelimet Painotettu reilu odotus (Weighted Fair-Queing) Sporadiset työt Kaksitasoinen integroitu vuorottaminen Järjestelmämalli Kuva 7-1 Sporadisten töiden hyväksymis-testi kun käytössä EDF-ajoitus Ensimmäinen saapuva työ S 1 (t, d, e) hyväksytään, jos e/(d-t) 1-, missä on kaikkien sporadisten töiden sallittu yhteinen maksimitiheys HUOM: d jakaa aikavälin kahteen osaan I 1 ja I 2. I 1 :n tiheys 1 = e/(d-t) ja I 2 :n 2 =0. Yleinen tapaus: järjestelmässä on jo n s aiemmin hyväksyttyä työtä. Työ hyväksytään, jos e/(d-t) + k 1-, kaikille k= 1,...,l, missä l on sen aikavälin indeksi, johon d kuuluu d l. osa aika Integroitu ajoittaminen Käyttöjärjestelmän tasolla on käytössä joku ajoitusmekanismi (kuten RM tai EDF) Se vuorottaa palvelimia, jotka suorittavat hallinnoimiaan töitä kukin oman ajoitusmenettelynsä mukaan Tämänkin luennon palvelimet voisivat suorittaa useampia töitä samanaikaisesti ja vuorottaa ne haluamallaan tavalla palvelimelle annettuihin aikaviipaleisiin Yhteenvetona: Käyttämällä erityisiä palvelimia epäsäännöllisille töille (sekä sporadiset että jaksottomat) Taataan näille tietty osuus kapasiteetista Vältetään näiden aiheuttamat haitat tärkeille jaksollisille töille ja Yksinkertaistetaan koko järjestelmän ajoitettavuusanalyysiä 8

Yhteenveto (jatkuu) Tarkastellut palvelimet: Osa-aika palvelimet (deferrable servers) Sporadiset palvelimet Painotettu reilu odotus (Weighted Fair- Queuing) 9