582425 tosiaikajärjestelmät (2 ov) kevät 2006 · 2006-03-14 · coordinated universal time...

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

Upload: others

Post on 12-Jun-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 582425 Tosiaikajärjestelmät (2 ov) Kevät 2006 · 2006-03-14 · Coordinated Universal Time (UTC): UT2 kellon (astronominen kello) ja IAT kellon (atomikello) välinen ero pidetään

1

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

Tiina Niklander

Kurssin rakenne: yleiskuva ...

KertausTosiaikatietokannat

Tosiaikakj:t (Liu 12 osittain)Moniprosessit (Liu 9)

RT-protokollia (Liu 11 osittain)Sanomien vuorotusverkossa (Liu 11)

Luotettavuus ja turvallisuusResurssit (Liu 8)

Mallinnus ja mittaaminenJaksollisuus jajaksotettavuus (Liu 7)

RM & EDF (Liu 4-6)Johdanto (Liu 1-3)

Page 2: 582425 Tosiaikajärjestelmät (2 ov) Kevät 2006 · 2006-03-14 · Coordinated Universal Time (UTC): UT2 kellon (astronominen kello) ja IAT kellon (atomikello) välinen ero pidetään

2

Kurssin rakennen Luennot 13.3. – 26.4.2006 ma, ke 14-16n Harjoitukset 15.3. – 26.4. ke 16-18

n vapaaehtoisia, mutta lisäpisteitä saatavillan Arvostelu

n koe + harjoitukset = 48 + 12n Kurssimaksimi on 60 pistettä, 30 p läpi

n Koe: ma 8.5. klo 16.00-19.00

Kurssikirja + artikkelitn Jane Liu: Real-Time Systems, Prentice-Hall, 2000.

n Lisäksi artikkelit:n K. Ramamritham, S.H. Son ja L.C.Dipippo. Real-time

Databases and Data Services. Real-Time Systems, 28,179-215, 2004.

n J.A. Stankovic ja R. Rajkumar. Real-Time OperatingSystems. Rea-Time Systems, 28, 237-253, 2004.

n G.C. Buttazzo. Rate Monotonic vs. EDF: JudgmentDay. Real-Time Systems, 29, 5-26,2005.

Page 3: 582425 Tosiaikajärjestelmät (2 ov) Kevät 2006 · 2006-03-14 · Coordinated Universal Time (UTC): UT2 kellon (astronominen kello) ja IAT kellon (atomikello) välinen ero pidetään

3

Lisätietojan Lisämateriaaliksi sopivia kirjoja:

n Burns & Wellings: Real-Time Systems andProgramming Languages, Addison-Wesley

n Krishna & Shin: Real-Time Systems, McGraw-Hill,1997

n Uutisryhmiä, mm. comp.realtimen http://cs-www.bu.edu/pub/ieee-rts/ (IEEE Technical

committee on Real-Time Systems)n http://www.real-time.org/ (Douglas Jensen)

Johdanton Mikä on tosiaikajärjestelmä

n Määritelmän Esimerkkejän Suunnitteluongelmia

n Ajan problematiikkan Mallijärjestelmiän Kurssilla käytettävä malli

Page 4: 582425 Tosiaikajärjestelmät (2 ov) Kevät 2006 · 2006-03-14 · Coordinated Universal Time (UTC): UT2 kellon (astronominen kello) ja IAT kellon (atomikello) välinen ero pidetään

4

Tosiaikajärjestelmä?n Paljon erilaisia määritelmiän Keskeistä

n Aikarajatn Yhteydet reaalimaailman kanssa

n AntureitanMoottoreitan Säätimiä

n Erityiseen käyttöön suunniteltu ja toteutettu

Määritelmiä: osa 1n Oxford Dictionary of Computing

n Any system in which the time at which theoutput is produced in significant. This isusually because the input corresponds to somemovement in the physical world, and theoutput has to relate to that same movement.The lag from input time to output time must besufficiently small for acceptable timeliness.

© Alan Burns and Andy Wellings,2001

Page 5: 582425 Tosiaikajärjestelmät (2 ov) Kevät 2006 · 2006-03-14 · Coordinated Universal Time (UTC): UT2 kellon (astronominen kello) ja IAT kellon (atomikello) välinen ero pidetään

5

Määritelmiä: osa 2n Kopetz, 1997 sivu 2:

n A real-time computer system is a computersystem in which the correctness of the systembehaviour depends not only on the logicalresults of the computation, but also on thephysical instant at which the results areproduced.

Käyttäjä(operointi-klusteri)

Tosiaikainentietokonejärj.(ohjausklusteri)

Hallittava kohde(kohdeklusteri)

Tosiaikajärjestelmien luokittelu

Tosiaika-järj.

Kovat(hard)

Pehmeät(soft)

Aina toimiva(fail operational)

Aina turvallinen(fail safe)

Suuri saatavuus(high availability)

Suuri eheys(high integrity)

Lennonohjaus

Junien ohjaus,esim. Semaforit

Telepalvelut(puhelun välitys)

Pankkipalvelut{{

{

Page 6: 582425 Tosiaikajärjestelmät (2 ov) Kevät 2006 · 2006-03-14 · Coordinated Universal Time (UTC): UT2 kellon (astronominen kello) ja IAT kellon (atomikello) välinen ero pidetään

6

Esimerkkijärjestelmiän Teollisuusautomaatio

n Tuotantoprosessin ohjausn Tuotteen valmistus (liukuhihna+robotit)

n Koneen ohjaus (esim. auto, lentokone)n Jarrut, ohjausjärjestelmä, moottori

n Televerkot, telepalvelut

Teollisuusautomaation Liukuhihnan ohjausn Robotin hallintan Automaattivaunut tavaroiden siirtelyssän Suljettu järjestelmä

Page 7: 582425 Tosiaikajärjestelmät (2 ov) Kevät 2006 · 2006-03-14 · Coordinated Universal Time (UTC): UT2 kellon (astronominen kello) ja IAT kellon (atomikello) välinen ero pidetään

7

Koneen ohjausn Auto

n Uudet jarrujärjestelmätn Ohjaustietokonen Sutimisen esto

n Lentokonen Fly-by-wiren Automaattiset tunnistimet (kuten

törmäystunnistin)

Televerkotn Ei aina luokitella tosiaikajärjestelmäksi,

koska ei kovia tai tiukkoja aikarajojan Osa toiminnallisuudesta aikarajoitettuan Maantieteellisesti laaja järjestelmä

Page 8: 582425 Tosiaikajärjestelmät (2 ov) Kevät 2006 · 2006-03-14 · Coordinated Universal Time (UTC): UT2 kellon (astronominen kello) ja IAT kellon (atomikello) välinen ero pidetään

8

Lennonohjausjärjestelmä

Shaw: Real-Time Systems and Software,2001

Lennonohjausjärjestelmän Ilmatila jaettu

sektoreihinn Kullakin sektorilla

oma valvontajärj.n Kone liikkuu

sektorista toiseenn Lentokoneilla on

aina minimietäisyys

n Vältä (ja kierrä)n Säärintamatn Luonnonesteetn Lentokieltoalueet

n Maksimoin Kentän ja ilmatilan

kapasiteetti

n Minimoin Viivästyksetn Polttoaineen kulutus

Page 9: 582425 Tosiaikajärjestelmät (2 ov) Kevät 2006 · 2006-03-14 · Coordinated Universal Time (UTC): UT2 kellon (astronominen kello) ja IAT kellon (atomikello) välinen ero pidetään

9

Lennonohjausjärjestelmä

Shaw: Real-Time Systems andSoftware,2001

Lennonohjausjärjestelmä

Shaw: Real-Time Systems andSoftware,2001

Page 10: 582425 Tosiaikajärjestelmät (2 ov) Kevät 2006 · 2006-03-14 · Coordinated Universal Time (UTC): UT2 kellon (astronominen kello) ja IAT kellon (atomikello) välinen ero pidetään

10

Mitä on mennyt pieleen?n Patriot –ohjus

n Liian lyhyt testiaika ei paljastanut kellojensynkronointiongelmaa

n Avaruussukkulan Oletukset ohjelmien suoritusjärjestyksestä

eivät pitäneetn Mars-luotain

n Väärin asetetut prioriteetit tuottivathankaluuksia

Patriot-ohjusn Patriot-torjuntaohjus

n Automaattiohjausn Tutkapohjainen

tunnistusn Ohjaustietokone laskee

ennusteradann Laukaisu vain jos

kohde ennakkoonlaskettuna aikanalasketussa paikassa

n Persianlahden sota25.2.1991n Scud-ohjus havaittun Ohjaustietokone

laski ennusteenn Verifiointi -> väärä

hälyytysn Scud osui maaliinsa

Mitä meni vikaan?

Page 11: 582425 Tosiaikajärjestelmät (2 ov) Kevät 2006 · 2006-03-14 · Coordinated Universal Time (UTC): UT2 kellon (astronominen kello) ja IAT kellon (atomikello) välinen ero pidetään

11

Patriot-järjestelmän analyysin Pienen ohjelmointivirheen vuoksi

ohjaustietokoneen tosiaikakello edisti 57mikrosekuntia minuutissa.

n Poikkeuksellisesti ohjaustietokone oli ollutyhtäjaksoisesti käytössä yli 100 tuntia.

n Kertymä kellon edistämisestä oli siten jo343 millisekuntia, jonka seurauksenaennustettu paikka heitti yli 600 metriä.

Avaruussukkulan Avaruussukkulan ohjaustietokoneet toimivat

synkronoidusti 150 µs tarkkuudellan Ajoitusongelma käynnistyksessä

n Oletus: alustusprosessi on ensimmäinenajastusjonossa

n Pieni (ja mitätön) ohjelmistomuutos rikkoi tämänoletuksen ja syntyi 15 ms jakso sekunnissa, jollointämä ei pätenyt

n Seuraus: Osa tehtävistä ajoitettiin väärään jaksoon jasynkronointi ei enää toiminut täysin

n Korjaus: Käynnistetään uudelleen kokopäätietokonejärjestelmä

A. Spector, D. Gifford: The space shuttele primarycomputer system. CACM 27(9):872-900, Sept 1984

Page 12: 582425 Tosiaikajärjestelmät (2 ov) Kevät 2006 · 2006-03-14 · Coordinated Universal Time (UTC): UT2 kellon (astronominen kello) ja IAT kellon (atomikello) välinen ero pidetään

12

Johdanton Mikä on tosiaikajärjestelmän Ajan problematiikka

n Ajan käsiten Miten aikaa käytetään

n Mallijärjestelmiän Kurssilla käytettävä malli

Mitä 'aika' on?n Arkipäiväisiä termejä:

n Nykyhetkin Menneisyysn Tulevaisuus

n Esitä oma määritelmän Kirkkoisä Augustinus:

n Mitä on aika? Jos kukaan ei kysy minulta, niintiedän mitä se on. Jos yritän selittää sitäminulta kysyneelle, en tiedä mitä se on.

Burns & Wellings, luku 12

Page 13: 582425 Tosiaikajärjestelmät (2 ov) Kevät 2006 · 2006-03-14 · Coordinated Universal Time (UTC): UT2 kellon (astronominen kello) ja IAT kellon (atomikello) välinen ero pidetään

13

Lineaarinen aikan Transitiivinen:n ∀x,y : x<y tai y<x tai x=y

n Lineaarinen:n ∀x,y,z : (x<y ja y<z) ⇒ x<z

n Ei refleksiivinen:n ∀ x : ei (x<x)

n Tiheä:n ∀ x,y: x<y ⇒ ∃z: (x<z<y)

Tosiaika?n 'Tosi' tai 'reaali' tarkoittaa vain, että

aikamääre tulee tietokonejärjestelmänympäristöstä ei sen sisältä.

n Tämän tarkoituksena on välttääsekoittamasta tätä ympäristön aikaa koneensisäiseen aikaan

Page 14: 582425 Tosiaikajärjestelmät (2 ov) Kevät 2006 · 2006-03-14 · Coordinated Universal Time (UTC): UT2 kellon (astronominen kello) ja IAT kellon (atomikello) välinen ero pidetään

14

Ajan määrittelyjä

Aurinkoaika Aika keskipäivän hetkestä toiseen Vaiht. 15 min/vuosiTunti 12. osa auringon nousun ja laskun erosta Vaihtelee runsaastiUT0 (yleisaika) Greenwichin meridiaalin keskiaurinkoaika Päätetty v. 1884Sekunti (1) 1/86400 keskimääräisestä aurinkoajastaSekunti (2) 1/31566925.9747 trooppisesta vuodesta 1900 Päätetty v. 1955UT1 Korjaus UT0 huomioi maapallon huojuntaUT2 Korjaus UT1 huomioi pyörimisliikkeen vaihtelunSekunti (3) 9192631770 muutosta cesium-133 atomissaAtomiaika (IAT) Perustuu cesium atomi kelloonUTC IAT ja UT2 synkronointi ajoittaisilla korjauksilla

Coordinated Universal Time (UTC): UT2 kellon (astronominen kello)ja IAT kellon (atomikello) välinen ero pidetään korjauksillaaina alle 0.5 sekuntia

Burns & Wellings, luku 12

Algorithms forDigital Control

Data Logging

Data Retrievaland Display

OperatorInterface

Interface EngineeringSystem

RemoteMonitoring System

Real-TimeClock

Database

Operator’sConsole

DisplayDevices

Real-Time Computer

© Alan Burns and Andy Wellings, 2001

Ohjausjärjestelmä: yleiskuva

Page 15: 582425 Tosiaikajärjestelmät (2 ov) Kevät 2006 · 2006-03-14 · Coordinated Universal Time (UTC): UT2 kellon (astronominen kello) ja IAT kellon (atomikello) välinen ero pidetään

15

Ohjausjärjestelmän malli

• Joka jaksolla mitataan uusi arvo ja katsotaan kuinka kaukanase on vertailuarvosta. Sitten lasketaan tarvittavat säädöt jajatketaan

kontrollinlaskentae(t)=r(t)-y(t)

A / D

D / AA / D

EntiteettiSensori Aktuaattori

Säätöyksikkör(t)

y(t) u(t)

rk

ykuk

r – vertailuarvoy – mitattu arvou – säätöarvo

t – aikak – jaksonumero

Liu s. 2-3

Ohjausjärjestelmän toiminta

• Näytteenottojakson pituus ?– lyhyt – paljon säätölaskentaa– pitkä – tarkkuus kärsii

Aseta ajastin keskeytyksenkestoksi T

Joka keskeytyksellä k tee{ A/D muunnos y(t) -> yk

Laske uk

uk muuntimelle jaD/A muunnos uk -> u(t)

}

kontrollinlaskentae(t)=r(t)-y(t)

A / D

D / AA / D

EntiteettiSensori Aktuaattori

Säätöyksikkö

r(t)

y(t) u(t)

rk

yk uk

Page 16: 582425 Tosiaikajärjestelmät (2 ov) Kevät 2006 · 2006-03-14 · Coordinated Universal Time (UTC): UT2 kellon (astronominen kello) ja IAT kellon (atomikello) välinen ero pidetään

16

Yksinkertaistuksessakäytetyt oletukset

n Mitattu data (sensorimittaus) antaa tarkanarvion tilatiedollen ongelma, jos paljon hälyä tai muuta häiriötä

n Mitattu data antaa tarkan kuvan entiteetistän Tarvittavan datan on oltava suoraan

mitattavissan Kaikki parametrit tunnettava täysin

n tämä ei useinkaan ole täysin mahdollista

Johdanton Mikä on tosiaikajärjestelmä

n Määritelmän Esimerkkejän Suunnitteluongelmia

n Ajan problematiikkan Mallijärjestelmiän Kurssilla käytettävä malli

Page 17: 582425 Tosiaikajärjestelmät (2 ov) Kevät 2006 · 2006-03-14 · Coordinated Universal Time (UTC): UT2 kellon (astronominen kello) ja IAT kellon (atomikello) välinen ero pidetään

17

Kurssilla käytettävätosiaikajärjestelmän malli

• Prosessorit P• Resurssit R

– tarkastellaan vainrajallisia resursseja,joista kilpaillaan

• Työt J– aloitusaika r

• vaihe ja jakso– suoritusaika e– takaraja d

• ei anneta erikseen,jos jakson loppuJi(φ,p,e,d)

Työ J ja tehtävä Tn aikainformaatio

n aloitusaika, absoluuttinen ja suhteellinendeadline

n toiminnallisuusn suorituksen kesto, yms

n resurssitn yhteistoimintan Tehtävä koostuu useista peräkkäisistä töistä

Page 18: 582425 Tosiaikajärjestelmät (2 ov) Kevät 2006 · 2006-03-14 · Coordinated Universal Time (UTC): UT2 kellon (astronominen kello) ja IAT kellon (atomikello) välinen ero pidetään

18

Aloitusaika rn Erilaisia tietoja aloitusajasta

n kiinteä ri

n aikaväli [ri-, ri

+]n satunnaisjakauma A(x), missä x on saapumis-

ajan tai saapumisten välin odotusarvo, esim.Poisson-jakauma

n Aloitusajan kuvauksen valinta riippuukuormamallista

Suoritusaika en Suorituksen kesto vaihtelee kuten

aloitusaikan Usein pääteltävissä minimi ja maksimikesto

eli [ei-, ei

+]n Kriittisille ja koville tapahtumille käytetään

analyyseissä aina kestona arvoa ei+ , vaikka

sitä ei eksplisiittisesti merkitä

Page 19: 582425 Tosiaikajärjestelmät (2 ov) Kevät 2006 · 2006-03-14 · Coordinated Universal Time (UTC): UT2 kellon (astronominen kello) ja IAT kellon (atomikello) välinen ero pidetään

19

Jaksollinen tehtävän Tehtävän Ti jakso pi on lyhin kahden työn

aloituksen välinen aikan Tehtävän Ti suoritusaika ei on pisimmän

yksittäisen jakson suorituksen keston Tehtävä Ti koostuu töistä Ji,1, Ji,2, ...n Tehtävien T1, T2,..., Tn yhteinen

hyperperiodi H on niiden jaksojenpituuksien pienin yhteinen jaettava

Vaihe φ

n Vaihe kertoo tehtävän Ti ensimmäisenaloituksen ajan eli φi = ri,1

n Kaikki tehtävät eivät välttämättä alasamanaikaisesti

n Samanaikaisesti alkavien tehtävien sanotaanolevan samassa vaiheessa

Page 20: 582425 Tosiaikajärjestelmät (2 ov) Kevät 2006 · 2006-03-14 · Coordinated Universal Time (UTC): UT2 kellon (astronominen kello) ja IAT kellon (atomikello) välinen ero pidetään

20

Käyttöaste U,un Yhden jaksollisen tehtävän käyttöaste on

n Koko järjestelmän käyttöaste on

ui = ei / pi

Ui = ∑ ui

Epäsäännölliset ja sporadisettehtävät

n Yhden tehtävän sisällä töiden saapumisvälitsatunnaisia

n Yhden tehtävän työtn käyttäytyvät tilastollisesti samoinn noudattavat samanlaisia aikarajoitteita

n Epäsäännölliset tehtävät ovat aina pehmeitän Sporadiset ovat kovia ja mahd. kriittisiä

Page 21: 582425 Tosiaikajärjestelmät (2 ov) Kevät 2006 · 2006-03-14 · Coordinated Universal Time (UTC): UT2 kellon (astronominen kello) ja IAT kellon (atomikello) välinen ero pidetään

21

Tehtävien välinenriippuvuusverkko

(0,7]

°

(0,6]

°

(2,5]

°(0,5]

°(4,8]

°(5,20]

° °

(5,8]

°(8,11]

°(11,14]

°(14,17]

°

(8,15]

°(6,13]

°(4,11]

°(2,9]

°

°(2,10]

°°°

°

°°J

°

°

Työ, tehtävä, prosessi, tms.n aikainformaatio

n aloitusaika, absoluuttinen ja suhteellinendeadline

n toiminnallisuusn suorituksen kesto, yms

n resurssitn yhteistoiminta

Page 22: 582425 Tosiaikajärjestelmät (2 ov) Kevät 2006 · 2006-03-14 · Coordinated Universal Time (UTC): UT2 kellon (astronominen kello) ja IAT kellon (atomikello) välinen ero pidetään

22

Tehtävän toiminnallisuus:keskeytettävyys

n Keskeytettävyys (preemptivity)n Voiko tehtävän suorituksen siirtää sivuun

hetkiseksi ja suorittaa jotain muuta tehtävää?n tämä täytyy siis sallia erikseen (tai muuten

olettaa)n Usein keskeytysten ja poikkeusten käsittelijä ei

salli itseään keskeytettävänn Keskeyttäminen edellyttää kontekstin

vaihtoa

Tehtävän toiminnallisuus:Kriittisyys tai tärkeys

n Kriittisyys (criticality)n Työt ja tehtävät eivät ole yhtä tärkeitä

n Kuvataan usein prioriteeteilla tai painoilla,mutta suhdetta ei saa automaattisesti olettaa

n Tietoa tarvitaan ylikuormitustilanteessa, kunkaikkia tehtäviä ei voida suorittaa annetuissaaikarajoissa

Page 23: 582425 Tosiaikajärjestelmät (2 ov) Kevät 2006 · 2006-03-14 · Coordinated Universal Time (UTC): UT2 kellon (astronominen kello) ja IAT kellon (atomikello) välinen ero pidetään

23

Yhteenvetonan Tosiaikaisuus merkitsee sopeutumista

ulkopuoliseen aikaan ja aikarajoihinn Tehtävän (tai sen osatyön) on valmistuttava

annetussa ajassan Varmuus perustuu analyysiin ennen

suoritusta:n Malli käyttäytymisestä jan Analyysi mallin perusteella

Murphyn lakeja 1 / 3n Murphyn yleislaki

n Jos jokin voi mennä pieleen, se menee.

n Murphyn vakion Vaurion suuruus on suhteessa kohteen arvoon.

n Naeserin lakin One can make something bomb-proof, not jinx-proof

n Troutmanin postulaatitn Jokainen vika pyrkii maksimoimaan vahingon.n Pahin ohjelmistovika löytyy 6 kk käyttöönoton jälkeen.

Buttazzo, 1997, s.5

Page 24: 582425 Tosiaikajärjestelmät (2 ov) Kevät 2006 · 2006-03-14 · Coordinated Universal Time (UTC): UT2 kellon (astronominen kello) ja IAT kellon (atomikello) välinen ero pidetään

24

Murphyn lakeja 2 / 3n Greenin laki

n Vaikka järjestelmä on suunniteltu kestämään tiettyvirhejoukko, on aina olemassa riittävän taitava idioottiaiheuttamaan odottamaton ja kestämätön virhe.

n Johnsonin ensimmäinen lakin Jos järjestelmän toimintaa pysähtyy, se tapahtuu

pahimmalla mahdollisella hetkellä.

n Soddin toinen lakin Ennemmin tai myöhemmin pahin mahdollinen

tapausjoukko tapahtuu.Buttazzo, 1997, s.5

Murphyn lakeja 3 / 3n Korollaarit

n Typerykset ovat aina taitavampia kuin keinot,joilla heitä yritetään estää aiheuttamastavahinkoa.

n Järjestelmä täytyy aina suunnitelma sietämäänpahin mahdollinen yhdistelmä tapauksia.

Buttazzo, 1997, s.5