Arto Salminen,

Samankaltaiset tiedostot
6. Luento: Skedulointi eli Vuoronnus. Tommi Mikkonen,

6. Skedulointi eli vuoronnus

5. Luento: Rinnakkaisuus ja reaaliaika. Tommi Mikkonen,

Palvelut. Sulautetut järjestelmät Luku 2 Sivu 1 (??) Sulautetut käyttöjärjestelmät

OHJ-4301 Sulautettu Ohjelmointi

Ongelma(t): Jotta tietokone olisi mahdollisimman yleiskäyttöinen ja suorituskykyinen, niin miten tietokoneen resurssit tulisi tarjota ohjelmoijalle,

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

OHJ-4301 Sulautettu Ohjelmointi

VUOROTTAMINEN YKSI CPU

Algoritmit 1. Luento 3 Ti Timo Männikkö

4. Luento: Prosessit ja säikeets. Tommi Mikkonen,

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

2 Konekieli, aliohjelmat, keskeytykset

Arto Salminen,

VUOROTTAMINEN SMP JA REAALIAIKAJÄRJESTELMÄT Linux, W2000

LUENTO 8. u erillisten koneiden ryväs (cluster) u hajautettu järjestelmä (distributed system) u erilliset I/O-prosessorit

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 3 Epäsäännöllisten töiden ajoitus

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

Moniprosessorijärjestelmä

(p j b (i, j) + p i b (j, i)) (p j b (i, j) + p i (1 b (i, j)) p i. tähän. Palaamme sanakirjaongelmaan vielä tasoitetun analyysin yhteydessä.

Agenda. Läpäisyvaatimukset Henkilökunta Luennot ja aikataulu Kurssimateriaali Harjoitustyöt Demoharjoitus Tentti ja arvostelu Muuta?

9. Luento: Ohjelmistotyö. Tommi Mikkonen,

Moniprosessorijärjestelmä

Liite 1. Projektin tulokset (Semaforit Javassa) Jukka Hyvärinen Aleksanteri Aaltonen

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

Algoritmit 1. Luento 1 Ti Timo Männikkö

Sulautettujen järjestelmien skaala on niin laaja, että on erittäin vaikea antaa yleispätevää kuvausta siitä millainen on sulautettu järjestelmä.

Tuotannon jatkuva optimointi muutostilanteissa

Tietorakenteet ja algoritmit

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

Ongelma(t): Jotta tietokonetta voitaisiin käyttää monipuolisesti ja mahdollisimman yksinkertaisesti kaikkiin sille soveltuviin käyttötarkoituksiin,

Tuotantoprosessin optimaalinen aikataulutus (valmiin työn esittely)

REAALIAIKAJÄRJESTELMÄN MALLINTAMINEN UML KUVAUSMENETELMÄN AVULLA

Vasteaika. Vasteaikaa koskeva ohje ei ole juuri muuttunut Robert B. Millerin vuonna 1968 pitämästä esityksestä:

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

Luku 6. Dynaaminen ohjelmointi. 6.1 Funktion muisti

METEORIEN HAVAINNOINTI III VISUAALIHAVAINNOT 3.1 YLEISTÄ

Skedulerisimulaattorin implementointi fysiikkatöille ja sen matemaattinen validointi

Kiertokysely. Sulautetut järjestelmät Luku 2 Sivu 1 (??)

Sisällys. Kaavioiden rakenne. Kaavioiden piirto symboleita yhdistelemällä. Kaavion osan toistaminen silmukalla. Esimerkkejä. 2.2

Algoritmit 1. Luento 4 Ke Timo Männikkö

5. Rinnakkaisuus ja jako prosesseihin

Rinnakkaistietokoneet luento S

Matemaattisen analyysin tukikurssi

Mukautuvat järjestämisalgoritmit

Testauksen tuki nopealle tuotekehitykselle. Antti Jääskeläinen Matti Vuori

13 Lyhimmät painotetut polut

Sovellettu todennäköisyyslaskenta B

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

811312A Tietorakenteet ja algoritmit, , Harjoitus 3, Ratkaisu

Satunnaisalgoritmit. Topi Paavilainen. Laskennan teorian opintopiiri HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Skedulointi, kuormituksen tasaus, robotin navigaatio

Ohjelmoinnin perusteet Y Python

Osio 2: Luennot 5-8 Muistinhallinta

Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari Korhonen

Luento 5: YKSINKERTAINEN SEGMENTOINTI JA SIVUTUS

Algoritmit 1. Luento 2 Ke Timo Männikkö

Kombinatorinen optimointi

Oppimistavoitteet kurssilla Rinnakkaisohjelmointi

Tutoriaaliläsnäoloista

A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä.

Ongelmakenttä. Rinnakkaisuuden tarve. Kommunikointiin tarvitaan. Ympäristö Suunnittelun yksinkertaistaminen Suorituskyky Luotettavuus

Algoritmit 2. Luento 13 Ti Timo Männikkö

J. Virtamo Jonoteoria / Prioriteettijonot 1

Prosessin reaalisaatioiden tuottaminen

Ongelmakenttä. Yhteenvetoa. Ratkottava. Mekanismit. Lukkomuuttujat. Lukkomuuttujat, Spin Locks. Rinnakkaisuuden tarve. Kommunikointiin tarvitaan

Yhteenvetoa. Ongelmakenttä

Graafisen käyttöliittymän ohjelmointi Syksy 2013

Algoritmit 1. Demot Timo Männikkö

Tietorakenteet ja algoritmit - syksy

Algoritmit 2. Luento 14 Ke Timo Männikkö

Monitorit. Monitori Synkronointimenetelmiä Esimerkkejä. Andrews , Stallings 5.5

Monitorit. Tavoite. Monitori Synkronointimenetelmiä Esimerkkejä. Andrews , Stallings 5.5. Minimoi virhemahdollisuuksia

TIE Ohjelmistojen testaus 2015 Harjoitustyö Vaiheet 1 ja 2. Antti Jääskeläinen Matti Vuori

4 Tehokkuus ja algoritmien suunnittelu

Tarkennamme geneeristä painamiskorotusalgoritmia

Simulointi. Varianssinhallintaa Esimerkki

Liite 1. Laajennettu Eukleideen algoritmi suoraviivainen tapa

Algoritmit 1. Luento 10 Ke Timo Männikkö

ltöä (Luennot 5&6) Luento 5: YKSINKERTAINEN SEGMENTOINTI JA SIVUTUS Pikakertaus: : a) b) c) Dyn.. part.: sijoitus Kuva Buddy System: esimerkki

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

Dynaamiset regressiomallit

Investointimahdollisuudet ja niiden ajoitus

Tietorakenteet ja algoritmit

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

Algoritmit 1. Luento 9 Ti Timo Männikkö

AVL-puut. eräs tapa tasapainottaa binäärihakupuu siten, että korkeus on O(log n) kun puussa on n avainta

käyttötapaukset mod. testaus

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.

8 Yritys kilpailullisilla markkinoilla (Mankiw & Taylor, Ch 14)

6. Analogisen signaalin liittäminen mikroprosessoriin Näytteenotto analogisesta signaalista DA-muuntimet 4

Intel Pentium Pro -prosessori. tietokonearkkitehtuurit, syksy -96 Ari Rantanen

Algoritmit 2. Luento 2 To Timo Männikkö

Algoritmit 1. Luento 7 Ti Timo Männikkö

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio

Algoritmit 1. Luento 13 Ti Timo Männikkö

OMAN VUORON ODOTTAMINEN. Materiaali 2018 Viitottu Rakkaus Kuvat MyCuteGraphics.com Diapohjat SlidesCarnival.

1 Aritmeettiset ja geometriset jonot

Nyt ensimmäisenä periodina (ei makseta kuponkia) odotettu arvo on: 1 (qv (1, 1) + (1 q)v (0, 1)) V (s, T ) = C + F

Transkriptio:

6. Luento: Skedulointi eli Vuoronnus Arto Salminen, arto.salminen@tut.fi

Agenda Peruskäsitteet Skedulointialgoritmeja Reaaliaikajärjestelmien skedulointi Skeduloituvuuden analysoinnista Yhteenveto

Peruskäsitteet Skedulointi ~ mikä työ/tehtävä/prosessi valitaan suoritukseen seuraavaksi Skedulointimenetelmä/algoritmi suorittaa valinnan Perustuvat yleensä prioriteetteihin, jotka puolestaan voidaan johtaa järjestelmän ominaisuuksista, laskentaajasta, määräajasta, jne. Pehmeä vs. kova reaaliaika skeduloinnin kannalta Kerran tehtävät (sporadic) työt vs. toistuvat (periodic) työt Jitter ~ huojunta siinä milloin työt valmistuvat/voidaan aloittaa jne Siirräntäsidonnaiset (IO-bound) vs. suoritinsidonnaiset (CPU-bound) työt

Mittareita Suorittimen käyttöaste Kuinka suuren osan ajasta suoritin on käytössä (ei idlaa). Helppo laskea. Kokonaissuoritusteho (throughput) suoritetut tehtävät / aikayksikkö Voidaan laskea. Kääntymisaika (turnaround time) Ready-tilaan siirtymisen ja tehtävän valmistumisen välinen aika. Voidaan laskea. Odotusaikojen summa Kuinka kauan käytettiin yhteensä aikaa odottamiseen? Voidaan laskea. Vasteaika (response time) Ready-tilaan siirtymisen ja ensimmäisen vasteen tuottamisen välinen aika. Voidaan laskea. Reiluus (fairness) Saavatko kaikki prosessit suoritusaikaa? Vaikea määritellä tarkasti ja mitata.

Maksimoidaan Suorittimen käyttöaste Kokonaissuoritusteho Reiluus Minimoidaan Kääntymisaika Odotusaika Vasteaika Tavoitteita Vaikka reiluus on vaikea mitata, se voi olla hyvin tärkeä tavoite järjestelmässä

Vasteaika, kääntymisaika ja odotusaika Lasketaan tehtävien A, B ja C kokemat ajat A B C A B C A C A C aika Tehtävät tulevat ready-tilaan ajan hetkellä 0. Vasteaika =? Kääntymisaika =? Odotusaika =?

Reaaliaikajärjestelmät Pehmeä: ajoituksen epäonnistuminen ei ole vakava virhe Kova: ajoitus ei saa epäonnistua Reaktiivisuus: reagoi ärsykkeisiin nopeasti Ennustettavuus: vasteajat voidaan laskea

Reaaliaika Tapahtumien ajoittaminen oikeaan (ennustettavaan) aikaan Toisinaan mahdollisimman nopea vasteaika

Irroittamaton skedulointi Suorituksessa oleva prosessi säilyy samana kunnes se päästää jonkun toisen prosessin ajoon Päästäminen voi olla eksplisiittistä (esim. yield) tai implisiittistä (esim. palvelupyyntö lisälaitteelta) Toteutusmielessä varsin yksinkertainen Ei poissulkemisongelmaa (ajossa niin kauan kun saapuu paikkaan jossa voi hyvin keskeyttää suorituksen; munata toki voi!) Yksinkertaisimmillaan yksi säie, joka kutsuu tarvittavia rutiineja prioriteettien mukaisessa järjestyksessä

Milloin irroittamaton skedulointi tapahtuu? Run Termi nated Wait Ready

Irroittava skedulointi Suorituksessa oleva prosessi voidaan vaihtaa ilman sen antamaa lupaa Käytännössä tällöin vaihtoon voi johtaa lisäksi jokin prosessiin liittymätön laitteistotason tapahtuma (esim. (kello?)keskeytys) Monimutkaisempi; prosessi voi vaihtua missä kohdassa tahansa; tarvitaan poissulkemista jne. Prosessi ei edes välttämättä itse tiedä tulleensa keskeytetyksi välillä Jos mitään ei mainita, yleensä käytetään irroittavaa skedulointia

T1 Aktivoituminen T2 T1 Irroittamaton skedulointi T2 T1 Irroittava skedulointi T2

Skedulointialgoritmeja First In, First Out, jono Round Robin, kiertovuorottelu Fixed Priority, kiinteä prioriteetti Dynamic Priority, vaihteleva prioriteetti Shortest Remining Time, lyhin ajoaika ensin Earliest Deadline First, aikaisin määräaika ensin Muita?

FIFO First In, First Out Ehkä suoraviivaisin algoritmi; irroittamaton toteutus riittää yleensä aivan mainiosti Käytännössä harvinainen prosessien, säikeiden tai tehtävien yhteydessä suoraan Vaikuttaa usein epäsuorasti Semaforeihin liittyvät jonot Viestinvälitysjono Oheislaitteille lähetettävät tehtävät

RR Round-Robin ~ kiertovuorottelu Kuten FiFo, mutta annetaan jokaiselle prosessille vuorollaan viipale suoritusaikaa Aikaviipaleen pituus? Puhtaimmillaan ei lainkaan prioriteetteja; käytännön toteutuksissa usein prioriteetit mukana tavalla tai toisella Ennustettavuus kun prosessien määrää lisätään?

FIFO vs. RR Jos kontekstivaihtoon kuluvaa aikaa ei huomioida, onko RR aina parempi? Tehtävät A, B ja C aktivoituvat ajan hetkellä 0. A B C A B C A B C aika A B C aika Kääntymisaika, vasteaika, odotusaika tehtäville A, B ja C?

FP Fixed Priority Suorittaa aina sitä prosessia, jolla on korkein prioriteetti niiden prosessien joukosta, jotka ovat valmiina suoritukseen Skedulointimenetelmä ei vaikuta prioriteetteihin! Yleensä irroittava (oikeastaan siis FPPE), mutta ilman kellokeskeytyksiä ja automaattista uudelleenskedulointia myös irroittamaton mahdollinen Soveltuu hyvin reaaliaikajärjestelmiin; jopa inkrementaalinen kehitys Matalaprioriteettisten tehtävien lisäys helppoa Onko hyvä peruste valita algoritmi?

FP skedulointihetki Kun uusi säie tulee ready-tilaan Kun aikaviipale on kulunut loppuun prioriteetti C C B B A A A aika prioriteetti C C B B A A A aika Entäpä irroittamaton versio?

Vaihteleva prioriteetti Ei yksi menetelmä, vaan joukko erilaisia menetelmiä Prioriteetti muuttuu ajan funktiona Säikeen valinta kuten Fixed Priority kun prioriteetit laskettu Käytössä esim: Perinteinen Unix (I/O-sidonnaisten säikeiden prioriteetin nosto; nukkuvat kumminkin melkein koko ajan) Windows NT-perhe (prioriteetti kasvaa wait-tilasta poistettuttaessa ja pienenee kun ajoaika loppuu)

Toteutusesimerkki Jokaiseen säikeeseen lisätään kellokeskeytyslaskuri Kellokeskeytyksen tullessa kasvatetaan aktiivisena olleen prosessin laskuria Kerran sekunnissa käydään kaikki säikeet lävitse ja lasketaan uusi prioriteetti lisäämällä perusprioriteettiin laskurin arvo ja nollataan laskuri

SRT Shortest Remaining Time Lähtökohtana kääntää odotettu laskenta-aika prioriteetiksi, ts. lyhyet tehtävät suoritetaan ensin Usein riittää irroittamaton skedulointi, mutta puhtaimmillaan irroittava välttämätön (uusi, lyhyt tehtävä voi syrjäyttää vanhan pitkää laskentaa vaativan tehtävän) Skedulointia varten tehtävien ominaisuudet tunnettava tarkasti Sulautetuissa järjestelmissä kyseeseen tulevat pienet järjestelmät, joissa tehtäväjoukko on suljettu

EDF Earliest Deadline First Se tehtävä, jonka määräaika on ensimmäisenä suoritetaan ensimmäisenä Selkeä, suoraviivainen ja toistettava Sopii hyvin reaaliaikajärjestelmissä käytettäväksi

SRT vs EDF SRT ei sovi reaaliaikasovellukseen, miksi? A B C A aika A B C B A aika

Algoritmien ominaisuuksia Algoritmi Reilu Tehokkuus Vaste Reaaliaika Nälkiintyy First In, First Out On Huono Pitkä Ei Ei Round Robin On Matala Pitkä Ei Ei Kiinteä prioriteetti Ei Korkeahko Vaihtelee Kyllä Kyllä Vaihtuva prioriteetti On Korkea Vaihtelee Ei Ei Lyhin ajoaika ensin On Matala Keskitaso Ei Kyllä Aikaisin ensin On Keskitaso Keskitaso Kyllä Kyllä

Käänteisprioriteetti (priority inversion) Vaikka käytössä kiinteä prioriteetti, käytännössä voidaan joutua puljaamaan Jo 3 säiettä riittää (MP, KP, SP): MP varaa kriittisen alueen ja alkaa suorittaa sitä KP aktivoituu, saa suoritusvuoron ja pysäyttää MP:n keskelle aluetta SP aktivoituu, saa suoritusvuoron ja yrittää edetä kriittiselle alueelle; joutuu odottamaan koska alue on MP:llä KP saa suoritusvuoron, koska SP ei voi edetä Esto erilaisin varausstrategioin tai nostamalla prioriteettia kriittisellä alueella (ns. priority ceiling)

Reaaliaikajärjestelmien skedulointi Perustuu yleensä kiinteään prioriteettiin Oletus: Työlle annettu prioriteetti riittää suoritukseen; suorittimen tehtävä hoitaa homma riittävän nopeasti Prioriteetti siis kiteyttää Käynnistymishetki Laskenta-aika Syy-seuraussuhde muihin prosesseihin Huom. Tehokasta peliaikaa yleensä vain max 70%!

Periodinen vs. sporadinen Periodinen tehtävä toistuu tietyin säännöllisin väliajoin Vain periodisia -> rate monotonic scheduling, RMS Sporadinen tehtävä ilmestyy aina joskus tai ainoastaan kerran suoritettavien listalle Reaaliaikaisuuden kannalta keljua Joskus tarvittavia kikkoja: Sporadinen voidaan käsitellä periodisena varautumisena, jos oikeasti kovin kriittistä Periodinen voidaan käsitellä sporadisena, jos periodi kovin pitkä (pidempi kuin tutkittava aikaväli) ja tehtävä ei ole kriittinen

Skedulointiesimerkki Tehtävät A (periodinen) ja B (sporadinen) kahdella prosessorilla B A A A aika Tehtävät A ja B yhdellä prosessorilla, irroittava skedulointi A B A B A aika Onko irroittamaton skedulointi mahdollinen? Milloin irroittamaton skedulointi ei ole mahdollinen?

Ratkaisuvaihtoehtoja Ongelma syntyy vain kun sporadinen tehtävä ilmaantuu -> Voidaanko tehtävä A ajaa tällöin nopeammalla (huonommalla) algoritmilla? Skedulerin tunnettava algoritmit ja niiden ominaisuudet Ajoaika, määräajat Tuleeko ongelma niin usein, että A täytyy aina ajaa huonolla algoritmilla? Jos skedulointi dynaaminen, algoritmin vaihto johtaa testauksen monimutkaistumiseen

Jitter T1 Aktivoituminen kerralla 1 T2 T1 Aktivoituminen kerralla 2 T2

Reaaliaikajärjestelmän skeduloinnista C.L. Liu and J.W. Layland, Scheduling algorithms for multiprogramming in a hard-real-time environment, 1973 Mitä oletuksia paperissa käsitellylle järjestelmälle on esitetty (luku 3)? Ovatko vuoronnusalgoritmit irroittavia (luku 3)? Luvussa 4 esitetään algoritmi, jota kutsutaan nimellä rate-monotonic priority assignment. Miten prioriteetit määräytyvät tässä algoritmissa? Missä mielessä algoritmi on optimaalinen (luku 4)? Mikä on suorittimen maksimikuormitusaste FP algoritmia käytettäessä kun järjestelmässä on kaksi tehtävää? kun järjestelmässä on kolme tehtävää? kun järjestelmässä on mielivaltainen määrä tehtäviä? Miten prioriteetit määräytyvät luvussa 7 esitellyssä dynaamisessa algoritmissa? Milloin dynaaminen algoritmi on optimaalinen (luku 7)? Mikä on prosessorin maksimikuormitusaste dynaamista algoritmia käytettäessä? Mihin prosessorin maksimikuorimitusaste asettuu, jos algoritmit yhdistetään?

Staattinen skedulointi Kaikki lasketaan etukäteen valmiiksi, jonka jälkeen kone suorittaa operaatiot suunnitelman mukaan Yksinkertainen Nopea Ennustettava mutta vaatii tarkkaa tietoa tehtävistä ja on joustamaton Optimaalinen silloin kun pystyy skedulointiin aina silloin kun joku toinenkin staattinen skedulointialgoritmi suoriutuu tehtävästä

Analyysi ja staattinen skedulointi Staattinen tapaus yleensä suoraviivainen Ohjelmoija voi rakentaa skeduloinnin parhaan kykynsä mukaan Sitten käy miten käy; jos tehtävistä on tarkka tieto niin useimmiten ei sijaa epäilykselle jää Työkaluja Suorituspolkujen rakentajat/profiloijat Käytetty algoritmi Riittävän simppeli skeduleri

Dynaaminen skedulointi Skedulointi tehdään ajon aikana kulloisenkin tilanteen mukaisesti On siis pystyttävä valitsemaan suoritettava tehtävä nopeasti! Valintakriteerejä useita: Määräaika, laskenta-aika, jne; Tavoitteena yleensä rakentaa kriteerien perusteella prioriteettipohjainen järjestelmä tavalla tai toisella Optimaalinen silloin kun pystyy skedulointiin aina silloin kun jokin staattinen skedulointialgoritmikin pystyy Huom! Staattinen algoritmi saa enemmän lähtötietoja!

Analyysi ja dynaaminen skedulointi Yleensä se monimutkaisempi tapaus Pikatesti: Rakennetaan järjestelmä, jossa on samantapaiset (varjo/dummy) tehtävät kuin mitä toteutuksessa tarvitaan, ja kokeillaan miten suorituksessa käy Kova prosessorikuorma tarkoittaa oikeastaan aina pahoja ongelmia Monimutkaisempi (ja tarkempi) testi: Ryhdytään selvittelemään suoritusaikoja samaan tapaan kuin staattisen analyysin tapauksessa Analyysi yksityiskohtaisemman varjojärjestelmän mukaisesti

Analyysi ja matemaattiset menetelmät Jotkut algoritmit mahdollistavat skeduloituvuuden arvioinnin perustuen matemaattiseen kaavaan Lähtöarvot: Tehtävät Tehtävien kestoajat Tehtävien määräajat Tehtävien periodit Sporadiset tehtävät Tuloksena yleensä esim. käyttöaste Kyllä == kyllä, Ei == ehkä jollakin muulla skedulointialgoritmilla Usein yksinkertaistuksia liittyen prosessin vaihtamisen kustannuksiin jne. Lopulta lähes aina on pakko kokeilla, jos prosessorin käyttöaste ei jää todella alhaiseksi

Yhteenveto Irrottava ja irroittamaton skedulointi Useita skedulointialgoritmeja, joilla erilaisia ominaisuuksia Pikatesti: Tehdään leikkikuorma ja kokeillaan miten käy Monimutkaisempi testi: Matkitaan järjestelmää tarkemmin; kirjoituspöytäkokeilut Analyysi: Järjestelmän ominaisuuksien perusteella voidaan laskea käyttöastetta/skeduloituvuutta Periodisuus ja sporadisuus