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

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

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 1. Demot Timo Männikkö

11. Javan toistorakenteet 11.1

Algoritmit 2. Luento 11 Ti Timo Männikkö

Algoritmit 1. Luento 1 Ti Timo Männikkö

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

Tarkennamme geneeristä painamiskorotusalgoritmia

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

7.4 Sormenjälkitekniikka

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

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

Algoritmit 2. Luento 8 To Timo Männikkö

Matematiikan tukikurssi, kurssikerta 3

Tehtävä 2: Tietoliikenneprotokolla

Markov-ketjut pitkällä aikavälillä

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

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

ABHELSINKI UNIVERSITY OF TECHNOLOGY

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

12. Javan toistorakenteet 12.1

Algoritmit 1. Luento 7 Ti Timo Männikkö

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

Moniprosessorijärjestelmä

Väliestimointi (jatkoa) Heliövaara 1

Dynaamiset regressiomallit

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

ALGORITMIT 1 DEMOVASTAUKSET KEVÄT 2012

Moniprosessorijärjestelmä

Algoritmit 2. Luento 14 Ke Timo Männikkö

811120P Diskreetit rakenteet

Rinnakkaistietokoneet luento S

Optimoinnin sovellukset

Algoritmit 2. Luento 10 To Timo Männikkö

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

Algoritmit 1. Luento 9 Ti Timo Männikkö

HARJOITUS- PAKETTI E

Algoritmit 2. Luento 12 To Timo Männikkö

811120P Diskreetit rakenteet

Osio 2: Luennot 5-8 Muistinhallinta

12. Javan toistorakenteet 12.1

Algoritmit 2. Luento 11 Ti Timo Männikkö

J. Virtamo Jonoteoria / Prioriteettijonot 1

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

Algoritmit 2. Luento 1 Ti Timo Männikkö

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 /

Algoritmit 1. Luento 11 Ti Timo Männikkö

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

Teoria. Prosessin realisaatioiden tuottaminen

Prosessin reaalisaatioiden tuottaminen

Signaalit ja järjestelmät aika- ja taajuusalueissa

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

811312A Tietorakenteet ja algoritmit, , Harjoitus 3, Ratkaisu

Algoritmit 2. Luento 2 Ke Timo Männikkö

Seminaari: Keskusmuistitietokannat. Keskusmuistitietokantojen samanaikaisuuden hallinta Ilkka Pullinen

Algoritmit 1. Demot Timo Männikkö

Algoritmit 2. Luento 2 To Timo Männikkö

Algoritmit 2. Luento 3 Ti Timo Männikkö

Kypsyysnäytteen laatiminen ja arvioiminen Examissa

Algoritmit 1. Demot Timo Männikkö

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

Johdatus verkkoteoriaan luento Netspace

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

Algoritmit 1. Luento 13 Ti Timo Männikkö

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

Algoritmit 1. Luento 10 Ke Timo Männikkö

Stabilointi. Marja Hassinen. p.1/48

Täydentäviä muistiinpanoja jäsennysalgoritmeista

Algoritmit 2. Luento 6 Ke Timo Männikkö

Itsestabilointi: perusmääritelmiä ja klassisia tuloksia

Malliratkaisut Demo 1

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

Mat Dynaaminen optimointi, mallivastaukset, kierros 5

Matematiikan tukikurssi, kurssikerta 1

Malliratkaisut Demot

Lukio alkaa

Investointimahdollisuudet ja investoinnin ajoittaminen

13 Lyhimmät painotetut polut

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 Vakio käyttöaste (constant utilization) Koko kaistanleveys (Total bandwidth) Painotettu reilu odotus (Weighted Fair-Queing) Sporadiset (tosiaikaiset satunnaiset) työt Kaksitasoinen integroitu vuorottaminen 1

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 2

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. 3

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 Perusvuorottaja 1,5 A1 4 0,5 2,0 A2 9,5 A3 10,5 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 12 A3 A3 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 4

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ä 5

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 6

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 7

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ä 8

Sisältö Yleistä Jaksottomien (ei-tosiaikaisten) töiden jaksolliset vuorotuspalvelut Osa-aika palvelimet (deferrable servers) Sporadiset palvelimet Vakio käyttöaste (constant utilization) Koko kaistanleveys (Total bandwidth) 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ö 9

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 10

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

Esimerkki (EDF-menetelmä) Kuva 7-3 (b) 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 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 12

Edellinen kriittinen tilanne kuvana Kuva 7-5 w i 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 p i Oletus: osa-aikapalvelimen prioriteetti on suurin ja jakson pituus siis pienin 13

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 e s t t + p 1 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 s es es... t -1 t -1 +e s p s t 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 i ek min( d, p + us 1+ ) ps e d k= 1 k k i s 1 Koko järjestelmä Jaksolliset työt, joiden suhteellinen aikaraja ennen T i osa-aikapalvelin (Kirjan Teoreema 7.3) 14

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ää. 15

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 16

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ä. 17

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ä 18

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ä Vakio käyttöaste (constant utilization) Koko kaistanleveys (Total bandwidth) 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 19

Lisää palvelimia Vakio käyttöaste (constant utilization) Palvelimen käyttöön varataan tietty käyttöaste s, joka on siis palvelimen koko Koko kaistanleveys (Total bandwidth) 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 20

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 21

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 Vakio käyttöaste (constant utilization) Koko kaistanleveys (Total bandwidth) Painotettu reilu odotus (Weighted Fair-Queing) Sporadiset työt Kaksitasoinen integroitu vuorottaminen 22

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 23

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ä 24

Yhteenveto (jatkuu) Tarkastellut palvelimet: Osa-aika palvelimet (deferrable servers) Sporadiset palvelimet Vakio käyttöaste (constant utilization) Koko kaistanleveys (Total bandwidth) Painotettu reilu odotus (Weighted Fair- Queuing) 25