582425 tosiaikajärjestelmät (2 ov) kevät 2006 · 2006-03-14 · coordinated universal time...
TRANSCRIPT
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)
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.
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
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
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{{
{
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ä
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ä
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
9
Lennonohjausjärjestelmä
Shaw: Real-Time Systems andSoftware,2001
Lennonohjausjärjestelmä
Shaw: Real-Time Systems andSoftware,2001
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?
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
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
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
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
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
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
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ä
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ä
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
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ä
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
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
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
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