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ó, jellemz!je é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 id!pontban átlagos helyes m"ködés id!tartama 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 Permanent error Incorrect design
Unstable components
Intermittent error
Unstable environment
Transient error
System failures
Operator mistake
3
Kockázatok Nem kívánatos események bekövetkezésének veszélye el!fordulá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) =
N o (t) több komponens" rendszerre N o (t) + N f (t)
használati tartományban (! hiba ráta)
R(t) = e" #t $
MTTF =
%e
" #t
dt =
0
1 #
els! hiba fellépésének ideje
MTBF = MTTF + MTTR
hiba-fellépések közötti id! MTBF
MTTF
MTTR
MTTF
! System start
failure
repaired
failure
8
Hiba típusok Kihagyás Id!zítési hiba Válaszhiba Összeomlás
9
Megbízhatósági technikák Redundancia Hibamegel!zé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
Hibamegel!zés Környezet szabályozása Min!sé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 Önellen!zé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 Rseries (t) = P(C1w (t) " C2w (t) " ..." CNw (t)) N
Rseries (t) = R1 (t)R2 (t)...RN (t) = # Ri (t) 1
Párhuzamos rendszerek ! N
N
N
1
1
1
R parallel (t) = 1" Qparallel (t) = 1" # Qi (t) = 1" # (1" Ri (t)) = ! Ri (t) 20
!
Megbízhatósági modellek (folyt.) Markov modellek rendszer többféle állapotban állapotok közötti átmenetek (állapot diagramok) !
P1 (t) = e" #t
0
egy komponens
1
P1 (t) =
"
00
!+"
10
! 01
"
!+"
!
µ " #( " + µ )t + e "+µ "+µ
! két komponens, közös meghibásodással
!
11
21
Megbízhatósági modellek (folyt.) Markov modellek (folyt.) Markov folyamat Pi (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 P(X(t + h) = j X(t) = i) ,i # j h "0 h
qij = lim
!
n
q jj = $
%q
jk
k= 0,k# j
Pij (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-2!
1-3!
110
100
3
111
3
101
001
011
010
2
3!
2
1 2!
1
000
RTMR (t) = 3e"2 #t " 2e"3 #t
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 N "M
RM "of "N (t) =
# N & N "i i ( R (t)(1" R(t)) '
) %$i i= 0
24
!
Megbízhatósági modellek (folyt.) Mennyire megbízható a TMR? R
1
TMR
0.75
Single module 0.5
0.96
0.88
0.8
0.72
0.64
0.56
0.48
0.4
0.32
0.24
0.16
0.08
0
0.25
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-qn (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 id!zí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érhet!k 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
FE
RM
RM
Rendszer modell 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 C
FE
RM
30
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
leave
group comm. multicast
értesítési szolgáltatások
fail X
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
p crashes
X
p
q
q
r
r view(p,q,r)
X
view(q,r)
view(p,q,r)
p crashes
p crashes p
p
X
q
q
r
r view(p,q,r)
view(q,r)
view(q,r)
X
view(p,q,r)
view(q,r)
a nézetek (view) konzisztens vágatok 32
Primary-backup Primary C
Passzív replikálás
FE
C
Backup
RM
RM
RM
FE Backup
kérések kiszlgálása - primary linearizálás állapot update a backup-okban view synchronous group comm. 33
Aktív replikáció C
FE
RM RM
C
RM
FE Backup
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 meg!rzése) processz preemptálás, abszolút id!zí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