Arto Salminen,

Koko: px
Aloita esitys sivulta:

Download "Arto Salminen,"

Transkriptio

1 6. Luento: Skedulointi eli Vuoronnus Arto Salminen,

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

3 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

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

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

6 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 =?

7 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

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

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

10 Milloin irroittamaton skedulointi tapahtuu? Run Termi nated Wait Ready

11 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

12 T1 Aktivoituminen T2 T1 Irroittamaton skedulointi T2 T1 Irroittava skedulointi T2

13 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?

14 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

15 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?

16 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?

17 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?

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

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

20 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

21 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

22 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

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

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

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

26 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%!

27 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

28 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?

29 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

30 Jitter T1 Aktivoituminen kerralla 1 T2 T1 Aktivoituminen kerralla 2 T2

31 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?

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

33 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

34 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!

35 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

36 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

37 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

6. Luento: Skedulointi eli Vuoronnus. Tommi Mikkonen, tommi.mikkonen@tut.fi

6. Luento: Skedulointi eli Vuoronnus. Tommi Mikkonen, tommi.mikkonen@tut.fi 6. Luento: Skedulointi eli Vuoronnus Tommi Mikkonen, tommi.mikkonen@tut.fi Agenda Peruskäsitteet Skedulointialgoritmeja Reaaliaikajärjestelmien skedulointi Skeduloituvuuden analysoinnista Yhteenveto Peruskäsitteet

Lisätiedot

6. Skedulointi eli vuoronnus

6. Skedulointi eli vuoronnus 100 Sulautettu ohjelmointi 6. Skedulointi eli vuoronnus Skeduloinnin eli vuoronnuksen (scheduling) tehtävä voidaan tiivistää kysymykseen, miten seuraavaksi suoritukseen otettava prosessi valitaan. Valintaperusteita

Lisätiedot

5. Luento: Rinnakkaisuus ja reaaliaika. Tommi Mikkonen, tommi.mikkonen@tut.fi

5. Luento: Rinnakkaisuus ja reaaliaika. Tommi Mikkonen, tommi.mikkonen@tut.fi 5. Luento: Rinnakkaisuus ja reaaliaika Tommi Mikkonen, tommi.mikkonen@tut.fi Agenda Perusongelmat Jako prosesseihin Reaaliaika Rinnakkaisuus Rinnakkaisuus tarkoittaa tässä yhteydessä useamman kuin yhden

Lisätiedot

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

Palvelut. Sulautetut järjestelmät Luku 2 Sivu 1 (??) Sulautetut käyttöjärjestelmät Sulautetut järjestelmät Luku 2 Sivu 1 (??) Palvelut Käyttöjärjestelmän tehtävänä on tarjota ohjelmoijalla erilaisia palveluita Tyypillisin palvelu, jota sulautetut käyttöjärjestelmät tarjoavat on prosessien

Lisätiedot

OHJ-4301 Sulautettu Ohjelmointi

OHJ-4301 Sulautettu Ohjelmointi OHJ-4301 Sulautettu Ohjelmointi (http://www.cs.tut.fi/~sulo/) 5op, to 12-14, TB 109 Arto Salminen, arto.salminen@tut.fi Läpäisyvaatimukset Hyväksytysti suoritetut: Tentti Harjoitustyöt Harjoitustyöt 3

Lisätiedot

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

Ongelma(t): Jotta tietokone olisi mahdollisimman yleiskäyttöinen ja suorituskykyinen, niin miten tietokoneen resurssit tulisi tarjota ohjelmoijalle, Ongelma(t): Jotta tietokone olisi mahdollisimman yleiskäyttöinen ja suorituskykyinen, niin miten tietokoneen resurssit tulisi tarjota ohjelmoijalle, sovellusohjelmille ja käyttäjille? 2012-2013 Lasse Lensu

Lisätiedot

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

Käyttöjärjestelmät: poissulkeminen ja synkronointi Käyttöjärjestelmät: poissulkeminen ja synkronointi Teemu Saarelainen Tietotekniikka teemu.saarelainen@kyamk.fi Lähteet Stallings, W. Operating Systems Haikala, Järvinen, Käyttöjärjestelmät Eri Web-lähteet

Lisätiedot

OHJ-4301 Sulautettu Ohjelmointi

OHJ-4301 Sulautettu Ohjelmointi OHJ-4301 Sulautettu Ohjelmointi (http://www.cs.tut.fi/~sulo/) /~sulo/) 5op, to 12-14, 14, TB 109 Tommi Mikkonen, tommi.mikkonen@tut.fi Arto Salminen, arto.salminen@tut.fi Läpäisyvaatimukset Hyväksytysti

Lisätiedot

VUOROTTAMINEN YKSI CPU

VUOROTTAMINEN YKSI CPU Käyttöjärjestelmät VUOROTTAMINEN YKSI CPU Stallings, Luku 9 KJ-II K2003 / Auvo Häkkinen, CT50A2602 / Leena Ikonen 5-1 Mihin jäimmekään? Tähän mennessä: Ready-jono, valitse ensimmäinen Aikaviipaletekniikka

Lisätiedot

Algoritmit 1. Luento 3 Ti Timo Männikkö

Algoritmit 1. Luento 3 Ti Timo Männikkö Algoritmit 1 Luento 3 Ti 17.1.2017 Timo Männikkö Luento 3 Algoritmin analysointi Rekursio Lomituslajittelu Aikavaativuus Tietorakenteet Pino Algoritmit 1 Kevät 2017 Luento 3 Ti 17.1.2017 2/27 Algoritmien

Lisätiedot

4. Luento: Prosessit ja säikeets. Tommi Mikkonen, tommi.mikkonen@tut.fi

4. Luento: Prosessit ja säikeets. Tommi Mikkonen, tommi.mikkonen@tut.fi 4. Luento: Prosessit ja säikeets Tommi Mikkonen, tommi.mikkonen@tut.fi Agenda Prosessi Säikeet Keskeytykset Keskeytyskäsittely Käyttöjärjestelmäkutsut Prosessielementti Prosessin hallinta Suunnittelunäkökohtia

Lisätiedot

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

Tosiaikajärjestelmät Luento 5: Resurssien hallinta ja prioriteetit Tosiaikajärjestelmät Luento 5: Resurssien hallinta ja prioriteetit Tiina Niklander Jaetut resurssit Useat tapahtumat jakavat ohjelma-/laitteisto-olioita, joissa keskinäinen poissulkeminen on välttämätöntä.

Lisätiedot

2 Konekieli, aliohjelmat, keskeytykset

2 Konekieli, aliohjelmat, keskeytykset ITK145 Käyttöjärjestelmät, kesä 2005 Tenttitärppejä Tässä on lueteltu suurin piirtein kaikki vuosina 2003-2005 kurssin tenteissä kysytyt kysymykset, ja mukana on myös muutama uusi. Jokaisessa kysymyksessä

Lisätiedot

Arto Salminen,

Arto Salminen, 4. Luento: Prosessit ja säikeet Arto Salminen, arto.salminen@tut.fi Agenda Prosessi Säikeet Keskeytykset Keskeytyskäsittely Käyttöjärjestelmäkutsut Prosessielementti Prosessin hallinta Suunnittelunäkökohtia

Lisätiedot

VUOROTTAMINEN SMP JA REAALIAIKAJÄRJESTELMÄT Linux, W2000

VUOROTTAMINEN SMP JA REAALIAIKAJÄRJESTELMÄT Linux, W2000 LUENTO 8 Käyttöjärjestelmät II VUOROTTAMINEN SMP JA REAALIAIKAJÄRJESTELMÄT Linux, W2000 Ch 10 [Stal 05] ( Ch 20 [DDC04], 11.4 [Tane01] ) 1 Tämä luento Moniprossorijärjestelmien vuorottaminen Reaaliaikaskedulointi

Lisätiedot

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

LUENTO 8. u erillisten koneiden ryväs (cluster) u hajautettu järjestelmä (distributed system) u erilliset I/O-prosessorit Käyttöjärjestelmät II VUOROTTAMINEN SMP JA REAALIAIKAJÄRJESTELM RJESTELMÄT Linux, W2000 Ch 10 [Stal[ 05] ( Ch 20 [DDC04], 11.4 [Tane01] ) LUENTO 8 Tämä luento Moniprossorijärjestelmien vuorottaminen Reaaliaikaskedulointi

Lisätiedot

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

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 Tiina Niklander 20.3.2006 (päiv. 22.3.) Sisältö Yleistä Jaksottomien (ei-tosiaikaisten) töiden jaksolliset vuorotuspalvelut Osa-aika palvelimet

Lisätiedot

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

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

Lisätiedot

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

VUOROTTAMINEN: SMP ja Reaaliaikajärjestelmät Linux, W2000 LUENTO 13 VUOROTTAMINEN: SMP ja Reaaliaikajärjestelmät Linux, W2000 Ch 10 [Stal 05] ( Ch 20 [DDC04], 11.4 [Tane01] ) 1 Vuorottaminen yhdellä suorittimella Milloin vuorotetaan? Short-term, median-term,

Lisätiedot

Moniprosessorijärjestelmä

Moniprosessorijärjestelmä LUENTO 13 Moniprosessorijärjestelmä VUOROTTAMINEN: SMP ja Reaaliaikajärjestelmät Linux, W2000 Löyhästi kytketyt (loosely coupled) erillisten koneiden ryväs (cluster) hajautettu järjestelmä (distributed

Lisätiedot

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

Agenda. Läpäisyvaatimukset Henkilökunta Luennot ja aikataulu Kurssimateriaali Harjoitustyöt Demoharjoitus Tentti ja arvostelu Muuta? OHJ-4301 Sulautettu Ohjelmointi (http://www.cs.tut.fi/~sulo/) 5op, to 12-14, 14, TB 109 Arto Salminen, arto.salminen@tut.fi Agenda Läpäisyvaatimukset Henkilökunta Luennot ja aikataulu Kurssimateriaali

Lisätiedot

9. Luento: Ohjelmistotyö. Tommi Mikkonen, tommi.mikkonen@tut.fi

9. Luento: Ohjelmistotyö. Tommi Mikkonen, tommi.mikkonen@tut.fi 9. Luento: Ohjelmistotyö Tommi Mikkonen, tommi.mikkonen@tut.fi Agenda Johdanto Ristikäännös Testaus ja virheen jäljitys Yleensä Kehitysympäristössä Käyttöympäristössä Laitteiston testaus Iteratiivisesta

Lisätiedot

Moniprosessorijärjestelmä

Moniprosessorijärjestelmä VUOROTTAMINEN: SMP ja Reaaliaikajärjestelmät Linux, W2000 Ch 10 [Stal 05] ( Ch 20 [DDC04], 11.4 [Tane01] ) LUENTO 13 Vuorottaminen yhdellä suorittimella Milloin vuorotetaan? Short-term, median-term, long-term

Lisätiedot

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

Liite 1. Projektin tulokset (Semaforit Javassa) Jukka Hyvärinen Aleksanteri Aaltonen Helsingin Yliopisto, tietojenkäsittelytieteen laitos Rinnakkaisohjelmointi (syksy 2006) Liite 1. Projektin tulokset (Semaforit Javassa) Jukka Hyvärinen Aleksanteri Aaltonen a. Käyttötarkoitus ja sovellusalue

Lisätiedot

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

Yleistä. Esimerkki. Yhden palvelimen jono. palvelin. saapuvat asiakkaat. poistuvat asiakkaat. odotushuone, jonotuspaikat J. Virtamo 38.3143 Jonoteoria / Jonojärjestelmät 1 JONOJÄRJESTELMÄT Yleistä Jonojärjestelmät muodostavat keskeisen mallinnuksen välineen mm. tietoliikenne- ja tietokonejärjestelmien suorituskyvyn analysoinnissa.

Lisätiedot

Algoritmit 1. Luento 1 Ti Timo Männikkö

Algoritmit 1. Luento 1 Ti Timo Männikkö Algoritmit 1 Luento 1 Ti 10.1.2017 Timo Männikkö Luento 1 Algoritmi Algoritmin toteutus Ongelman ratkaiseminen Algoritmin tehokkuus Algoritmin suoritusaika Algoritmin analysointi Algoritmit 1 Kevät 2017

Lisätiedot

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

Sulautettujen järjestelmien skaala on niin laaja, että on erittäin vaikea antaa yleispätevää kuvausta siitä millainen on sulautettu järjestelmä. Sulautettujen järjestelmien skaala on niin laaja, että on erittäin vaikea antaa yleispätevää kuvausta siitä millainen on sulautettu järjestelmä. On arvioitu, että maailmassa on tällä hetkellä enemmän sulautettuja

Lisätiedot

Tuotannon jatkuva optimointi muutostilanteissa

Tuotannon jatkuva optimointi muutostilanteissa Tuotannon jatkuva optimointi muutostilanteissa 19.4.2012 Henri Tokola Henri Tokola Esityksen pitäjä 2009 Tohtorikoulutettava Aalto-yliopisto koneenrakennustekniikka Tutkimusaihe: Online-optimointi ja tuotannonohjaus

Lisätiedot

Tietorakenteet ja algoritmit

Tietorakenteet ja algoritmit Tietorakenteet ja algoritmit Merkintöjen tulkintoja *++Pstack->top = item *Pstack->top++ = item (*Pstack->top)++ *(Pstack++)->top = item *(++Pstack)->top = item Lisää pinon toteutuksia Dynaaminen taulukko

Lisätiedot

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

Concurrency - Rinnakkaisuus. Group: 9 Joni Laine Juho Vähätalo Concurrency - Rinnakkaisuus Group: 9 Joni Laine Juho Vähätalo Sisällysluettelo 1. Johdanto... 3 2. C++ thread... 4 3. Python multiprocessing... 6 4. Java ExecutorService... 8 5. Yhteenveto... 9 6. Lähteet...

Lisätiedot

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

Ongelma(t): Jotta tietokonetta voitaisiin käyttää monipuolisesti ja mahdollisimman yksinkertaisesti kaikkiin sille soveltuviin käyttötarkoituksiin, Ongelma(t): Jotta tietokonetta voitaisiin käyttää monipuolisesti ja mahdollisimman yksinkertaisesti kaikkiin sille soveltuviin käyttötarkoituksiin, niin miten tietokoneen resurssit tulisi antaa käyttöön

Lisätiedot

Tuotantoprosessin optimaalinen aikataulutus (valmiin työn esittely)

Tuotantoprosessin optimaalinen aikataulutus (valmiin työn esittely) Tuotantoprosessin optimaalinen aikataulutus (valmiin työn esittely) Joona Kaivosoja 01.12.2014 Ohjaaja: DI Ville Mäkelä Valvoja: Prof. Ahti Salo Työn saa tallentaa ja julkistaa Aalto-yliopiston avoimilla

Lisätiedot

REAALIAIKAJÄRJESTELMÄN MALLINTAMINEN UML KUVAUSMENETELMÄN AVULLA

REAALIAIKAJÄRJESTELMÄN MALLINTAMINEN UML KUVAUSMENETELMÄN AVULLA Sami Kari-Pekka Äyrämö REAALIAIKAJÄRJESTELMÄN MALLINTAMINEN UML KUVAUSMENETELMÄN AVULLA Tietotekniikan pro gradu -tutkielma Ohjelmistotekniikan linja 28.11.2002 Jyväskylän yliopisto Tietotekniikan laitos

Lisätiedot

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

Vasteaika. Vasteaikaa koskeva ohje ei ole juuri muuttunut Robert B. Millerin vuonna 1968 pitämästä esityksestä: Nielsen: "Olen tutkinut Webin käytettävyyttä vuodesta 1994, ja jokaisessa tutkimuksessa esiin on noussut sama asia: käyttäjät haluaisivat sivujen latautuvan nopeammin. Aluksi olin sitä mieltä, että käyttäjät

Lisätiedot

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

Graafit ja verkot. Joukko solmuja ja joukko järjestämättömiä solmupareja. eli haaroja. Joukko solmuja ja joukko järjestettyjä solmupareja eli kaaria Graafit ja verkot Suuntamaton graafi: eli haaroja Joukko solmuja ja joukko järjestämättömiä solmupareja Suunnattu graafi: Joukko solmuja ja joukko järjestettyjä solmupareja eli kaaria Haaran päätesolmut:

Lisätiedot

Luku 6. Dynaaminen ohjelmointi. 6.1 Funktion muisti

Luku 6. Dynaaminen ohjelmointi. 6.1 Funktion muisti Luku 6 Dynaaminen ohjelmointi Dynaamisessa ohjelmoinnissa on ideana jakaa ongelman ratkaisu pienempiin osaongelmiin, jotka voidaan ratkaista toisistaan riippumattomasti. Jokaisen osaongelman ratkaisu tallennetaan

Lisätiedot

METEORIEN HAVAINNOINTI III VISUAALIHAVAINNOT 3.1 YLEISTÄ

METEORIEN HAVAINNOINTI III VISUAALIHAVAINNOT 3.1 YLEISTÄ 23 METEORIEN HAVAINNOINTI III VISUAALIHAVAINNOT 3.1 YLEISTÄ Tässä metodissa on kyse perinteisestä. luettelomaisesta listaustyylistä, jossa meteorit kirjataan ylös. Tietoina meteorista riittää, kuuluuko

Lisätiedot

Skedulerisimulaattorin implementointi fysiikkatöille ja sen matemaattinen validointi

Skedulerisimulaattorin implementointi fysiikkatöille ja sen matemaattinen validointi Skedulerisimulaattorin implementointi fysiikkatöille ja sen matemaattinen validointi 24.01.2011 Ohjaaja: Tapio Niemi Valvoja: Harri Ehtamo Tausta ja työn tavoite Työ tehtiin Helsinki Institute of Physics:ille,

Lisätiedot

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

Kiertokysely. Sulautetut järjestelmät Luku 2 Sivu 1 (??) Sulautetut järjestelmät Luku 2 Sivu 1 (??) Kiertokysely Perinteiset ohjelmointikielet kuten C tukevat hyvin sekventiaalista ohjelmointia, jossa herätteisiin reagointi on helppoa toteuttaa pollauksella

Lisätiedot

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

Sisällys. Kaavioiden rakenne. Kaavioiden piirto symboleita yhdistelemällä. Kaavion osan toistaminen silmukalla. Esimerkkejä. 2.2 2. Vuokaaviot 2.1 Sisällys aavioiden rakenne. aavioiden piirto symboleita yhdistelemällä. aavion osan toistaminen silmukalla. simerkkejä. 2.2 Vuokaaviot Graafinen kieli algoritmien kuvaamiseen. Muodostetaan

Lisätiedot

Algoritmit 1. Luento 4 Ke Timo Männikkö

Algoritmit 1. Luento 4 Ke Timo Männikkö Algoritmit 1 Luento 4 Ke 18.1.2017 Timo Männikkö Luento 4 Tietorakenteet Pino Pinon toteutus Jono Jonon toteutus Lista Listaoperaatiot Algoritmit 1 Kevät 2017 Luento 4 Ke 18.1.2017 2/29 Pino Pino, stack,

Lisätiedot

5. Rinnakkaisuus ja jako prosesseihin

5. Rinnakkaisuus ja jako prosesseihin Rinnakkaisuus ja jako prosesseihin 89 5. Rinnakkaisuus ja jako prosesseihin Tietokoneen oheislaitteet toimivat toisistaan riippumatta. Ne edustavat todellista rinnakkaisuutta, sillä niiden toimintojen

Lisätiedot

Rinnakkaistietokoneet luento S

Rinnakkaistietokoneet luento S Rinnakkaistietokoneet luento 5 521475S Silmukalliset ohjelmat Silmukat joissa ei ole riippuvuussyklejä voidaan vektoroida eli suorittaa silmukan vektorointi Jokainen yksittäinen käsky silmukan rungossa

Lisätiedot

Matemaattisen analyysin tukikurssi

Matemaattisen analyysin tukikurssi Matemaattisen analyysin tukikurssi 5. Kurssikerta Petrus Mikkola 10.10.2016 Tämän kerran asiat Raja-arvo ja toispuolinen raja-arvo Funktion suurin ja pienin arvo Lukujono Lukujonon suppeneminen Kasvava

Lisätiedot

Mukautuvat järjestämisalgoritmit

Mukautuvat järjestämisalgoritmit 1 Mukautuvat järjestämisalgoritmit Riku Saikkonen TIK-päivä, 17. 1. 2013 2 Mukautuva järjestäminen minkä tahansa vertailuihin perustuvan järjestämisalgoritmin täytyy tehdä pahimmassa tapauksessa vähintään

Lisätiedot

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

Testauksen tuki nopealle tuotekehitykselle. Antti Jääskeläinen Matti Vuori Testauksen tuki nopealle tuotekehitykselle Antti Jääskeläinen Matti Vuori Mitä on nopeus? 11.11.2014 2 Jatkuva nopeus Läpäisyaste, throughput Saadaan valmiiksi tasaiseen, nopeaan tahtiin uusia tuotteita

Lisätiedot

13 Lyhimmät painotetut polut

13 Lyhimmät painotetut polut TIE-20100 Tietorakenteet ja algoritmit 297 13 Lyhimmät painotetut polut BFS löytää lyhimmän polun lähtösolmusta graafin saavutettaviin solmuihin. Se ei kuitenkaan enää suoriudu tehtävästä, jos kaarien

Lisätiedot

Sovellettu todennäköisyyslaskenta B

Sovellettu todennäköisyyslaskenta B Sovellettu todennäköisyyslaskenta B Antti Rasila 8. marraskuuta 2007 Antti Rasila () TodB 8. marraskuuta 2007 1 / 18 1 Kertausta: momenttimenetelmä ja suurimman uskottavuuden menetelmä 2 Tilastollinen

Lisätiedot

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

Tosiaikajärjestelmät Luento 9: Moniprosessorijärjestelmät Tosiaikajärjestelmät Luento 9: Moniprosessorijärjestelmät Tiina Niklander Liu: Real-Time Systems luku 9 Sisältö Järjestelmämalli moniprosessorikone hajautettu järjestelmä Päästä-päähän Tehtävän töiden

Lisätiedot

811312A Tietorakenteet ja algoritmit, , Harjoitus 3, Ratkaisu

811312A Tietorakenteet ja algoritmit, , Harjoitus 3, Ratkaisu 811312A Tietorakenteet ja algoritmit, 2018-2019, Harjoitus 3, Ratkaisu Harjoituksessa käsitellään algoritmien aikakompleksisuutta. Tehtävä 3.1 Kuvitteelliset algoritmit A ja B lajittelevat syötteenään

Lisätiedot

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

Satunnaisalgoritmit. Topi Paavilainen. Laskennan teorian opintopiiri HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Satunnaisalgoritmit Topi Paavilainen Laskennan teorian opintopiiri HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Helsinki, 23. helmikuuta 2014 1 Johdanto Satunnaisalgoritmit ovat algoritmeja, joiden

Lisätiedot

Skedulointi, kuormituksen tasaus, robotin navigaatio

Skedulointi, kuormituksen tasaus, robotin navigaatio Skedulointi, kuormituksen tasaus, robotin navigaatio Esitelmä algoritmiikan tutkimusseminaarissa 17.2.2003 Kimmo Palin Tietojenkäsittelytieteen laitos Helsingin Yliopisto Skedulointi, kuormituksen tasaus,

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2009 1 / 28 Puhelinluettelo, koodi def lue_puhelinnumerot(): print "Anna lisattavat nimet ja numerot." print

Lisätiedot

Osio 2: Luennot 5-8 Muistinhallinta

Osio 2: Luennot 5-8 Muistinhallinta Käyttöjärjestelmät I Osio 2: Luennot 5-8 Muistinhallinta Tiina Niklander; kalvot Auvo Häkkinen Tietojenkäsittelytieteen laitos Helsinin yliopisto "!$#%#'&)(*+,(.-0/1#'-243 0# 5 Stallins, Luku 7 KJ-I S2004

Lisätiedot

Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari Korhonen

Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari Korhonen Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari 1 1. JOHDANTO 1.1 Määritelmiä 1.2 Tietorakenteen ja algoritmin valinta 1.3 Algoritmit ja tiedon määrä 1.4 Tietorakenteet ja toiminnot 1.5 Esimerkki:

Lisätiedot

Luento 5: YKSINKERTAINEN SEGMENTOINTI JA SIVUTUS

Luento 5: YKSINKERTAINEN SEGMENTOINTI JA SIVUTUS Käyttöjärjestelmät t I Luento 5: YKSINKERTAINEN SEGMENTOINTI JA SIVUTUS Stallings, Luku 7 KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 5-1 Sisält ltöä (Luennot 5&6) Yleistä muistinhallinnasta (luku

Lisätiedot

Algoritmit 1. Luento 2 Ke Timo Männikkö

Algoritmit 1. Luento 2 Ke Timo Männikkö Algoritmit 1 Luento 2 Ke 11.1.2017 Timo Männikkö Luento 2 Algoritmin esitys Algoritmien analysointi Suoritusaika Asymptoottinen kertaluokka Peruskertaluokkia NP-täydelliset ongelmat Algoritmit 1 Kevät

Lisätiedot

Kombinatorinen optimointi

Kombinatorinen optimointi Kombinatorinen optimointi Sallittujen pisteiden lukumäärä on äärellinen Periaatteessa ratkaisu löydetään käymällä läpi kaikki pisteet Käytännössä lukumäärä on niin suuri, että tämä on mahdotonta Usein

Lisätiedot

Oppimistavoitteet kurssilla Rinnakkaisohjelmointi

Oppimistavoitteet kurssilla Rinnakkaisohjelmointi 17.5.2006 1/5 Oppimistavoitteet kurssilla Rinnakkaisohjelmointi Rinnakkaisuus ja rinnakkaisuuden soveltaminen tietojenkäsittelyjärjestelmissä Kurssin Tietokoneen toiminta perusteella ymmärtää, miten ohjelman

Lisätiedot

Tutoriaaliläsnäoloista

Tutoriaaliläsnäoloista Tutoriaaliläsnäoloista Tutoriaaliläsnäolokierroksella voi nyt täyttää anomuksen läsnäolon merkitsemisestä Esim. tagi ei toiminut, korvavaltimon leikkaus, yms. Hyväksyn näitä omaa harkintaa käyttäen Tarkoitus

Lisätiedot

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

A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä. Esimerkki otteluvoiton todennäköisyys A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä. Yksittäisessä pelissä A voittaa todennäköisyydellä p ja B todennäköisyydellä q =

Lisätiedot

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

Ongelmakenttä. Rinnakkaisuuden tarve. Kommunikointiin tarvitaan. Ympäristö Suunnittelun yksinkertaistaminen Suorituskyky Luotettavuus Yhteenvetoa Ongelmakenttä Rinnakkaisuuden tarve Ympäristö Suunnittelun yksinkertaistaminen Suorituskyky Luotettavuus Kommunikointiin tarvitaan Yhteisiä muuttujia (data) Kommunikointikanavia one-to-one

Lisätiedot

Algoritmit 2. Luento 13 Ti Timo Männikkö

Algoritmit 2. Luento 13 Ti Timo Männikkö Algoritmit 2 Luento 13 Ti 30.4.2019 Timo Männikkö Luento 13 Simuloitu jäähdytys Merkkijonon sovitus Horspoolin algoritmi Ositus ja rekursio Rekursion toteutus Algoritmit 2 Kevät 2019 Luento 13 Ti 30.4.2019

Lisätiedot

J. Virtamo Jonoteoria / Prioriteettijonot 1

J. Virtamo Jonoteoria / Prioriteettijonot 1 J. Virtamo 38.3143 Jonoteoria / Prioriteettijonot 1 Prioriteettijonot Tarkastellaan M/G/1-jonojärjestelmää, jossa asiakkaat on jaettu K:hon prioriteettiluokkaan, k = 1,..., K: - luokalla 1 on korkein prioriteetti

Lisätiedot

Prosessin reaalisaatioiden tuottaminen

Prosessin reaalisaatioiden tuottaminen Teoria Johdanto simulointiin Simuloinnin kulku -- prosessin realisaatioiden tuottaminen Satunnaismuuttujan arvonta annetusta jakaumasta Tulosten keruu ja analyysi Varianssinreduktiotekniikoista 20/09/2004

Lisätiedot

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

Ongelmakenttä. Yhteenvetoa. Ratkottava. Mekanismit. Lukkomuuttujat. Lukkomuuttujat, Spin Locks. Rinnakkaisuuden tarve. Kommunikointiin tarvitaan Ongelmakenttä Yhteenvetoa Rinnakkaisuuden tarve Ympäristö Suunnittelun yksinkertaistaminen Suorituskyky Luotettavuus Kommunikointiin tarvitaan Yhteisiä muuttujia (data) Kommunikointikanavia one-to-one

Lisätiedot

Yhteenvetoa. Ongelmakenttä

Yhteenvetoa. Ongelmakenttä Yhteenvetoa Ongelmakenttä Rinnakkaisuuden tarve Ympäristö Suunnittelun yksinkertaistaminen Suorituskyky Luotettavuus Kommunikointiin tarvitaan Yhteisiä muuttujia (data) Kommunikointikanavia one-to-one

Lisätiedot

Graafisen käyttöliittymän ohjelmointi Syksy 2013

Graafisen käyttöliittymän ohjelmointi Syksy 2013 TIE-11300 Tietotekniikan vaihtuva-alainen kurssi Graafisen käyttöliittymän ohjelmointi Syksy 2013 Luento 10 Rinnakkaisuus käyttöliittymäohjelmoinnissa Juha-Matti Vanhatupa Rinnakkaisuus ja käyttöliittymäohjelmointi

Lisätiedot

Algoritmit 1. Demot Timo Männikkö

Algoritmit 1. Demot Timo Männikkö Algoritmit 1 Demot 1 31.1.-1.2.2018 Timo Männikkö Tehtävä 1 (a) Algoritmi, joka tutkii onko kokonaisluku tasan jaollinen jollain toisella kokonaisluvulla siten, että ei käytetä lainkaan jakolaskuja Jaettava

Lisätiedot

Tietorakenteet ja algoritmit - syksy 2015 1

Tietorakenteet ja algoritmit - syksy 2015 1 Tietorakenteet ja algoritmit - syksy 2015 1 Tietorakenteet ja algoritmit - syksy 2015 2 Tietorakenteet ja algoritmit Johdanto Ari Korhonen Tietorakenteet ja algoritmit - syksy 2015 1. JOHDANTO 1.1 Määritelmiä

Lisätiedot

Algoritmit 2. Luento 14 Ke Timo Männikkö

Algoritmit 2. Luento 14 Ke Timo Männikkö Algoritmit 2 Luento 14 Ke 3.5.2017 Timo Männikkö Luento 14 Ositus ja rekursio Rekursion toteutus Kertaus ja tenttivinkit Algoritmit 2 Kevät 2017 Luento 14 Ke 3.5.2017 2/30 Ositus Tehtävän esiintymä ositetaan

Lisätiedot

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

Monitorit. Monitori Synkronointimenetelmiä Esimerkkejä. Andrews , Stallings 5.5 Monitorit Monitori Synkronointimenetelmiä Esimerkkejä Andrews 5.1-5.2, Stallings 5.5 Tavoite Minimoi virhemahdollisuuksia poissulkeminen ohjelmoijan vastuulla P():t ja V():t siellä, täällä ja tuolla -

Lisätiedot

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

Monitorit. Tavoite. Monitori Synkronointimenetelmiä Esimerkkejä. Andrews , Stallings 5.5. Minimoi virhemahdollisuuksia Monitorit Monitori Synkronointimenetelmiä Esimerkkejä Andrews 5.1-5.2, Stallings 5.5 Tavoite Minimoi virhemahdollisuuksia poissulkeminen ohjelmoijan vastuulla P():t ja V():t siellä, täällä ja tuolla -

Lisätiedot

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

TIE Ohjelmistojen testaus 2015 Harjoitustyö Vaiheet 1 ja 2. Antti Jääskeläinen Matti Vuori TIE-21204 Ohjelmistojen testaus 2015 Harjoitustyö Vaiheet 1 ja 2 Antti Jääskeläinen Matti Vuori Työn yleiset järjestelyt 14.9.2015 2 Valmistautuminen Ilmoittaudu kurssille Lue harjoitustyön nettisivut

Lisätiedot

4 Tehokkuus ja algoritmien suunnittelu

4 Tehokkuus ja algoritmien suunnittelu TIE-20100 Tietorakenteet ja algoritmit 52 4 Tehokkuus ja algoritmien suunnittelu Tässä luvussa pohditaan tehokkuuden käsitettä ja esitellään kurssilla käytetty kertaluokkanotaatio, jolla kuvataan algoritmin

Lisätiedot

Tarkennamme geneeristä painamiskorotusalgoritmia

Tarkennamme geneeristä painamiskorotusalgoritmia Korotus-eteen-algoritmi (relabel-to-front) Tarkennamme geneeristä painamiskorotusalgoritmia kiinnittämällä tarkasti, missä järjestyksessä Push- ja Raise-operaatioita suoritetaan. Algoritmin peruskomponentiksi

Lisätiedot

Simulointi. Varianssinhallintaa Esimerkki

Simulointi. Varianssinhallintaa Esimerkki Simulointi Varianssinhallintaa Esimerkki M C Esimerkki Tarkastellaan lasersäteen sirontaa partikkelikerroksesta Jukka Räbinän pro gradu 2005 Tavoitteena simuloida sirontakuvion tunnuslukuja Monte Carlo

Lisätiedot

Liite 1. Laajennettu Eukleideen algoritmi suoraviivainen tapa

Liite 1. Laajennettu Eukleideen algoritmi suoraviivainen tapa Liite 1. Laajennettu Eukleideen algoritmi suoraviivainen tapa - johdanto - matemaattinen induktiotodistus - matriisien kertolaskun käyttömahdollisuus - käsinlaskuesimerkkejä - kaikki välivaiheet esittävä

Lisätiedot

Algoritmit 1. Luento 10 Ke Timo Männikkö

Algoritmit 1. Luento 10 Ke Timo Männikkö Algoritmit 1 Luento 10 Ke 14.2.2018 Timo Männikkö Luento 10 Algoritminen ongelmanratkaisu Suunnittelumenetelmät Raaka voima Järjestäminen eli lajittelu Kuplalajittelu Lisäyslajittelu Valintalajittelu Permutaatiot

Lisätiedot

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

ltöä (Luennot 5&6) Luento 5: YKSINKERTAINEN SEGMENTOINTI JA SIVUTUS Pikakertaus: : a) b) c) Dyn.. part.: sijoitus Kuva Buddy System: esimerkki Käyttöjärjestelmät t I Luento 5: YKSINKERTAINEN SEGMENTOINTI JA SIVUTUS Stallings, Luku 7 Sisält ltöä (Luennot 5&6) Yleistä muistinhallinnasta (luku 7.1) Yksinkertainen muistinhallinta a) kiinteät partitiokoot

Lisätiedot

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

f(n) = Ω(g(n)) jos ja vain jos g(n) = O(f(n)) Määritelmä: on O(g(n)), jos on olemassa vakioarvot n 0 > 0 ja c > 0 siten, että c g(n) kun n > n 0 O eli iso-o tai ordo ilmaisee asymptoottisen ylärajan resurssivaatimusten kasvun suuruusluokalle Samankaltaisia

Lisätiedot

Dynaamiset regressiomallit

Dynaamiset regressiomallit MS-C2128 Ennustaminen ja Aikasarja-analyysi, Lauri Viitasaari Matematiikan ja systeemianalyysin laitos Perustieteiden korkeakoulu Aalto-yliopisto Syksy 2016 Tilastolliset aikasarjat voidaan jakaa kahteen

Lisätiedot

Investointimahdollisuudet ja niiden ajoitus

Investointimahdollisuudet ja niiden ajoitus Investointimahdollisuudet ja niiden ajoitus Ratkaisu optiohinnoitteluteorian avulla Esitelmä - Eeva Nyberg Optimointiopin seminaari - Syksy 000 / Tähän asti opittua NP:n rajoitteet vaikka NP negatiivinen

Lisätiedot

Tietorakenteet ja algoritmit

Tietorakenteet ja algoritmit Tietorakenteet ja algoritmit Taulukon edut Taulukon haitat Taulukon haittojen välttäminen Dynaamisesti linkattu lista Linkatun listan solmun määrittelytavat Lineaarisen listan toteutus dynaamisesti linkattuna

Lisätiedot

Ratkaisu: a) Aritmeettisen jonon mielivaltainen jäsen a j saadaan kaavalla. n = a 1 n + (n 1)n d = 5 500 + 4 = 501500. 2 500 = 5 + 2001 2

Ratkaisu: a) Aritmeettisen jonon mielivaltainen jäsen a j saadaan kaavalla. n = a 1 n + (n 1)n d = 5 500 + 4 = 501500. 2 500 = 5 + 2001 2 Kotitehtäviä 5. Ratkaisuehdotuksia. a) Jono a,..., a 500 on aritmeettinen, a = 5 ja erotusvakio d = 4. Laske jäsenet a, a 8 ja a 00 sekä koko jonon summa. b) Jono b,..., b 0 on geometrinen, b = ja suhdeluku

Lisätiedot

Algoritmit 1. Luento 9 Ti Timo Männikkö

Algoritmit 1. Luento 9 Ti Timo Männikkö Algoritmit 1 Luento 9 Ti 7.2.2017 Timo Männikkö Luento 9 Graafit ja verkot Kaaritaulukko, bittimatriisi, pituusmatriisi Verkon lyhimmät polut Floydin menetelmä Lähtevien ja tulevien kaarien listat Forward

Lisätiedot

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

AVL-puut. eräs tapa tasapainottaa binäärihakupuu siten, että korkeus on O(log n) kun puussa on n avainta AVL-puut eräs tapa tasapainottaa binäärihakupuu siten, että korkeus on O(log n) kun puussa on n avainta pohjana jo esitetyt binäärihakupuiden operaatiot tasapainotus vie pahimmillaan lisäajan lisäys- ja

Lisätiedot

käyttötapaukset mod. testaus

käyttötapaukset mod. testaus käyttötapaukset Jari Ojasti Nokia email : jari.ojasti@nokia.com puh : 040 5926 312 Kartta hyväksyntä määrittely suunnittelu suunnittelu mod. testaus integrointi sys. testaus Ylläpito koodaus (toteutus)

Lisätiedot

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.

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. Algoritmien DP ja MF vertaileminen tapahtuu suoraviivaisesti kirjoittamalla kummankin leskimääräinen kustannus eksplisiittisesti todennäköisyyksien avulla. Lause T MF ave = 1 + 2 1 i

Lisätiedot

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

8 Yritys kilpailullisilla markkinoilla (Mankiw & Taylor, Ch 14) 8 Yritys kilpailullisilla markkinoilla (Mankiw & Taylor, Ch 14) Markkinat ovat kilpailulliset silloin, kun siellä on niin paljon yrityksiä, että jokainen pitää markkinoilla määräytyvää hintaa omista toimistaan

Lisätiedot

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

6. Analogisen signaalin liittäminen mikroprosessoriin 2 6.1 Näytteenotto analogisesta signaalista 2 6.2. DA-muuntimet 4 Datamuuntimet 1 Pekka antala 19.11.2012 Datamuuntimet 6. Analogisen signaalin liittäminen mikroprosessoriin 2 6.1 Näytteenotto analogisesta signaalista 2 6.2. DA-muuntimet 4 7. AD-muuntimet 5 7.1 Analoginen

Lisätiedot

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

Intel Pentium Pro -prosessori. tietokonearkkitehtuurit, syksy -96 Ari Rantanen Intel Pentium Pro -prosessori tietokonearkkitehtuurit, syksy -96 Ari Rantanen Tarkasteltavat aiheet Katsaus Pentium Pro:n ominaisuuksiin Käskyn suoritus Pentium Pro:n liukuhihnalla Pentium Pro:n suorituskyky

Lisätiedot

Algoritmit 2. Luento 2 To Timo Männikkö

Algoritmit 2. Luento 2 To Timo Männikkö Algoritmit 2 Luento 2 To 14.3.2019 Timo Männikkö Luento 2 Tietorakenteet Lineaarinen lista, binääripuu Prioriteettijono Kekorakenne Keko-operaatiot Keon toteutus taulukolla Algoritmit 2 Kevät 2019 Luento

Lisätiedot

Algoritmit 1. Luento 7 Ti Timo Männikkö

Algoritmit 1. Luento 7 Ti Timo Männikkö Algoritmit 1 Luento 7 Ti 31.1.2017 Timo Männikkö Luento 7 Järjestetty binääripuu Binääripuiden termejä Binääripuiden operaatiot Solmun haku, lisäys, poisto Algoritmit 1 Kevät 2017 Luento 7 Ti 31.1.2017

Lisätiedot

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio Analyysi Tarkentaa ja jäsentää vaatimusmäärittelyä, vastaa kysymykseen MITÄ järjestelmän tulisi tehdä. Suoritetaan seuraavia

Lisätiedot

Algoritmit 1. Luento 13 Ti 23.2.2016. Timo Männikkö

Algoritmit 1. Luento 13 Ti 23.2.2016. Timo Männikkö Algoritmit 1 Luento 13 Ti 23.2.2016 Timo Männikkö Luento 13 Suunnittelumenetelmät Taulukointi Kapsäkkiongelma Ahne menetelmä Verkon lyhimmät polut Dijkstran menetelmä Verkon lyhin virittävä puu Kruskalin

Lisätiedot

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

OMAN VUORON ODOTTAMINEN. Materiaali 2018 Viitottu Rakkaus   Kuvat MyCuteGraphics.com Diapohjat SlidesCarnival. OMAN VUORON ODOTTAMINEN Materiaali 2018 Viitottu Rakkaus www.viitotturakkaus.fi Kuvat MyCuteGraphics.com Diapohjat SlidesCarnival.com OMAN VUORON ODOTTAMINEN OMAN VUORON ODOTTAMINEN Oman vuoron odottaminen

Lisätiedot

1 Aritmeettiset ja geometriset jonot

1 Aritmeettiset ja geometriset jonot 1 Aritmeettiset ja geometriset jonot Johdatus Johdatteleva esimerkki 1 Kasvutulille talletetaan vuoden jokaisen kuukauden alussa tammikuusta alkaen 100 euroa. Tilin nettokorkokanta on 6%. Korko lisätään

Lisätiedot

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

Nyt ensimmäisenä periodina (ei makseta kuponkia) odotettu arvo on: 1 (qv (1, 1) + (1 q)v (0, 1)) V (s, T ) = C + F Mat-2.34 Investointiteoria Laskuharjoitus 2/2008, Ratkaisut 29.04.2008 Binomihilan avulla voidaan laskea T vuoden ja tietyn kupongin sisältävän joukkovelkakirjan arvo eli hinta rekursiivisesti vaihtelevan

Lisätiedot