Tosiaikajärjestelmät (2 ov) Kevät 2006

Samankaltaiset tiedostot
Kurssin rakenne: yleiskuva Tosiaikajärjestelmät (2 ov) Kevät Kurssikirja + artikkelit. Kurssin rakenne. Lisätietoja.

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

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

6. Luento: Skedulointi eli Vuoronnus. Tommi Mikkonen,

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

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

1 Tieteellinen esitystapa, yksiköt ja dimensiot

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

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

Luento 0: Kurssihallinto Tietokoneen rakenne (2 ov / 4 op) Syksy 2006

LYTH-CONS CONSISTENCY TRANSMITTER

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

dx=5&uilang=fi&lang=fi&lvv=2014

Tosiaikatietokannat. Anu Kontio. Helsinki Tietokannat nyt seminaari HELSINGIN YLIOPISTO. Tietojenkäsittelytieteen laitos

Mittaustekniikka (3 op)

JHS 180 Paikkatiedon sisältöpalvelut Liite 4 INSPIRE-palvelujen laadun testaus

Sisältö. Tosiaikajärjestelmät Luento 11: Tosiaikatietokannat. Abstrakti tietokantamalli. Tietoalkio ACID. Transaktion tilat. Abstrakti tietokantamalli

Tosiaikajärjestelmät Luento 11: Tosiaikatietokannat

pitkittäisaineistoissa

Tietokoneen rakenne (2 ov / 4 op) Syksy 2006

ABT PUNNITSEVA HAARUKKAVAUNU ECONOMY

Tietokoneen rakenne (2 ov / 4 op) Syksy 2007 Liisa Marttinen. Helsingin yliopisto Tietojenkäsittelytieteen laitos

pitkittäisaineistoissa

Salasanan vaihto uuteen / How to change password

Kurssin käytännön järjestelyt. Tuotantotalous 1 Tuomo Tanila

MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt

Mat Matematiikan peruskurssi K2

Televerkon synkronointi

The OWL-S are not what they seem

Tämä on PicoLog Windows ohjelman suomenkielinen pikaohje.

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

Results on the new polydrug use questions in the Finnish TDI data

Harjoitus 7: NCSS - Tilastollinen analyysi

Käyttöliittymät II. Käyttöliittymät I Kertaus peruskurssilta. Keskeisin kälikurssilla opittu asia?

1 Tieteellinen esitystapa, yksiköt ja dimensiot

Differentiaali- ja integraalilaskenta

TUTKIMUSAINEISTON ANALYYSI. LTKY012 Timo Törmäkangas

Lisensointikuulumisia - Kustannustehokkuus Oracle lisensoinnissa

Operatioanalyysi 2011, Harjoitus 3, viikko 39

Tekijä Pitkä matematiikka Suoran pisteitä ovat esimerkiksi ( 5, 2), ( 2,1), (1, 0), (4, 1) ja ( 11, 4).

2 Konekieli, aliohjelmat, keskeytykset

Referenssit ja näytteenotto VLBI -interferometriassa

PHYS-C0220 Termodynamiikka ja statistinen fysiikka Kevät 2016

Radiotekniikan sovelluksia

Capacity Utilization

KÄYTTÖOHJE ELTRIP-R6. puh fax PL Kajaani

S Laskuharjoitus 2: Ratkaisuhahmotelmia

Projektin aikataulutus

Mittalaitetekniikka. NYMTES13 Vaihtosähköpiirit Jussi Hurri syksy 2014

Osa IX. Z muunnos. Johdanto Diskreetit funktiot

Erityinen suhteellisuusteoria (Harris luku 2)

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

XCRANE OMINAISUUDET KUUSI KULJETTAJA-PROFIILIA VENTTIILIEN SÄÄDÖT

Tutkimusongelmia ja tilastollisia hypoteeseja: Perunalastupussien keskimääräinen paino? Nollahypoteesi Vaihtoehtoinen hypoteesi (yksisuuntainen)

Algoritmit 1. Luento 3 Ti Timo Männikkö

Kojemeteorologia. Sami Haapanala syksy Fysiikan laitos, Ilmakehätieteiden osasto

KOSTEUSLÄHETTIMET RHT

Aurinkopaneelin lataussäädin 12/24V 30A. Käyttöohje

Esineiden, palveluiden ja ihmisten internet

Varavoimakoneiden hyödyntäminen taajuusohjattuna häiriöreservinä ja säätösähkömarkkinoilla

Dynaamiset regressiomallit

Läpimurto ms-taudin hoidossa?

1.3 Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä

Arvo-Tec T Drum 2000 ruokintalaite

Mat Tilastollisen analyysin perusteet, kevät 2007

ASENNUSOHJE AK-CC 350

KOSTEUSLÄHETTIMET RHT

YLEISTÄ ALOITUS. Laitteen kuvaus. Näytön kuvaus. Laitteen käynnistäminen ja sammuttaminen UP = YLÖS DOWN = ALAS BACK = TAKAISIN

Luento 1: Optimointimallin muodostaminen; optimointitehtävien luokittelu

Computing Curricula raportin vertailu kolmeen suomalaiseen koulutusohjelmaan

Miten teollinen internet voi mullistaa liiketoimintasi

1 Kappaleet ympärillämme 1.

Lukio-opinnoistaopinnoista

Sovellettu todennäköisyyslaskenta B

1.3Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä

Harjoitus 9: Excel - Tilastollinen analyysi

PÄÄOMINAISUUDET KÄYTTÖOHJE

Mittausasema peltoolosuhteiden

C++11 seminaari, kevät Johannes Koskinen

Suunnittelumallit (design patterns)

Verkostosaneerauskohteiden priorisointi kuntoindeksilaskennan avulla

Kaksi yleismittaria, tehomittari, mittausalusta 5, muistiinpanot ja oppikirjat. P = U x I

Varavoima maatiloilla

Sisältöä. Tietokoneen rakenne. Ch 1 - Ch 8 [Sta06] Valikoituja paloja TITO-kurssista. Tietokonejärjestelmä

Hajautettujen sovellusten muodostamistekniikat, TKO_2014 Johdatus kurssiin

FinFamily PostgreSQL installation ( ) FinFamily PostgreSQL

Johnson, A Theoretician's Guide to the Experimental Analysis of Algorithms.

TIES530 TIES530. Moniprosessorijärjestelmät. Moniprosessorijärjestelmät. Miksi moniprosessorijärjestelmä?

Pakettisynkronointitestauksen automaatio

Matematiikka ja teknologia, kevät 2011

4.0.2 Kuinka hyvä ennuste on?

Kurssin aloitus. AS XML-kuvauskielten perusteet Janne Kalliola

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31)

Mittaushavaintojen täsmällinen käsittelymenenetelmä

Verkkodatalehti. TR4-SDU03P TR4 Direct KOSKETUKSETTOMAT TURVARAJAKYTKIMET

International Olympiad in Informatics 2013

GSRELE ohjeet. Yleistä

Eye Pal Solo. Käyttöohje

4. Luennon sisältö. Lineaarisen optimointitehtävän ratkaiseminen Simplex-menetelmä

Diplomi-insinööri- ja arkkitehtikoulutuksen yhteisvalinta 2017 Insinöörivalinnan matematiikan koe , Ratkaisut (Sarja A)

Transkriptio:

582425 Tosiaikajärjestelmät (2 ov) Kevät 2006 Tiina Niklander Kurssin rakenne: yleiskuva... Johdanto (Liu 1-3) Jaksollisuus ja jaksotettavuus (Liu 7) Resurssit (Liu 8) Sanomien vuorotus verkossa (Liu 11) Moniprosessit (Liu 9) Tosiaikatietokannat RM & EDF (Liu 4-6) Mallinnus ja mittaaminen Luotettavuus ja turvallisuus RT-protokollia (Liu 11 osittain) Tosiaikakj:t (Liu 12 osittain) Kertaus 1

Kurssin rakenne Luennot 13.3. 26.4.2006 ma, ke 14-16 Harjoitukset 15.3. 26.4. ke 16-18 vapaaehtoisia, mutta lisäpisteitä saatavilla Arvostelu koe + harjoitukset = 48 + 12 Kurssimaksimi on 60 pistettä, 30 p läpi Koe: ma 8.5. klo 16.00-19.00 Kurssikirja + artikkelit Jane Liu: Real-Time Systems, Prentice-Hall, 2000. Lisäksi artikkelit: K. Ramamritham, S.H. Son ja L.C.Dipippo. Real-time Databases and Data Services. Real-Time Systems, 28, 179-215, 2004. J.A. Stankovic ja R. Rajkumar. Real-Time Operating Systems. Rea-Time Systems, 28, 237-253, 2004. G.C. Buttazzo. Rate Monotonic vs. EDF: Judgment Day. Real-Time Systems, 29, 5-26,2005. 2

Lisätietoja Lisämateriaaliksi sopivia kirjoja: Burns & Wellings: Real-Time Systems and Programming Languages, Addison-Wesley Krishna & Shin: Real-Time Systems, McGraw-Hill, 1997 Uutisryhmiä, mm. comp.realtime http://cs-www.bu.edu/pub/ieee-rts/ (IEEE Technical committee on Real-Time Systems) http://www.real-time.org/ (Douglas Jensen) Johdanto Mikä on tosiaikajärjestelmä Määritelmä Esimerkkejä Suunnitteluongelmia Ajan problematiikka Mallijärjestelmiä Kurssilla käytettävä malli 3

Tosiaikajärjestelmä? Paljon erilaisia määritelmiä Keskeistä Aikarajat Yhteydet reaalimaailman kanssa Antureita Moottoreita Säätimiä Erityiseen käyttöön suunniteltu ja toteutettu Määritelmiä: osa 1 Oxford Dictionary of Computing Any system in which the time at which the output is produced in significant. This is usually because the input corresponds to some movement in the physical world, and the output has to relate to that same movement. The lag from input time to output time must be sufficiently small for acceptable timeliness. Alan Burns and Andy Wellings, 2001 4

Määritelmiä: osa 2 Kopetz, 1997 sivu 2: A real-time computer system is a computer system in which the correctness of the system behaviour depends not only on the logical results of the computation, but also on the physical instant at which the results are produced. Käyttäjä (operointiklusteri) Tosiaikainen tietokonejärj. (ohjausklusteri) Hallittava kohde (kohdeklusteri) Tosiaikajärjestelmien luokittelu Kovat (hard) { Aina toimiva (fail operational) Aina turvallinen (fail safe) Lennonohjaus Junien ohjaus, esim. Semaforit Tosiaikajärj. { Pehmeät (soft) { Suuri saatavuus (high availability) Suuri eheys (high integrity) Telepalvelut (puhelun välitys) Pankkipalvelut 5

Esimerkkijärjestelmiä Teollisuusautomaatio Tuotantoprosessin ohjaus Tuotteen valmistus (liukuhihna+robotit) Koneen ohjaus (esim. auto, lentokone) Jarrut, ohjausjärjestelmä, moottori Televerkot, telepalvelut Teollisuusautomaatio Liukuhihnan ohjaus Robotin hallinta Automaattivaunut tavaroiden siirtelyssä Suljettu järjestelmä 6

Koneen ohjaus Auto Uudet jarrujärjestelmät Ohjaustietokone Sutimisen esto Lentokone Fly-by-wire Automaattiset tunnistimet (kuten törmäystunnistin) Televerkot Ei aina luokitella tosiaikajärjestelmäksi, koska ei kovia tai tiukkoja aikarajoja Osa toiminnallisuudesta aikarajoitettua Maantieteellisesti laaja järjestelmä 7

Lennonohjausjärjestelmä Shaw: Real-Time Systems and Software,2001 Lennonohjausjärjestelmä Ilmatila jaettu sektoreihin Kullakin sektorilla oma valvontajärj. Kone liikkuu sektorista toiseen Lentokoneilla on aina minimietäisyys Vältä (ja kierrä) Säärintamat Luonnonesteet Lentokieltoalueet Maksimoi Kentän ja ilmatilan kapasiteetti Minimoi Viivästykset Polttoaineen kulutus 8

Lennonohjausjärjestelmä Shaw: Real-Time Systems and Software,2001 Lennonohjausjärjestelmä Shaw: Real-Time Systems and Software,2001 9

Mitä on mennyt pieleen? Patriot ohjus Liian lyhyt testiaika ei paljastanut kellojen synkronointiongelmaa Avaruussukkula Oletukset ohjelmien suoritusjärjestyksestä eivät pitäneet Mars-luotain Väärin asetetut prioriteetit tuottivat hankaluuksia Patriot-ohjus Patriot-torjuntaohjus Automaattiohjaus Tutkapohjainen tunnistus Ohjaustietokone laskee ennusteradan Laukaisu vain jos kohde ennakkoon laskettuna aikana lasketussa paikassa Persianlahden sota 25.2.1991 Scud-ohjus havaittu Ohjaustietokone laski ennusteen Verifiointi -> väärä hälyytys Scud osui maaliinsa Mitä meni vikaan? 10

Patriot-järjestelmän analyysi Pienen ohjelmointivirheen vuoksi ohjaustietokoneen tosiaikakello edisti 57 mikrosekuntia minuutissa. Poikkeuksellisesti ohjaustietokone oli ollut yhtäjaksoisesti käytössä yli 100 tuntia. Kertymä kellon edistämisestä oli siten jo 343 millisekuntia, jonka seurauksena ennustettu paikka heitti yli 600 metriä. Avaruussukkula Avaruussukkulan ohjaustietokoneet toimivat synkronoidusti 150 µs tarkkuudella Ajoitusongelma käynnistyksessä Oletus: alustusprosessi on ensimmäinen ajastusjonossa Pieni (ja mitätön) ohjelmistomuutos rikkoi tämän oletuksen ja syntyi 15 ms jakso sekunnissa, jolloin tämä ei pätenyt Seuraus: Osa tehtävistä ajoitettiin väärään jaksoon ja synkronointi ei enää toiminut täysin Korjaus: Käynnistetään uudelleen koko päätietokonejärjestelmä A. Spector, D. Gifford: The space shuttele primary computer system. CACM 27(9):872-900, Sept 1984 11

Johdanto Mikä on tosiaikajärjestelmä Ajan problematiikka Ajan käsite Miten aikaa käytetään Mallijärjestelmiä Kurssilla käytettävä malli Mitä 'aika' on? Arkipäiväisiä termejä: Nykyhetki Menneisyys Tulevaisuus Esitä oma määritelmä Kirkkoisä Augustinus: Mitä on aika? Jos kukaan ei kysy minulta, niin tiedän mitä se on. Jos yritän selittää sitä minulta kysyneelle, en tiedä mitä se on. Burns & Wellings, luku 12 12

Lineaarinen aika Transitiivinen: x,y : x<y tai y<x tai x=y Lineaarinen: x,y,z : (x<y ja y<z) x<z Ei refleksiivinen: x : ei (x<x) Tiheä: x,y: x<y z: (x<z<y) Tosiaika? 'Tosi' tai 'reaali' tarkoittaa vain, että aikamääre tulee tietokonejärjestelmän ympäristöstä ei sen sisältä. Tämän tarkoituksena on välttää sekoittamasta tätä ympäristön aikaa koneen sisäiseen aikaan 13

Ajan määrittelyjä Aurinkoaika Aika keskipäivän hetkestä toiseen Vaiht. 15 min/vuosi Tunti 12. osa auringon nousun ja laskun erosta Vaihtelee runsaasti UT0 (yleisaika) Greenwichin meridiaalin keskiaurinkoaika Päätetty v. 1884 Sekunti (1) 1/86400 keskimääräisestä aurinkoajasta Sekunti (2) 1/31566925.9747 trooppisesta vuodesta 1900 Päätetty v. 1955 UT1 Korjaus UT0 huomioi maapallon huojunta UT2 Korjaus UT1 huomioi pyörimisliikkeen vaihtelun Sekunti (3) 9192631770 muutosta cesium-133 atomissa Atomiaika (IAT) Perustuu cesium atomi kelloon UTC IAT ja UT2 synkronointi ajoittaisilla korjauksilla Coordinated Universal Time (UTC): UT2 kellon (astronominen kello) ja IAT kellon (atomikello) välinen ero pidetään korjauksilla aina alle 0.5 sekuntia Burns & Wellings, luku 12 Ohjausjärjestelmä: yleiskuva Real-Time Clock Algorithms for Digital Control Interface Engineering System Data Logging Remote Monitoring System Database Data Retrieval and Display Display Devices Operator s Console Operator Interface Real-Time Computer Alan Burns and Andy Wellings, 2001 14

r(t) Ohjausjärjestelmän malli A / D A / D y(t) r k y k Sensori kontrollin laskenta e(t)=r(t)-y(t) Entiteetti Säätöyksikkö u k D / A u(t) Aktuaattori r vertailuarvo y mitattu arvo u säätöarvo t aika k jaksonumero Joka jaksolla mitataan uusi arvo ja katsotaan kuinka kaukana se on vertailuarvosta. Sitten lasketaan tarvittavat säädöt ja jatketaan Liu s. 2-3 Ohjausjärjestelmän toiminta r(t) A / D A / D y(t) r k y k Sensori kontrollin laskenta e(t)=r(t)-y(t) Entiteetti Säätöyksikkö u k D / A u(t) Aktuaattori Näytteenottojakson pituus? lyhyt paljon säätölaskentaa pitkä tarkkuus kärsii Aseta ajastin keskeytyksen kestoksi T Joka keskeytyksellä k tee { A/D muunnos y(t) -> y k Laske u k u k muuntimelle ja D/A muunnos u k -> u(t) } 15

Yksinkertaistuksessa käytetyt oletukset Mitattu data (sensorimittaus) antaa tarkan arvion tilatiedolle ongelma, jos paljon hälyä tai muuta häiriötä Mitattu data antaa tarkan kuvan entiteetistä Tarvittavan datan on oltava suoraan mitattavissa Kaikki parametrit tunnettava täysin tämä ei useinkaan ole täysin mahdollista Johdanto Mikä on tosiaikajärjestelmä Määritelmä Esimerkkejä Suunnitteluongelmia Ajan problematiikka Mallijärjestelmiä Kurssilla käytettävä malli 16

Kurssilla käytettävä tosiaikajärjestelmän malli Prosessorit P Resurssit R tarkastellaan vain rajallisia resursseja, joista kilpaillaan J i (φ,p,e,d) Työt J aloitusaika r vaihe ja jakso suoritusaika e takaraja d ei anneta erikseen, jos jakson loppu Työ J ja tehtävä T aikainformaatio aloitusaika, absoluuttinen ja suhteellinen deadline toiminnallisuus suorituksen kesto, yms resurssit yhteistoiminta Tehtävä koostuu useista peräkkäisistä töistä 17

Aloitusaika r Erilaisia tietoja aloitusajasta kiinteä r i aikaväli [r i -, r i+ ] satunnaisjakauma A(x), missä x on saapumisajan tai saapumisten välin odotusarvo, esim. Poisson-jakauma Aloitusajan kuvauksen valinta riippuu kuormamallista Suoritusaika e Suorituksen kesto vaihtelee kuten aloitusaika Usein pääteltävissä minimi ja maksimikesto eli [e i-, e i+ ] Kriittisille ja koville tapahtumille käytetään analyyseissä aina kestona arvoa e i+, vaikka sitä ei eksplisiittisesti merkitä 18

Jaksollinen tehtävä Tehtävän T i jakso p i on lyhin kahden työn aloituksen välinen aika Tehtävän T i suoritusaika e i on pisimmän yksittäisen jakson suorituksen kesto Tehtävä T i koostuu töistä J i,1, J i,2,... Tehtävien T 1, T 2,..., T n yhteinen hyperperiodi H on niiden jaksojen pituuksien pienin yhteinen jaettava Vaihe φ Vaihe kertoo tehtävän T i ensimmäisen aloituksen ajan eli φ i = r i,1 Kaikki tehtävät eivät välttämättä ala samanaikaisesti Samanaikaisesti alkavien tehtävien sanotaan olevan samassa vaiheessa 19

Käyttöaste U,u Yhden jaksollisen tehtävän käyttöaste on u i = e i / p i Koko järjestelmän käyttöaste on U i = u i Epäsäännölliset ja sporadiset tehtävät Yhden tehtävän sisällä töiden saapumisvälit satunnaisia Yhden tehtävän työt käyttäytyvät tilastollisesti samoin noudattavat samanlaisia aikarajoitteita Epäsäännölliset tehtävät ovat aina pehmeitä Sporadiset ovat kovia ja mahd. kriittisiä 20

(0,7] (2,5] (0,5] (0,6] Tehtävien välinen riippuvuusverkko (2,9] (5,8] (4,8] (4,11] (8,11] (5,20] (6,13] (11,14] (8,15] (14,17] J (2,10] Työ, tehtävä, prosessi, tms. aikainformaatio aloitusaika, absoluuttinen ja suhteellinen deadline toiminnallisuus suorituksen kesto, yms resurssit yhteistoiminta 21

Tehtävän toiminnallisuus: keskeytettävyys Keskeytettävyys (preemptivity) Voiko tehtävän suorituksen siirtää sivuun hetkiseksi ja suorittaa jotain muuta tehtävää? tämä täytyy siis sallia erikseen (tai muuten olettaa) Usein keskeytysten ja poikkeusten käsittelijä ei salli itseään keskeytettävän Keskeyttäminen edellyttää kontekstin vaihtoa Tehtävän toiminnallisuus: Kriittisyys tai tärkeys Kriittisyys (criticality) Työt ja tehtävät eivät ole yhtä tärkeitä Kuvataan usein prioriteeteilla tai painoilla, mutta suhdetta ei saa automaattisesti olettaa Tietoa tarvitaan ylikuormitustilanteessa, kun kaikkia tehtäviä ei voida suorittaa annetuissa aikarajoissa 22

Yhteenvetona Tosiaikaisuus merkitsee sopeutumista ulkopuoliseen aikaan ja aikarajoihin Tehtävän (tai sen osatyön) on valmistuttava annetussa ajassa Varmuus perustuu analyysiin ennen suoritusta: Malli käyttäytymisestä ja Analyysi mallin perusteella Murphyn lakeja 1 / 3 Murphyn yleislaki Jos jokin voi mennä pieleen, se menee. Murphyn vakio Vaurion suuruus on suhteessa kohteen arvoon. Naeserin laki One can make something bomb-proof, not jinx-proof Troutmanin postulaatit Jokainen vika pyrkii maksimoimaan vahingon. Pahin ohjelmistovika löytyy 6 kk käyttöönoton jälkeen. Buttazzo, 1997, s.5 23

Murphyn lakeja 2 / 3 Greenin laki Vaikka järjestelmä on suunniteltu kestämään tietty virhejoukko, on aina olemassa riittävän taitava idiootti aiheuttamaan odottamaton ja kestämätön virhe. Johnsonin ensimmäinen laki Jos järjestelmän toimintaa pysähtyy, se tapahtuu pahimmalla mahdollisella hetkellä. Soddin toinen laki Ennemmin tai myöhemmin pahin mahdollinen tapausjoukko tapahtuu. Buttazzo, 1997, s.5 Murphyn lakeja 3 / 3 Korollaarit Typerykset ovat aina taitavampia kuin keinot, joilla heitä yritetään estää aiheuttamasta vahinkoa. Järjestelmä täytyy aina suunnitelma sietämään pahin mahdollinen yhdistelmä tapauksia. Buttazzo, 1997, s.5 24