vnorenØ systØmy maro„ ˇuríŁektkraj/2 kontrola_toku_programu.pdfkontakt:...

25
Spoľahlivosť a kontrola toku programu Vnorené systémy Maroš Ďuríček Ústav počítačových systémov a sietí FIIT, STU BA 8.10.2014 Kontakt: [email protected] Maroš Ďuríček Spoľahlivosť a kontrola toku programu 1 / 25

Upload: others

Post on 23-Jan-2021

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: VnorenØ systØmy Maro„ ˇuríŁektkraj/2 Kontrola_toku_programu.pdfKontakt: maros.duricek@stuba.sk Maro„ ˇuríŁek Spoµahlivos» a kontrola toku programu 1 / 25 Obsah 1 Úvod

Spoľahlivosť a kontrola toku programuVnorené systémy

Maroš Ďuríček

Ústav počítačových systémov a sietíFIIT, STU BA

8.10.2014

Kontakt: [email protected]

Maroš Ďuríček Spoľahlivosť a kontrola toku programu 1 / 25

Page 2: VnorenØ systØmy Maro„ ˇuríŁektkraj/2 Kontrola_toku_programu.pdfKontakt: maros.duricek@stuba.sk Maro„ ˇuríŁek Spoµahlivos» a kontrola toku programu 1 / 25 Obsah 1 Úvod

Obsah

1 Úvod

2 Spoľahlivosť

3 Tok programu

4 Chyby v toku programu

5 Metódy kontroly toku programuHW metódySW metódy

6 Literatúra

Maroš Ďuríček Spoľahlivosť a kontrola toku programu 2 / 25

Page 3: VnorenØ systØmy Maro„ ˇuríŁektkraj/2 Kontrola_toku_programu.pdfKontakt: maros.duricek@stuba.sk Maro„ ˇuríŁek Spoµahlivos» a kontrola toku programu 1 / 25 Obsah 1 Úvod

Úvod

Úvod

Príčiny chýb vo vnorených systémoch:(Chyba - prejavenie poruchy)

fyzické poruchy - vnútorné a vonkajšie (žiarenie)

poruchy v dôsledku ľudskej chyby

Prejavenie porúch:

bez prejavenia

zlyhanie

detekcia poruchy - softvérovo, hardvérovo, timeout

latentná porucha

opravenie poruchy

Maroš Ďuríček Spoľahlivosť a kontrola toku programu 3 / 25

Page 4: VnorenØ systØmy Maro„ ˇuríŁektkraj/2 Kontrola_toku_programu.pdfKontakt: maros.duricek@stuba.sk Maro„ ˇuríŁek Spoµahlivos» a kontrola toku programu 1 / 25 Obsah 1 Úvod

Úvod

Chyby a modely

Chyby v systémoch:

hardvérová úroveň - preklopenie bitu . . .systémová úroveň

chyby v dátachchyby v programe

Typ 1 - nezmení sa tok programuTyp 2 - zmení sa tok programu

softvérové chyby. . . chyby programátorov

Maroš Ďuríček Spoľahlivosť a kontrola toku programu 4 / 25

Page 5: VnorenØ systØmy Maro„ ˇuríŁektkraj/2 Kontrola_toku_programu.pdfKontakt: maros.duricek@stuba.sk Maro„ ˇuríŁek Spoµahlivos» a kontrola toku programu 1 / 25 Obsah 1 Úvod

Spoľahlivosť

Spoľahlivosť

Intenzita hardvérových porúch λ v závislosti od času:

λ = πLπQ (C1πTπV + C2πE )

Maroš Ďuríček Spoľahlivosť a kontrola toku programu 5 / 25

Page 6: VnorenØ systØmy Maro„ ˇuríŁektkraj/2 Kontrola_toku_programu.pdfKontakt: maros.duricek@stuba.sk Maro„ ˇuríŁek Spoµahlivos» a kontrola toku programu 1 / 25 Obsah 1 Úvod

Spoľahlivosť

„Vaňová krivkaÿ softvéru - vsuvka

I - testovanie/ladenie - odstraňovanie chýbII - používanie SW - modernizácia SW (upgrade) - vznik ďalších chýbIII - starnutie SW - λ ostáva konštantná

Maroš Ďuríček Spoľahlivosť a kontrola toku programu 6 / 25

Page 7: VnorenØ systØmy Maro„ ˇuríŁektkraj/2 Kontrola_toku_programu.pdfKontakt: maros.duricek@stuba.sk Maro„ ˇuríŁek Spoµahlivos» a kontrola toku programu 1 / 25 Obsah 1 Úvod

Spoľahlivosť

Spoľahlivosť (2)

Dependability = „ability of a processor-based system to deliver a servicethat can justifiably be trustedÿ

Spoľahlivosť (Dependability) zahŕňa:

Dostupnosť (Availability)

Reliability - „pravdepodobnosť bezporuchovej prevádzkyÿ

Bezpečnosť (Safety) - schopnosť odvrátiť katastrofické následky preľudí/okolie

Integrita

Udržiavateľnosť (Maintainability)

Maroš Ďuríček Spoľahlivosť a kontrola toku programu 7 / 25

Page 8: VnorenØ systØmy Maro„ ˇuríŁektkraj/2 Kontrola_toku_programu.pdfKontakt: maros.duricek@stuba.sk Maro„ ˇuríŁek Spoµahlivos» a kontrola toku programu 1 / 25 Obsah 1 Úvod

Spoľahlivosť

Niektoré atribúty spoľahlivosti

R (t) = exp(−∫ t0λ (τ) dτ

)Ak λ je konštantná, potom:

R (t) = e−λt

Q (t) = 1− R (t)

f (t) = λR (t) (hustota porúch)

MTTF =

∫ ∞0

e−λtdt =1λ

Maroš Ďuríček Spoľahlivosť a kontrola toku programu 8 / 25

Page 9: VnorenØ systØmy Maro„ ˇuríŁektkraj/2 Kontrola_toku_programu.pdfKontakt: maros.duricek@stuba.sk Maro„ ˇuríŁek Spoµahlivos» a kontrola toku programu 1 / 25 Obsah 1 Úvod

Spoľahlivosť

Reliability - R(t)

Maroš Ďuríček Spoľahlivosť a kontrola toku programu 9 / 25

Page 10: VnorenØ systØmy Maro„ ˇuríŁektkraj/2 Kontrola_toku_programu.pdfKontakt: maros.duricek@stuba.sk Maro„ ˇuríŁek Spoµahlivos» a kontrola toku programu 1 / 25 Obsah 1 Úvod

Tok programu

Tok programu

Procesorové systémy - procesor, pamäť, program, okolie

Tok programu (Control flow) - postupnosť inštrukcií vo vykonávanomprograme

Graf toku programu - reprezentácia toku programu pomocou grafu

Základný blok - časť programu bez vetvení a iných inštrukcií riadenia(okrem poslednej inštrukcie bloku)

Maroš Ďuríček Spoľahlivosť a kontrola toku programu 10 / 25

Page 11: VnorenØ systØmy Maro„ ˇuríŁektkraj/2 Kontrola_toku_programu.pdfKontakt: maros.duricek@stuba.sk Maro„ ˇuríŁek Spoµahlivos» a kontrola toku programu 1 / 25 Obsah 1 Úvod

Tok programu

Graf toku programu (2)

P = {V ,E}V = {v1, v2, . . . , vn}E = {e1, e2, . . . , em}

vi - základný blokei - vetvenie bri ,j z vi do vjAk bri ,j /∈ E , vetvenie/skok je nelegálny

Maroš Ďuríček Spoľahlivosť a kontrola toku programu 11 / 25

Page 12: VnorenØ systØmy Maro„ ˇuríŁektkraj/2 Kontrola_toku_programu.pdfKontakt: maros.duricek@stuba.sk Maro„ ˇuríŁek Spoµahlivos» a kontrola toku programu 1 / 25 Obsah 1 Úvod

Chyby v toku programu

Chyby v toku programu

typ 1 - nesprávny skok zkonca bloku na začiatokiného bloku

typ 2 - legálny alenesprávny skok z koncabloku na začiatok inéhobloku

typ 3 - skok z konca blokudo stredu nesprávnehobloku

typ 4 - skok z ktorejkoľvekčasti bloku do inej častiiného bloku

typ 5 - skok z ktorejkoľvekčasti bloku do inej častitoho istého blokuMaroš Ďuríček Spoľahlivosť a kontrola toku programu 12 / 25

Page 13: VnorenØ systØmy Maro„ ˇuríŁektkraj/2 Kontrola_toku_programu.pdfKontakt: maros.duricek@stuba.sk Maro„ ˇuríŁek Spoµahlivos» a kontrola toku programu 1 / 25 Obsah 1 Úvod

Chyby v toku programu

Chyby v toku programu (2)

porucha vloženia inštrukcie vetvenia (branch insertion error) - ak sav základnom bloku zmení bežná inštrukcia na inštrukciu vetvenia aporucha vedie k vetveniu

modifikácia cieľa vetvenia (branch target modification error) - cieľinštrukcie vetvenia je zmenený na inú adresu z dôvodu poruchy avetvenie sa vykoná

vyradenie vetvenia (branch deletion error) - porucha spôsobí, žeinštrukcia riadenia toku programu (vetvenie, skok, . . . ) sa zmení nainštrukciu bez riadenia toku

Pri hard RT systémoch - časový alebo logický odklon od pôvodného tokuprogramu

Maroš Ďuríček Spoľahlivosť a kontrola toku programu 13 / 25

Page 14: VnorenØ systØmy Maro„ ˇuríŁektkraj/2 Kontrola_toku_programu.pdfKontakt: maros.duricek@stuba.sk Maro„ ˇuríŁek Spoµahlivos» a kontrola toku programu 1 / 25 Obsah 1 Úvod

Metódy kontroly toku programu

Metódy kontroly toku programu

1. rozdelenie:

Hardvérové metódySoftvérové metódy

pre jazyky vyššej úrovne C, C++, . . .pre jazyky na úrovni assembleru

Hybridné metódy

2. rozdelenie:

metódy aplikovateľné na systémy s COTS procesormi

metódy využívajúce IP jadrá

Maroš Ďuríček Spoľahlivosť a kontrola toku programu 14 / 25

Page 15: VnorenØ systØmy Maro„ ˇuríŁektkraj/2 Kontrola_toku_programu.pdfKontakt: maros.duricek@stuba.sk Maro„ ˇuríŁek Spoµahlivos» a kontrola toku programu 1 / 25 Obsah 1 Úvod

Metódy kontroly toku programu HW metódy

Pôvodná hardvérová metóda

Watchdog procesor (r. 1988)

rozšírenie pôvodnej myšlienky watchdog časovača

Maroš Ďuríček Spoľahlivosť a kontrola toku programu 15 / 25

Page 16: VnorenØ systØmy Maro„ ˇuríŁektkraj/2 Kontrola_toku_programu.pdfKontakt: maros.duricek@stuba.sk Maro„ ˇuríŁek Spoµahlivos» a kontrola toku programu 1 / 25 Obsah 1 Úvod

Metódy kontroly toku programu HW metódy

Watchdog procesor (WDP)

kontrola toku programu

monitorovanie zbernice medzi CPU a pamäťou

overovanie, či je spustený správny blok programu a ich poradie

WDP musí mať referenčné informácie o programe z grafu tokuprogramu

programové bloky majú pridelené príznakydetekcia porúch:

chybná inštrukcia (napr. zle načítaná z pamäte)zlý skok v programe

Maroš Ďuríček Spoľahlivosť a kontrola toku programu 16 / 25

Page 17: VnorenØ systØmy Maro„ ˇuríŁektkraj/2 Kontrola_toku_programu.pdfKontakt: maros.duricek@stuba.sk Maro„ ˇuríŁek Spoµahlivos» a kontrola toku programu 1 / 25 Obsah 1 Úvod

Metódy kontroly toku programu HW metódy

WDP (2)

WDP:aktívny - počíta príznaky, vykonáva tieňový programpasívny - sleduje informácie na zbernici a kontroluje správnosť sreferenčnou pamäťou

Dva typy prístupov KTP s WDP:statické prideľovanie príznakovodvodenie príznakov z inštrukcií

aj kontrola integrityproblém pri spracovaní inštrukcií

Problémy:moderné CPU s Cache pamäťoupamäťový nárastzvýšené oneskorenieproblém pri superskalárnych strojochmodifikácia vykonávaného programu - nárast v pamäti

Maroš Ďuríček Spoľahlivosť a kontrola toku programu 17 / 25

Page 18: VnorenØ systØmy Maro„ ˇuríŁektkraj/2 Kontrola_toku_programu.pdfKontakt: maros.duricek@stuba.sk Maro„ ˇuríŁek Spoµahlivos» a kontrola toku programu 1 / 25 Obsah 1 Úvod

Metódy kontroly toku programu HW metódy

WDP (3)

Maroš Ďuríček Spoľahlivosť a kontrola toku programu 18 / 25

Page 19: VnorenØ systØmy Maro„ ˇuríŁektkraj/2 Kontrola_toku_programu.pdfKontakt: maros.duricek@stuba.sk Maro„ ˇuríŁek Spoµahlivos» a kontrola toku programu 1 / 25 Obsah 1 Úvod

Metódy kontroly toku programu SW metódy

Softvérové metódy

SIHFT - softvérovo implementovaná hardvérová odolnosť

určené pre systémy s COTS procesormi

používa sa príznaková analýza

model programu pomocou grafu toku programu (control-flow graph)

Maroš Ďuríček Spoľahlivosť a kontrola toku programu 19 / 25

Page 20: VnorenØ systØmy Maro„ ˇuríŁektkraj/2 Kontrola_toku_programu.pdfKontakt: maros.duricek@stuba.sk Maro„ ˇuríŁek Spoµahlivos» a kontrola toku programu 1 / 25 Obsah 1 Úvod

Metódy kontroly toku programu SW metódy

CFCSS

si - príznak pridelený každému blokuG - run-time príznak meniaci sa počas vykonávaniapríznaková funkcia f :

f (G , di ) = G ⊕ di

kdedi = sj ⊕ si

a sj - príznak predchodcu vi .

Maroš Ďuríček Spoľahlivosť a kontrola toku programu 20 / 25

Page 21: VnorenØ systØmy Maro„ ˇuríŁektkraj/2 Kontrola_toku_programu.pdfKontakt: maros.duricek@stuba.sk Maro„ ˇuríŁek Spoµahlivos» a kontrola toku programu 1 / 25 Obsah 1 Úvod

Metódy kontroly toku programu SW metódy

Hybridné a nové hardvérové metódy

Každá z nových metód využíva softvérovú podporu aspoň čiastočne.Prednosti v nových hybridných a HW metódach:

využitie systémov na čipe

miniaturizácia

používanie IP jadier

návrh špecializovaného hardvéru

Príklad: CFCET - Control-flow checking using execution tracing(využitie ladiaceho portu)

Maroš Ďuríček Spoľahlivosť a kontrola toku programu 21 / 25

Page 22: VnorenØ systØmy Maro„ ˇuríŁektkraj/2 Kontrola_toku_programu.pdfKontakt: maros.duricek@stuba.sk Maro„ ˇuríŁek Spoµahlivos» a kontrola toku programu 1 / 25 Obsah 1 Úvod

Metódy kontroly toku programu SW metódy

Metóda CFCET (2006)

Pentium procesory majú jednotku Execution tracing unit

Generovanie špeciálnych zbernicových cyklov

Extrahovanie grafu skokov (GTP) ⇒ externý WDP s asociatívnoupamäťou

Modul OS, ktorý zapne generovanie špeciálnych cyklov na zbernici

Predpoklad použitia aj pri Multi-tasking OS

Výhody:

Aplikovateľná metóda na COTS procesory s prúdovým spracovaním aon-chip cache

Nie je potrebná modifikácia programu

Detekcia chýb takmer bez oneskorenia

Maroš Ďuríček Spoľahlivosť a kontrola toku programu 22 / 25

Page 23: VnorenØ systØmy Maro„ ˇuríŁektkraj/2 Kontrola_toku_programu.pdfKontakt: maros.duricek@stuba.sk Maro„ ˇuríŁek Spoµahlivos» a kontrola toku programu 1 / 25 Obsah 1 Úvod

Metódy kontroly toku programu SW metódy

CFCET (2006) (2)

Maroš Ďuríček Spoľahlivosť a kontrola toku programu 23 / 25

Page 24: VnorenØ systØmy Maro„ ˇuríŁektkraj/2 Kontrola_toku_programu.pdfKontakt: maros.duricek@stuba.sk Maro„ ˇuríŁek Spoµahlivos» a kontrola toku programu 1 / 25 Obsah 1 Úvod

Metódy kontroly toku programu SW metódy

Atribúty metód KTP

Hlavnými atribútmi metód kontroly toku programu:

výkon systému

pamäťový priestor

plocha čipu pri HW a hybridných metódach

pokrytie porúch

oneskorenie detekcie porúch

Maroš Ďuríček Spoľahlivosť a kontrola toku programu 24 / 25

Page 25: VnorenØ systØmy Maro„ ˇuríŁektkraj/2 Kontrola_toku_programu.pdfKontakt: maros.duricek@stuba.sk Maro„ ˇuríŁek Spoµahlivos» a kontrola toku programu 1 / 25 Obsah 1 Úvod

Literatúra

Literatúra

[1] Goloubeva, O., Rebaudengo, M., et al.: Software-Implemented HardwareFault Tolerance. Springer 2006, ISBN 978-0-387-26060-0.

[2] Koren, I., Krishna, C., M.: Fault-Tolerant Systems. San Francisco, CA, USA:Morgan Kaufmann Publishers Inc., 2007, ISBN 978-0120885251.

[3] Oh, N.; Shirvani, P.P.; McCluskey, E.J.: Control-flow checking by softwaresignatures, IEEE Transactions on Reliability, vol.51, no.1, pp.111,122, Mar2002.

[4] Rajabzadeh, A., Miremadi, S.-G.: A hardware approach to concurrent errordetection capability enhancement in COTS processors. In Proceedings of the11th Pacific Rim International Symposium on Dependable Computing, pp.8, Dec. 2005.

[5] Dubrova, E.: Fault-Tolerant Design: An Introduction, KTH Royal Instituteof Technology, Stockholm (Sweden),2008.URL:http://web.it.kth.se/˜dubrova/draft.pdf.

Maroš Ďuríček Spoľahlivosť a kontrola toku programu 25 / 25