Dependability
Transkript
Mezníky (poskytovaní správných výpočetních služeb) (1834) Dionysius Lardner. - článek “ Babbage’s calculating engine” v Edinburgh Review (konec 40. – začátek 50. let minulého století) První generace počítačů. Prostředky pro zlepšení spolehlivosti: - detekční a korekční kódy; - zdvojení a porovnání; - ztrojení s hlasováním; - diagnostika porušených komponentů, atd. I. von Neumann, E.F. Moore a C.E. Shannon. Teorie maskující nadbytečnosti. (1965) W.H. Pierce. Pojem odolnost proti poruchám. (1967) A. Avizienis. Maskující nadbytečnost + praktické metody (odhalení chyb; diagnostika závad; obnovení) ⇒ pojem odolnost proti závadám. (1980) IFIP WG 10.4 “Dependable computing and fault tolerance”. Pojem Dependability. OPZ + obrana před záměrnými zlomyslnými závadami (bezpečnostní hrozby) ⇒ integrace bezpečnosti do rámce dependable computing. 1 Dependability Výpočetní systémy se dají charakterizovat pomocí 5 základních vlastností: funkčnost ■ použitelnost ■ výkonnost ■ cena ■ dependability (dependabilita) ■ Dependabilita je schopnost výpočetního systému poskytovat službu na niž se dá spolehnout 2 Dependability 3 Tři důležité části při realizaci Dependability : Hrozby Atributy Prostředky pro zajištění dependability Dependabilita Hrozby Hrozby Selhání Chyba Závada Atributy Dostupnost Spolehlivost Bezpečí Důvěrnost Integrita Udržovatelnost Prostředky Prevence závad Odolnost proti závadám Odstranění závad Předpověd´ závad Dependability Hrozby Závada – je posouzená nebo hypotetická příčina chyby. Chyba (chybný stav) – je takový stav systému, který může vést k selhání. Selhání (porucha) – je událost, která se vyskytuje když se poskytována služba liší od spravné služby. ◘ Systém může selhat bud´ protože se nedodrží specifikace, nebo specifikace nepopisuje adekvátně funkce systému. Režimy selhání (způsoby, jakým systém může selhat) Podle 4 různých hledisek režimy mohou být charakterizovaný takto: • selhávací doména; • ovladatelnost selhání; • konzistence selhání, když systém má dva a více uživatelů; • následky selhání pro prostředí. 4 5 Dependability Hrozby Planý poplach doména ovladatelnost hodnotové Degradovaná Degradovaná služ služba časové Přeruš erušení ení prá práce ovládané Signalizované Signalizované selhá selhání Symptomy neovládané Totá Totální lní selhá selhání selhání selhání konzistence konzistentní Klamné Klamné selhá selhání nekonzistentní mírné následky Nesignalizované Nesignalizované selhá selhání katastrofické Byzantské Byzantské selhá selhání vážnost selhá selhání Obrázek ukazuje režimy selhání a také ukazuje možné symptomy selhání, které jsou výsledky kombinací: domény, ovladatelností a konzistence. Symptomy selhání mohou být mapovány na závažnost selhání, které jsou třídění následků selhání. Dependability 6 Hrozby Závada (Z) obvykle způsobí Chybu (Ch) ve stavu jednoho nebo více komponentů, ale k Selhání systému nedojde do té doby pokud Chyba nedosáhne Rozhraní služby systému. SYSTÉM Component 2 Component N Z Ch Ch Ch Rozhraní služby Component 1 SLUŽBA Dependability Hrozby Třídění chyb Hodnotové ver. Časové chyby Konzistentní ver. Nekonzistentní (“Byzantské“) chyby Chyby různých závažností: méně závažné ver. obvyklé ver. katastrofické ■ Chyba je odhalená, jestli na její přítomnost ukazuje zpráva nebo signál. ■ Chyba která je přítomná, ale neodhalená se jmenuje Latentní chyba. 7 Dependability fáze vytváření nebo výskytu meze doména Závady původ záměr stabilita Tři hlavní třídy závad: • závady návrhu; • fyzikální závady; • interaktivní závady. vývojové závady provozní závady interní závady externí závady HW závady SW závady přirozené (vlastní) závady lidmi zapříčiněné závady nahodilé nebo nezlomyslné závady záměrně zlomyslné závady permanentní závady přechodní závady 8 9 ZÁVADY vývojové vývojové fáze interní interní meze doména původ záměr provozní provozní interní interní SW HW lidské lidské Nah nebo nezlo lidské lidské Zám zlo Zám zlo Nah nebo nezlo HW přiroz nah stabilita přiroz nah přech SW závady zlomys kody HW závady externí externí výrobní výrobní defekt fyzické fyzické deteriori zace HW přiroz nah SW lidské lidské Nah nebo nezlo přech přech fyzická fyzická interference lidské lidské Zám zlo Zám zlo přech přech Napadení Napadení Nah nebo nezlo přech vstupní vstupní chyby zlomys kody závady návrhu fyzikální závady interaktivní závady 10 Dependability Vztah mezi Závadami, Chybami a Selháními Rozhraní služby Komponent A Interní závada (spící stav) Ak t iv ac e Vstupní chyba Šíření Chyba Rozhraní služby Komponent B Šíření Chyba Ch Šíření Exrerní Šíření Chyba Chyba Závada ní rer x E a ad záv Stav služby komponentu A Správná služba Selhání Nesprávná služba Stav služby komponentu B Správná služba Závada Aktivace Chyba Šíření Selhání Příčina Závada Selhání Nespr. služba Dependability 11 Závady podle jejich aktivační reprodukovanosti Stálé (pevné) ZÁVADY Nestále (občasné) nebo unikající Terminologie pro SW: • Unikající závady návrhu ( bugs) = Heisenbugs; • Stálé závady návrhu = Bohrbugs. Výpočetní systémy (např. [Gray 1990], [Cramp et al. 1992]) Hodnocení Procento selhání Řízené systémy (např. Komerční letadla [Ruegger 1990], telefonní sít´ [Kuhn 1997]) Hodnocení Procento selhání Interní fyzické závady 3 ~10% 2 15-20% Externí fyzické závady 3 ~10% 2 15-20% Interaktivní závady způsobené člověkem 2 ~20% 1 40-50% Závady návrhu SW 1 ~60% 2 15-20% Dependability 12 Atributy Dependability Dostupnost: pohotovost k provedení správné služby. Spolehlivost: kontinuita poskytování správné služby. Zabezpečenost: absence katastrofických následků pro uživatele a prostředí. Důvěrnost: absence nepovolených odhalení informace. Integrita: absence nevhodných změn stavu systému. Udržovatelnost: schopnost procházet opravy a modifikace. Jiné atributy dependability: Robustnost – odolnost proti chybným vstupním datům. Důvěrnost Integrita Dostupnost Bezpečnost Sekundární atributy: • zodpovědnost; • originalita; • nepopíratelnost (absence neoprávněného přístupu ke stavu systému nebo neoprávněného ošetření stavu systému) Dependability 13 Metody pro zajištění Dependability Prevence závad: jak zabránit výskytu závad. Odolnost proti závadám: jak poskytnout správnou službu v přítomnosti závad. Odstranění závad: jak zredukovat počet závad nebo zmenšit závažnost závad. Předpověd´ závad: jak zhodnotit počet stávajících závad, a počet nastávajících závad (které mohou vzniknout), a takže jak zhodnotit pravděpodobné následky závad. Odolnost proti závadám Odhalení Chyb Obnovení Systému Kompensace (maskování závad) Ošetření Závad Přerolování Odrolování Předběžné Souběžné Ošetření Chyb Krok 1: Diagnostika závad Krok 2: Izolace závad Krok 3: Rekonfigurace systému Krok 4: Znovuinicializace (reinicializace) Dependability 14 Odolnost proti závadám Odhalení chyb Odhalení chyb: se projevuje jako chybový signál nebo zpráva o chybě uvnitř systému. Souběžné OCh – probíhá v průběhu poskytování služby; Předběžné OCh – probíhá když poskytování služby je pozastaveno; Obnovení systému Obnovení systému: transformuje stav systému, který obsahuje jednu nebo více chyb a závad, do stavu bez odhalených chyb a závad, které by mohly být znovu aktivovány. A. Ošetření chyb: chyb odstraňuje chybu ze stavu systému. • Odrolování, když transformace stavu probíhá jako vracení stavu systému do zachovaného stavu, který byl před odhalením chyby; • Kompensace, když chybový stav obsahuje dostatek nadbytečnosti pro odstranění chyby; • Přerolování, přechod do nového stavu, který neobsahuje již odhalené chyby. Dependability 15 Odolnost proti závadám B. Ošetření závad: vad zabraňuje lokalizovaným závadám v opakované aktivaci. 1) Diagnostika závad Identifikuje a zaznamenává příčiny chyb. V záznamech se uvádí lokalita a typ závady; 2) Izolace závad Vykonává fyzické nebo logické vyloučení závadných komponentů z další účasti v poskytování služby; 3) Rekonfigurace systému Bud´ přepíná na náhradní komponenty nebo používá nezávadné komponenty (které zůstaly v systému) a přerozdělí úkoly mezi nezávadnými komponenty; 4) Znovuinicializace kontrola, aktualizace a záznam nové konfigurace. Dependability 16 Odolnost proti závadám Systémy s ovladatelným selháním: systémy jejichž návrh a implementace jsou takové že tyto systémy selžou pouze specifickým způsobem popsaným v požadavcích k dependabilitě a pouze do přijatelné míry. Příklady: -Stálá výstupní hodnota (nesprávná) na rozdíl od nahodilé výstupní hodnoty; -absence výstupní hodnoty (ticho) na rozdíl od „blábolení“; -konsistentní na rozdíl od nekonsistentního selhání. ■ Systém jehož selhání se vždycky do přijatelné míry jeví jako zastavení, se jmenuje systém s selhání typu: “selhání→zastavení” (nebo “selhání→mlčení”) Fail-halt (or Fail-silent) ■ Systém jehož selhání jsou do přijatelné míry méné závažná, se jmenuje systém s neškodnými selháními. Fail-safe Dependability 17 Běžné otázky: • Proč SW systémy selhávají? • Co tvoří základ procesu selhání SW? • Jestli-že selhání SW jsou ”systematické”, proč pořad mluvíme o spolehlivosti s použitím termínů pravděpodobnosti? Systematické: pokud se závada tohoto druhu (systematická závada) projeví v určitých podmínkách, pak můžeme garantovat že tato závada se projeví vždycky při opakování podmínky. Selhání SW jsou vždy výsledkem závad návrhu , které se projeví při určitých výpočetních okolnostech. Tyto závady (závady návrhu = bugs) budou v SW od okamžiku jeho vytvoření, nebo při následujících změnách. Proces selhání – je proces ve kterém se závady jeví jako výsledek zpracování (výpočtu) vstupních dat. Dependability 18 Koncepční model procesu selhání SW Systém na vyžádání (demand-based system) (např. Systém zajišt´ující bezpečnost jaderné elektrárny) D O Program DF nepřipustný připustný D – prostor požadavků; O – množina výstupních dat; DF – množina požadavků, které způsobí selhání systému; ● - konkrétní fyzický požadavek. ▌Každý bod v D si můžete představit jako konkrétní fyzický požadavek. (např., vektor teplot, tlak, rychlost toku apod., odebrané v pravidelných intervalech skenovacími senzory) Dependability Stochastický proces Není jistota ve znamená výběru požadavku Není jistota bude-li se požadavek nacházet v oblasti DF nebo nikoliv 19 vyplývá Není jistota bude-li selhání systému Závěr: • Všechna tvrzení ohledně spolehlivosti musí počítat s touto nejistotou; • Systematická selhání jsou stejně “nahodilá” jako obvyklé nahodilé selhání. Závada v kontextu Koncepčního modelu Fs – Podmnožina bodů v DF, které se změnily z bodů DF Fs selhání na body spojené s požadavky, které budou správně zpracovány. Můžeme si myslet že Fs je “závada” která byla odstraněná Pr(d) pfd – probability of failure upon demand pfd = (pravděpodobnost selhání při zpracování požadavku) Zlepšení pfd po odstranění závad: pfd = ∑ d ∈ Fs ∑ P (d ) r d∈ D F Pr (d ) Dependability 20 Odstranění závad Vývojová fáze 1. Verifikace & Validace 2. Diagnostika 3. Korekce Provozní fáze Korekční údržba Preventivní údržba Verifikace- je proces kontroly jestliže systém dodržuje nastavené vlastností. Validace – je proces kontroly specifikace systému. Cena V&V = ½ nebo ¾ ceny vývoje systému V&V umožňuje: zredukovat četnost závad z 10 – 300 závad/kLoC → následek vývoje SW na 0.01 – 10 závad/kLoC → po odstranění závad Důležité: 1 závada/kLoC zůstavá v systému ( v průměru) Dependability 21 Odstranění závad Provozní fáze Korekční údržba – má za cíl odstranit závady, které způsobily jednu nebo více chyb, a byly odhaleny. Preventivní údržba – má za cíl odhalit a odstranit závady ještě před tím než závady způsobí chyby v průběhu normálního fungování systému. Dependability 22 Předpověd´ závad Striktní odvozovací procedura: - Systém na vyžádání ( e.g. Ochranný systém) Když potřebujeme 99% jistoty že pfd nebude horší než 10-3 , musíme obdržet přibližně 4600 požadavků, které by nevedly k selhání; Pro 99% jistoty v 10-4 , toto číslo stoupá na 46000 požadavků. (Toto testování bylo provedené pro ochranný systém jaderného reaktoru SizeWellB v UK). - Systém s nepřetržitou obsluhou (e.g. Řídicí systém) 99% jistoty v MTTF (střední doba do poruchy) 104 hodin (1.14 roku) potřebují přibližně 46000 hodin testování bez selhání (t.j. Bezporuchového testování); Zvýšení MTTF na 105 hodin, bude potřebovat dobu testování 460000 hodin. Efektní pravděpodobnostní metody Krátkodobé pozorování → předpověd´ na dlouhé období CRL: “krátkodobé pozorování přidává velmi málo k jistotě že systém bude dlouho bezporuchové fungovat v budoucnosti”. Dependability 23 Příklady systémů odolných proti závadám Odolnost proti závadám Systémy s vysokou dostupností unikající závady návrhu SW závady návrhu HW a SW a závady kompilátoru Systémy kritické k bezpečnosti závady návrhu HW a SW závady návrhu HW a SW závady návrhu HW a závady kompilátoru [Wilson 1985] D. Wilson, “The STRATUS Computer System”, in Resilient Computing 24 Systems (T. Anderson, Ed.), pp.208-31, Collins, London, UK, 1985. [Baker et al. 1995] W. E. Baker, R. W. Horst, D. P. Sonnier and W. J. Watson, “A Flexible ServerNet-based Fault-Tolerant Architecture”, in 25th IEEE Int. Symp. on Fault-Tolerant Computing (FTCS-25), (Pasadena, CA, USA), pp.2-11, IEEE CS Press, 1995. [Brown Associates 1998] Competitive Analysis of Reliability, Availability, Serviceability and Cluster Features and Functions, D.H. Brown Associates, Inc., Report. [Bowen et al. 1997] N. S. Bowen, J. Antognini, R. D. Regan and N. C. Matsakis, “Availability in Parallel Systems: Automatic Process Restart”, IBM Systems Journal, 36 (2), pp.284-300, 1997. [Hennebert & Guiho 1993] C. Hennebert and G. Guiho, “SACEM: A Fault-Tolerant System for Train Speed Control”, in 23rd IEEE Int. Symp. on Fault-Tolerant Computing (FTCS-23), (Toulouse, France), pp.624-28, IEEE CS Press, 1993. [Kantz & Koza 1995] H. Kantz and C. Koza, “The ELEKTRA Railway Signalling System: Field Experience with an Actively Replicated System with Diversity”, in 25th IEEE Int. Symp. on Fault-Tolerant Computing (FTCS-25), (Pasadena, CA, USA), pp.453-58, IEEE CS Press, 1995. [Brière & Traverse 1993] D. Brière and P. Traverse, “AIRBUS A320/A330/A340 Electrical Flight Controls - A Family of Fault-Tolerant Systems”, in 23rd IEEE Int. Symp. on Fault-Tolerant Computing (FTCS-23), (Toulouse, France), pp.616-23, IEEE CS Press, 1993. [Yeh 1998] Y. C. B. Yeh, “Dependability of the 777 Primary Flight Control System”, in Dependable Computing for Critical Applications (DCCA-5) (R. K. Iyer, M. Morganti, W. K. Fuchs and V. Gligor, Eds.), Dependable Computing and Fault-Tolerant Systems, 10, pp.3-17, IEEE CS Press, 1998 (Proc. IFIP 10.4 Work. Conf. held in Urbana-Champaign, IL, USA, September 1995). Dependability 25 Současný stav Hlavní body: Dosažení potřební spolehlivosti. ● Je-li možné dosáhnout cílové spolehlivosti? ● Jaké metody SW inženýrství jsou vhodné pro použití v návrzích? Hodnocení spolehlivosti, která ve skutečnosti byla dosažena. OPZ via RN byla doporučena jako cesta dopředu jak pro dosažení vysoké spolehlivosti tak i pro její hodnocení Argumenty pro a proti RN Proti: současné selhání verzí je více pravděpodobně než nezávisle selhání Pro: multiverzní systémy jsou v průměru více spolehlivé (občas mnohem více) než jednotlivé verzí. Otevřená otázka: na kolik se zvýší spolehlivost systému při použití RN. Hlavní směr: zmenšení souvztažnosti mezi jednotlivými verzemi. Dependability Experiment (testování rozmanitosti návrhu): ▌ Autory: John Knight (Univerzita v Virginia) a Nancy Levenson (Univerzita v California). Místo a Čas: USA v průběhu 1980. let Cíl: 1. Prověřit hypotézu že “nezávisle ” vyvinuté verzí selhají nezávisle. 2. Zkoumat jestliže RN přispěla k zlepšení spolehlivosti. Obsah: Úkolem experimentu bylo vyvinutí 27 verzí programu a jejich následné testování v 1000000 případů a porovnání výsledků s výsledky předem připravené správné verzi. V průběhu experimentu byly zkoušeny všechny možné “2 z 3” systémy. Results: • Průměrná spolehlivost “2 z 3” systémů byla výrazně vyšší než průměrná spolehlivost 27 jednotlivých verzí. • Jednotlivé “2 z 3” systémy mohou mít spolehlivost menší než spolehlivost jednotlivých verzí. 26 Dependability 27 . Implementace ■ RN byla adoptovaná v letecké a vlakové dopravě (např. Airbus A/320/30/40, různé vlakové signální a řídicí systémy); Standardy: ● Civilní letectví RTCA/EuroCAE, DO-178B, Software Consideration in Airbone Systems and Equipment Certification, № RTCA DO – 178B/EUROCAE ED-12B, December 1992. ● Defence Standard MoD, Safety Management Requirements for Defence Systems, U.K. Ministry of Defence, Defence Standard, № 00-56, Issue 2, December 1996. ■ V současné době oblast použití RN výrazně rozšířila a její použití se stalo běžným. (např. Webové služby)
Podobné dokumenty
Leták PREMIER system
– import – EDI-Inhouse, Factoring (OB Heller, KB)
– tvorba importních můstků na míru
Nestandardní zápisy £ísel
Z[i] velice podobn¥ jako v Z. V Z lze za základ zvolit
β ∈ Z, β > 1 (a dokonce i β < −1). tená°e jist¥ napadlo, pro£ jsme si
vybrali v Z[i] bázi β = i − 1 a ne β = i + 1. I toto gaussovské £íslo m...
Automatic Storage Management (ASM)
1 AU = 1 MB (od Oracle 11g lze nastavit 1-64
MB)
ASM dokáže pracovat i s jejími částmi (např.
jemnější striping používá 128 KB bloky)
soubory rozděleny na bloky této velikosti a
umístěny na disky...
ZDE - Katedra informatiky
Kurz uvádí do problematiky dependability informačních systémů. V rámci kurzu budou podrobně vysvětleny otázky
samokontroly a samodiagnostiky počítačových systémů. Kurz bude zaměřen zejména na spole...
Patria Forex Pruvodce Aplikaci
Patria Forex je obchodní aplikace společnosti Patria Finance, a.s. specializovaná na obchodování
s deriváty, které jsou navázané na vývoj hlavních měn, komodit a akciových indexů.
Patria Finance, a...
Patria Forex Pruvodce Aplikaci
Patria Forex je obchodní aplikace společnosti Patria Finance, a.s. specializovaná na obchodování
s deriváty, které jsou navázané na vývoj hlavních měn, komodit a akciových indexů.
Patria Finance, a...