Elosztott rendszerekNGM_IN005_1Megbí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! alatta 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
3
Permanent fault
Incorrect design
Unstable components
Unstable environment
Operator mistake
Permanent error
Intermittent error
Transient error
System failures
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ásel!írás
5
1
10-1
10-2
10-3
1 10 100 1000 Number of failures
Failure frequency
Not acceptable
Acceptable
Uncertainty band
Hibaráta
Hibák várt száma egységnyi id! alattHibaráta függvény
hibaráta az id! függvényében
6
Failure rate
TimeUseful life period Wear-out phaseInfant phase
Hiba elhárítás
Hiba-elfedésa rendszer képessége a hibák tolerálására
hibadetektáláshibalokalizáláshiba lehatárolásahelyreá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}
8
!
R(t) =No(t)
No(t) + N f (t)
R(t) = e"#t
MTTF = e"#tdt
0
$
% =1
#
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!
System start failure repaired failure
MTTF MTTR
MTBF
MTTF
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-redundanciahardver többszörözésszoftver többszörözés
Id!-redundanciatöbbszörös végrehajtás
Információ redundanciahibadetektáló kódoláshibajaví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ásHibadetektálásHibamaszkolás (statikus redundancia)Újra próbálkozásDiagnosztizálásRekonfigurá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 redundanciaTöbbségi szavazás (NMR)Hibajavító kódolás
Dinamikus redundanciaRekonfigurálható duplikálásAdaptív szavazásGraceful degradationJavítás (rollback-restart, retry)Naplózás (journaling)
16
Szoftver hibat"rés
Hibák megjelenésebemenetkörnyezetfelhaszná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ásakö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ásRendszerhibák definiálásaOk analízis
statisztikai adatokFTAETA
Megbízhatósági értékelés
19
Megbízhatósági modellek
Kombinatórikus modellek (bináris modellek)Soros rendszerek
Párhuzamos rendszerek
20
!
Rseries(t) = P(C
1w(t)"C
2w(t)" ..."C
Nw(t))
Rseries(t) = R
1(t)R
2(t)...R
N(t) = R
i(t)
1
N
#
!
Rparallel (t) =1"Qparallel (t) =1" Qi(t)1
N
# =1" (1" Ri(t))1
N
# = Ri(t)1
N
!
Megbízhatósági modellek (folyt.)
Markov modellekrendszer többféle állapotbanállapotok közötti átmenetek (állapot diagramok)
21
0 1
!
"
00 01
10 11
!
!
!+"
!+"
"
egy komponens
két komponens, közös meghibásodással
!
P1(t) = e
"#t
!
P1(t) =
µ
" + µ+
"
" + µe#("+µ )t
Megbízhatósági modellek (folyt.)
Markov modellek (folyt.)Markov folyamat
Tranzíciók
22
!
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
!
qij = limh"0
P(X(t + h) = j X(t) = i)
h,i # j
q jj = $ q jk
k= 0,k# j
n
%
Pij (t) = P(X(s+ t) = j X(s) = i)
P'(t) =QP(t)
Megbízhatósági modellek (folyt.)
Markov modell példa (TMR)
23
3 2 1
111
110
011
101
100
010
001 000
3 2 13! 2!
1-3!1-2!
1
!
RTMR(t) = 3e
"2#t" 2e
"3#t
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
24
!
RM "of "N (t) =N
i
#
$ % &
' ( R
N" i(t)(1" R(t))i
i= 0
N"M
)
Megbízhatósági modellek (folyt.)
Mennyire megbízható a TMR?
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
0.25
0.5
0.75
1
TMR
Single module
R
R1
Replikálás és megbízhatóság
Kritikus szoftverkomponensek, adatok többszörözéseReplika
fizikai másola - nem feltétlenül identikusakteljesítmény és hibat"rés javítása
proxyadat 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ásaid!zítési hiba
Hibadetektálásvalamilyen szinkronitás feltételezése (timerek)
27
Elosztott replikációs rendszerek
Rendelkezésre állás javításareplikák elérhet!k maradnak
Hibat"réshibamaszkolásvisszaállításkonzisztencia biztosítása
Teljesítmény növeléspá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
Rendszer modellaszinkron rendszerkliensek, front end, replika menedzserek (RM)kérések
read-only, updatefeldolgozá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ásválaszgenerálás
30
C
C
FE
FE
RMRM
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
csoport cím kiterjesztés
31
X
multicast
leave
join
fail
groupcomm.
Nézetszinkron csoportkommunikáció
rendszernézet (állapot) üzenetek továbbítása
sorrend tartás
megállapodás
integritás
validitás
a nézetek (view) konzisztens vágatok 32
p
q
r
p crashes
view(p,q,r) view(q,r)
X p
q
r
p crashes
view(p,q,r) view(q,r)
X
p
q
r
p crashes
view(p,q,r) view(q,r)
X p
q
r
p crashes
view(p,q,r) view(q,r)
X
Primary-backup
Passzív replikálás
kérések kiszlgálása - primary
linearizálás
állapot update a backup-okban
view synchronous group comm.
33
C
C
FE
FE
RMRM
RM
Primary
Backup
Backup
Aktív replikáció
Replika menedzserek állapotgépek
de nincs linearizálás
fault tolerancia
2f+1 RM, szavazás34
C
C
FE
FE
RM
RM
RM
Backup
Coordinator-cohort séma
Aktív replikációKoordinátor
kérések fogadása, válasz visszaküldése (kohorsz értesítése)
Kohorszreplikáláské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áljaNem 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