Elosztott rendszerek NGM_IN005_1 Megbízhatóság Megbízhatóság A rendszer, egy specifikus feladat elvégzésének képességére vonatkozó, jellemzje élettartam átlagos meghibásodások száma egységnyi id alatt a rendszer m"ködésének valószín"sége egy adott idpontban átlagos helyes m"ködés idtartama 2
Hibák Tévedés, tévesztés (fault) hibaforrás Hiba (error) tévesztés manifesztálódása Hibás m"ködés, kiesés (failure) hiba hatása Permanent fault Incorrect design Unstable components Unstable environment Operator mistake Permanent error Intermittent error Transient error System failures 3 Kockázatok Nem kívánatos események bekövetkezésének veszélye elfordulási gyakoriság következmény költsége (súlyosság) 4
Tervezési célok Elfogadási kritérium ipari átlag gazdaságossági megfontolás elírás Failure frequency 1 10-1 10-2 Not acceptable 10-3 Uncertainty band Acceptable 1 10 100 1000 Number of failures 5 Hibaráta Hibák várt száma egységnyi id alatt Hibaráta függvény hibaráta az id függvényében Failure rate Infant phase Useful life period Wear-out phase Time 6
Hiba elhárítás Hiba-elfedés a rendszer képessége a hibák tolerálására hibadetektálás hibalokalizálás hiba lehatárolása helyreállítás C=P(fault recovery fault existence) 7 Megbízhatóság és rendelkezésre állás R(t)=P{0 failure in [0,t] no failure at t=0} R(t) = R(t) = e "#t MTTF = N o (t) N o (t) + N f (t) $ % e "#t dt = 1 # 0 MTBF = MTTF + MTTR több komponens" rendszerre használati tartományban ( hiba ráta) els hiba fellépésének ideje hiba-fellépések közötti id MTBF MTTF MTTR MTTF System start failure repaired failure 8
Hiba típusok Kihagyás Idzítési hiba Válaszhiba Összeomlás 9 Megbízhatósági technikák Redundancia Hibamegelzési megoldások Hibadetektálási megoldások Hibat"rés 10
Redundancia Tér-redundancia hardver többszörözés szoftver többszörözés Id-redundancia többszörös végrehajtás Információ redundancia hibadetektáló kódolás hibajavító kódolás 11 Redundancia (folyt.) Statikus redundancia független redundáns komponensek Dinamikus redundancia hibafellépés esetén elhárítás 12
Redundáns rendszer m"ködése Hibakorlátozás Hibadetektálás Hibamaszkolás (statikus redundancia) Újra próbálkozás Diagnosztizálás Rekonfiguráció Visszaállítás Újraindulás 13 Hibamegelzés Környezet szabályozása Minségbiztosítási rendszer alkalmazása Tervezés kisebb komplexitással 14
Hibadetektálás Duplikálás (többszörözés) Hibadetektáló kódolások Önellenzési funkció Watchdog timerek 15 Hibat"r architektúrák Statikus redundancia Többségi szavazás (NMR) Hibajavító kódolás Dinamikus redundancia Rekonfigurálható duplikálás Adaptív szavazás Graceful degradation Javítás (rollback-restart, retry) Naplózás (journaling) 16
Szoftver hibat"rés Hibák megjelenése bemenet környezet felhasználói elvárások M"köd szoftverek hibarátája állandósult fault/kloc ( jó szoftver 10-50, tesztelés után 1-5) Hibák hatása költség, szolgáltatás 17 Szoftver hibat"rés (folyt.) Hibat"rési technikák N-verziós programozás Javító blokkok 18
Megbízhatósági elemzés Rendszer leírás Rendszerhibák definiálása Ok analízis statisztikai adatok FTA ETA Megbízhatósági értékelés 19 Megbízhatósági modellek Kombinatórikus modellek (bináris modellek) Soros rendszerek R series (t) = P(C 1w (t) " C 2w (t) "..." C Nw (t)) R series (t) = R 1 (t)r 2 (t)...r N (t) = Párhuzamos rendszerek N N # 1 R i (t) R parallel (t) =1" Q parallel (t) =1" # Q i (t) =1" #(1" R i (t)) = R i (t) 1 N 1 N 1 20
Megbízhatósági modellek (folyt.) Markov modellek rendszer többféle állapotban állapotok közötti átmenetek (állapot diagramok) 0 1 " +" 00 01 egy komponens P 1 (t) = e "#t P 1 (t) = µ " + µ + " " + µ e#("+µ )t +" " két komponens, közös meghibásodással 10 11 21 Megbízhatósági modellek (folyt.) Markov modellek (folyt.) Markov folyamat P i (t) = P(X(t) = i) P(X(s) = j X(t) = i, X(u) = x(u),0 " u < t) = P(X(s) = j X(t) = i),s > t Tranzíciók q ij = lim h "0 q jj = $ P(X(t + h) = j X(t) = i),i # j h n % k= 0,k# j q jk P ij (t) = P(X(s + t) = j X(s) = i) P ' (t) = QP(t) 22
Megbízhatósági modellek (folyt.) Markov modell példa (TMR) 1-3 1-2 1 110 100 3 2 3 2 1 111 101 001 000 011 010 R TMR (t) = 3e "2#t " 2e "3#t 3 2 1 23 Megbízhatósági modellek (folyt.) M-of-N rendszerek N identikus modulból M kell a helyes m"ködéshez TMR: 2-of-3 rendszer R M "of "N (t) = N"M ) i= 0 # N& % ( R N"i (t)(1" R(t)) i $ i ' 24
Megbízhatósági modellek (folyt.) Mennyire megbízható a TMR? R 1 TMR 0.75 Single module 0.5 0.25 0 0.08 0.16 0.24 0.32 0.4 0.48 0.56 0.64 0.72 0.8 0.88 0.96 R1 25 Replikálás és megbízhatóság Kritikus szoftverkomponensek, adatok többszörözése Replika fizikai másola - nem feltétlenül identikusak teljesítmény és hibat"rés javítása proxy adat elérés biztosítása (rendelkezésre állás) megbízhatóság: 1-q n (páhuzamos r.) szétkapcsolt m"ködés 26
Elosztott rendszerek hibái halt-on-failure (fail-silent) hálózati kapcsolat meghibásodása hálózat részekre szakadása idzítési hiba Hibadetektálás valamilyen szinkronitás feltételezése (timerek) 27 Elosztott replikációs rendszerek Rendelkezésre állás javítása replikák elérhetk maradnak Hibat"rés hibamaszkolás visszaállítás konzisztencia biztosítása Teljesítmény növelés párhuzamos m"ködés, közeli adatok 28
Konzisztencia modellek Szigorú konzisztencia Lineáris Kauzális konzisztencia FIFO konzisztencia " " 29 Replikációs sémák C Rendszer modell RM C FE aszinkron rendszer kliensek, front end, replika menedzserek (RM) kérések read-only, update feldolgozás front end - RM komm. (uni cast, multicast) RM koordináció (FIFO, kauzális, teljes sorrendiség) végrehajtás (lehet átmeneti) RM megállapodás válaszgenerálás 30 FE RM RM
Csoport kommunikáció RM csoport tagságok kezelése, multicast üzenettovábbítás tagság változtatási interfész hiba detektálás értesítési szolgáltatások group comm. multicast fail X leave csoport cím kiterjesztés join 31 Nézetszinkron csoportkommunikáció rendszernézet (állapot) üzenetek továbbítása sorrend tartás megállapodás integritás validitás p crashes p X q r view(p,q,r) view(q,r) p crashes p X q r view(p,q,r) view(q,r) a nézetek (view) konzisztens vágatok p crashes p X q r view(p,q,r) view(q,r) p crashes p X q r view(p,q,r) view(q,r) 32
Primary-backup Passzív replikálás kérések kiszlgálása - primary C C FE FE Primary RM Backup RM Backup RM linearizálás állapot update a backup-okban view synchronous group comm. 33 Aktív replikáció C FE RM RM C FE Backup RM Replika menedzserek állapotgépek de nincs linearizálás fault tolerancia 2f+1 RM, szavazás 34
Coordinator-cohort séma Aktív replikáció Koordinátor kérések fogadása, válasz visszaküldése (kohorsz értesítése) Kohorsz replikálás kétfázisú commit 35 Leader-follower séma Aktív replikáció Autonóm m"ködés (kérés feldolgozás), de a válaszokat a leader generálja Nem determinisztikus események fellépését a leader detektálja, döntésthoz, followereket informálja (konzisztens állapot megrzése) processz preemptálás, abszolút idzítés igénye 36
Replikáció átlátszósága Mobilis, dinamikus replikák csoport nézet továbbítása a klienseknek is csoport multicast csoport menedzsment, nézet kezelés 37