Ingegneria Dalmine “Impianti Informatici” Affidabilità - 1 Affidabilità M. Arrigoni Neri & P. Borghese
Ingegneria Dalmine “Impianti Informatici” Affidabilità - 2 indice affidabilità (reliability) – disponibilità (availability) definizione calcolo probabilità di guasto Misure componenti in serie e in parallelo affidabilità di un sistema metodi di calcolo - RBD
Ingegneria Dalmine “Impianti Informatici” Affidabilità - 3 indici principali: MTTF, MTBF, MTTR i guasti di un sistema avvengono in modo casuale la sua evoluzione temporale è soggetta a leggi probabilistiche MTTF : indice di reliability (affidabilità) MTTF (Mean-Time-To-Failures) : indice di reliability (affidabilità) a partire da un istante arbitrario tempo medio perché si verifichi un guasto a partire da un istante arbitrario il cui il sistema è dato come funzionante MTBF MTBF (Mean-Time-Between-Failures) tempo medio che intercorre tra due guasti si ipotizza che un prodotto attraversi ciclicamente guasti e riparazioni si suppone che questi cicli avvengano in modo casuale e mediamente stazionario (indipendente dal tempo) la riparazione ripristina il prodotto nello stato di funzionamento iniziale
Ingegneria Dalmine “Impianti Informatici” Affidabilità - 4 indici principali: MTTF, MTBF, MTTR (cont.) MTTR MTTR (Mean-Time-To-Repair) tempo medio occorrente per riparare un prodotto guasto rappresenta il tempo medio durante il quale il componente (o applicazione) non è disponibile comprende il tempo necessario per scoprire che c’è un guasto individuare il guasto rimuovere il componente difettoso (o sostituirlo con uno di scorta) effettuare la riparazione ripristinare il componente e il sistema ottenere un basso MTTR può essere molto costoso MTTF MTBFMTTR
Ingegneria Dalmine “Impianti Informatici” Affidabilità - 5 possibili cause per i guasti hardware Design failures Design failures : guasti causati da errori di progetto o costruzione. Nei sistemi ben fatti questa categoria di guasti dovrebbe contribuire in modo trascurabile al totale dei guasti Infant Mortality Infant Mortality : guasti che si presentano nei sistemi nuovi. Normalmente questa categoria di guasti non dovrebbe presentarsi nei sistemi in produzione ma emergere durante le fasi di test del prodotto Random Failures Random Failures: guasti casuali che si presentano durante l’intera vita di un sistema. Questa è la categoria di guasti che viene tipicamente considerata negli studi di affidabilità Wear Out Wear Out : quando un sistema ha raggiunto la fine della sua vita utile, la degradazione di alcune componenti aumenta la probabilità di guasto del sistema. La manutenzione preventiva può ritardare l’insorgere di questi guasti
Ingegneria Dalmine “Impianti Informatici” Affidabilità - 6 possibili cause per i guasti software guasti softwaredensità i guasti software sono caratterizzati dalla densità di difetti nel sistema. La densità dei difetti dipende dai seguenti fattori il processo utilizzato per sviluppare le applicazioni (l’utilizzo o meno di unit testing,...) complessità del software dimensione del software esperienza del team di sviluppo stabili percentuale di codice riutilizzato da altre applicazioni stabili rigore della metodologia di testing funzionale prima del rilascio in produzione la densità di difetti è misurata tipicamente come numero di difetti per migliaia di linee di codice (defects/KLOC)
Ingegneria Dalmine “Impianti Informatici” Affidabilità - 7 come stimare MTTR (software) il MTTR per un modulo software può essere definito come il tempo necessario per riavviare l’applicativo dopo che si è individuato il guasto (però…) molte “failure” software vengono eliminate riavviando l’applicazione o l’intero sistema questo modo di procedere ovviamente non elimina le cause del guasto problematiche di recovery
Ingegneria Dalmine “Impianti Informatici” Affidabilità - 8 availability (disponibilità) availability probabilità funzionante l’ availability di un sistema è la frazione di tempo in cui il sistema funziona correttamente, rappresenta la probabilità (media stazionaria) che in un qualsiasi istante il sistema sia funzionante nove una notazione tipica espressa in percentuale è quella dei nove una disponibilità a 3-nove corrisponde al 99.9% una disponibilità a 5-nove corrisponde al %
Ingegneria Dalmine “Impianti Informatici” Affidabilità - 9 costo della (non) disponibilità downtime due metodi usati per quantificare il costo di downtime: determinazione della produzione persa esempio: 50 sviluppatori (ciascuno dei quali costa € 100/h) si serve di un certo sistema perciò, in caso di guasto, si può stimare una perdita oraria di € 5000; determinazione del valore delle transazioni che non possono essere eseguite esempio: un sistema elabora 1000 transazioni/h; il valore di ciascuna di queste è di € 30, allora ogni ora di inattività costa € 30000; downtime naturalmente nel modificare il sistema per ridurre il suo downtime bisogna anche tenere presente il costo delle modifiche.
Ingegneria Dalmine “Impianti Informatici” Affidabilità - 10 reliability (affidabilità) e failure rate n 0 t = 0 consideriamo n 0 componenti indipendenti e statisticamente identici che vengano messi in esercizio al tempo t = 0 alle stesse condizioni ancora funzionanti al tempo t, n(t) sono gli elementi ancora funzionanti n(0) = n 0 t 1, t 2,... t n0 t 1, t 2,... t n0 sono i tempi di vita dell’elemento i mo (tempi intercorrenti tra l’istante 0 e l’istante in cui si verifica il guasto - tempi al guasto) tempi al guasto t i i tempi al guasto sono realizzazioni indipendenti della grandezza casuale τ (t i : tempo al guasto del generico elemento j mo ) E[τ]=(t 1,+ t 2, t n0 ) / n 0 τ E[τ]=(t 1,+ t 2, t n0 ) / n 0 è la media empirica di τ n 0 E[τ] MTTF per n 0 converge al valore E[τ] MTTF n(t) / n 0 n 0 la funzione n(t) / n 0 è la funzione empirica di affidabilità che per n 0 converge al valore: n(t) / n 0 R(t)
Ingegneria Dalmine “Impianti Informatici” Affidabilità - 11 reliability e failure rate (cont.) R(t) è detta Reliability (affidabilità) al tempo t rappresenta la probabilità che al tempo t un generico componente non sia guasto t1t1 t2t2 t3t3 t i+1 n(t)n(t) n0n0 n01n01 n02n02 t tempi al guasto numero di elementi funzionanti n0in0i
Ingegneria Dalmine “Impianti Informatici” Affidabilità - 12 reliability e failure rate (cont.) X: X: istante di guasto di un componente F(t); f(t): F(t); f(t): distribuzione cumulativa; densità di probabilità R(t): R(t): probabilità che il componente (funzionante al tempo 0) sia ancora funzionante al tempo t R(t) = P(X > t) = 1 - F(t) (t):failure rate (t) t = prob. di guasto in t (t): failure rate - probabilità che il componente si guasti (nell’unità di tempo) all’istante t cioè (t) t = prob. di guasto in t
Ingegneria Dalmine “Impianti Informatici” Affidabilità - 13 reliability e failure rate (cont.) 1 t dtdt R(t) F(t) f(t)dt = dF(t) = - dR(t) prob(t t) densità di probabilità F(t) è esponenziale se e solo se: = parametro (costante) della distribuzione
Ingegneria Dalmine “Impianti Informatici” Affidabilità - 14 reliability e failure rate (cont.) se (t) = = costante allora F(t) è la distribuzione esponenziale : f(t)dt è la probabilità di guasto in (t,t+dt) la media della distribuzione F(t) è il valore: MTTF (Mean Time To Failure) = 1/ MTTF (Mean Time To Failure) = 1/ Probabilità di guasto nell’unità di tempo
Ingegneria Dalmine “Impianti Informatici” Affidabilità - 15 primo guasto di N dispositivi identici i guasti sono indipendenti e hanno la stessa probabilità P(X t) di verificarsi Prob(almeno uno si guasti nel tempo t) = 1-Prob(nessuno si guasti entro t) = 1-Prob(non si guasti il 1 mo ) .... Prob(non si guasti l’ N mo ) 1-[P(X>t)] N = 1 - R(t) perciò se di N oggetti il primo si guasta in media dopo un tempo t N allora: MTTF = t N N Distribuzione esponenziale di media = MTTF / N
Ingegneria Dalmine “Impianti Informatici” Affidabilità - 16 esercizio 1: probabilità di un guasto calcolare la probabilità che un disco con MTTF = ore si guasti almeno una volta in tre anni: t = 3 365 24 = ore piccolo considerando il tempo di 3 anni piccolo rispetto a MTTF, la probabilità può essere approssimata da: 26280/ 26% se i dischi fossero 2, la probabilità che almeno uno si guasti vale invece: cioè 23% cioè 41%
Ingegneria Dalmine “Impianti Informatici” Affidabilità - 17 applicazione: misura effettiva della reliability numero elevato di dispositivi il calcolo pratico del valore MTTF può essere fatto misurando il tempo totale di funzionamento di un numero elevato di dispositivi con le stesse caratteristiche e dividendolo per il numero di guasti riscontrato nella popolazione: il tempo atteso al primo guasto di k dispositivi di identico MTTF vale: MTTF/k allora: in un certo periodo di tempo si verificano n guasti su N dispositivi inizialmente funzionanti sia t i durata dell’intervallo in cui sono in funzione j dispositivi
Ingegneria Dalmine “Impianti Informatici” Affidabilità - 18 applicazione: misura effettiva della reliability (cont.) N t N : contributo alla somma del periodo in cui funzionano N dispositivi (N-1) t N -1 : contributo alla somma del periodo in cui funzionano N-1 dispositivi ..... se dividiamo la somma ottenuta per n otteniamo la stima del valore MTTF: (N t N + (N-1) t N -1 + (N-2) t N (N-n+1) t N -n+1 ) / n (MTTF + MTTF MTTF) / n = (n MTTF) / n = MTTF
Ingegneria Dalmine “Impianti Informatici” Affidabilità - 19 affidabilità di un sistema (di più componenti) un sistema composto di elementi ridondanti può tollerare un certo numero di componenti guasti self-checking continuous operation continuous operation (elementi in stand-by) life time life time (durata di vita del sistema) si definisce come: t* il tempo t* tale che: R(t*) R(t*) = soglia prefissata esempio R(t*) = ½ t* = ln2 MTTF = 0.69 MTTF il confronto fra sistemi può essere fatto tenendo in considerazione i valori di life time. per aumentare l’affidabilità bisogna: usare componenti multipli ridondanti MTTF usare componenti di elevata affidabilità interna (grande MTTF) spare disporre di componenti spare che sostituiscano quelli guasti MTTR ridurre al minimo il MTTR ( disponibilità, però …)
Ingegneria Dalmine “Impianti Informatici” Affidabilità - 20 esercizio 2: numero di componenti spare necessari N un sistema è composto da N componenti identici (dischi) spare quando un componente si guasta viene immediatamente e automaticamente sostituto da uno spare (se disponibile) N MTTR MTTF quanti spare occorrono, noti N, MTTR e MTTF, perché siano sufficienti nel 95% dei casi? MTTR il numero medio di dischi che si guastano nel tempo MTTR è: (N / MTTF) MTTR (N / MTTF) MTTR; (questo perché vengono immediatamente sostituiti) 3 valore medio tale numero ha distribuzione con una coda (approssimativamente) esponenziale allora: il 95 percentile vale: 3 valore medio in una installazione di dischi, con un MTTF di ore e un tempo di riparazione di 2 giorni, per supportare il 95% dei guasti occorrono: 3 numero medio di guasti in 2 giorni 3 = (10000/100000) 2 24 3 15 dischi
Ingegneria Dalmine “Impianti Informatici” Affidabilità - 21 sistemi fault tolerant I/O controller Array controller hosthostRecoverygroup non esistono “single points of failure”
Ingegneria Dalmine “Impianti Informatici” Affidabilità - 22 sistemi fault tolerant (cont.) down supponiamo che ogni componente sia indipendente dagli altri (per quanto riguarda la possibilità di guasto) e che il sistema sia non operativo (down) se non può fornire un adeguato livello di servizio; RBDReliability Block Diagram lo stato di funzionamento dell’intero sistema dipende da quali e quanti componenti sono operativi - il suo comportamento può essere rappresentato da diagrammi di affidabilità RBD (Reliability Block Diagram) la chiave di lettura è: serie tutti le connessioni in serie fra componenti significano che tutti devono essere funzionanti parallelo solo uno le connessioni in parallelo che solo uno (o alcuni se diversamente specificato) deve essere operativo
Ingegneria Dalmine “Impianti Informatici” Affidabilità - 23 componenti in serie c1c2c3 dualità indipendenza definizione minimo distribuzione del minimo x i fra n: primo il guasto del sistema è determinato dal guasto del primo componente (n componenti in serie) S S: tempo di guasto del sistema
Ingegneria Dalmine “Impianti Informatici” Affidabilità - 24 componenti in parallelo indipendenti affidabilità di un sistema calcolata da quella dei componenti, considerati indipendenti (il guasto di un elemento non rende più o meno facile quello degli altri) indipendenza definizione c1 c2 c3 massimo x i distribuzione del massimo x i fra n: il sistema si guasta quando si guasta l’ultimo componente (n componenti in parallelo)
Ingegneria Dalmine “Impianti Informatici” Affidabilità - 25 k su n componenti in parallelo k su n il sistema si guasta se lo sono almeno k componenti degli n (caso di distribuzioni identiche) F S (t) = P(almeno k componenti si guastino) = P(k guasti OR k+1 guasti OR….OR n guasti) = P(k guasti) + P(k+1 guasti) +…+ P(n guasti) P(esattamente k guasti) = P(k guasti AND n-k funzionanti) incompatibilità
Ingegneria Dalmine “Impianti Informatici” Affidabilità - 26 affidabilità di un sistema (riassunto) condizioni di guasto tuttiparallelo tutti i componenti (parallelo) unserie un componente (serie) k su n k su n componenti (di identiche caratteristiche)
Ingegneria Dalmine “Impianti Informatici” Affidabilità - 27 affidabilità di un sistema - MTTF (n componenti in serie) MTTF1MTTF2MTTFn Nota: a questa formula si perviene anche osservando che i guasti sono indipendenti e casuali perciò se i è il tasso di guasto del componente i: totale = i totale = i se i componenti sono identici (hanno lo stesso MTTF) (media armonica)
Ingegneria Dalmine “Impianti Informatici” Affidabilità - 28 affidabilità di un sistema - MTTF (n componenti in parallelo) MTTF1 MTTF2 MTTFn consideriamo solo il caso di n componenti identici: il primo si guasta mediamente dopo un tempo t 1 = MTTF/n il secondo dopo un tempo (a partire dall’inizio) t 2 = t 1 + MTTF/(n-1) infatti: in (0,t 1 ) abbiamo n componenti in funzione, in (t 1,t 2 ) n -1 e così via in (t n -1, t n ) uno solo, allora: se t << MTTF R(t) 1 – t / MTTF
Ingegneria Dalmine “Impianti Informatici” Affidabilità - 29 Reliability Block Diagram non ridondanti componenti in serie = non ridondanti ridondanti componenti in parallelo = ridondanti serie Reliability di componenti in serie R = R i parallelo Reliability di componenti in parallelo R = 1 (1 R i ) R = R lb [1 (1 R web ) 3 ] web server web server web server load balancer l’argomento (t) non compare il calcolo è fatto per un valore fissato di t
Ingegneria Dalmine “Impianti Informatici” Affidabilità - 30 esercizio 3: calcolo della reliability R(t) R A (7) = 1-7/1000 = (parallelo) R B (7) = 1- (7/350) 3 = (parallelo) R A+B (7)(serie) R A+B (7) = R A (7) R B (7) = (serie) MTTF = 350 gg MTTR = 1gg MTTF = 350 gg MTTR = 1gg MTTF = 350 gg MTTR = 1gg MTTF = 1000 gg MTTR = 2 gg A B R(7): prob. che non si verifichi alcun guasto in 7 gg / MTTF
Ingegneria Dalmine “Impianti Informatici” Affidabilità - 31 esercizio 4: calcolo della availability stazionaria A MTTF = 800 gg MTTR = 1gg MTTF = 800 gg MTTR = 1gg MTTF = 1000 gg MTTR = 2 gg A B A = MTTF / (MTTF+MTTR) MTTF A = 1000 (parallelo) MTTF B = (1/2 + 1) 800 = 1200 (parallelo) (serie) MTTF A+B = 1/(1/MTTF A + 1/MTTF B ) = (serie) MTTR A+B = max(MTTR A, MTTR B ) = 2 A A+B A A+B = / ( ) = la riparazione di B avviene quando entrambi i componenti si guastano
Ingegneria Dalmine “Impianti Informatici” Affidabilità - 32 esercizio 4b: calcolo della availability stazionaria A A = MTTF / (MTTF+MTTR) MTTF A = 1000 la politica di riparazione è diversa: viene riparato (in un tempo di media MTTR) il componente di B che si guasta MTTF B = 1/ [prob(1mo guasto) prob(2do guasto nel tempo MTTR)] = (1/ (2/800 1/800)) = MTTF A+B = 1/(1/MTTF A + 1/MTTF B ) = MTTR A+B = max(MTTR A, MTTR B ) = 2 A A+B A A+B = / ( ) = il risultato non cambia di molto ma varia la frequenza di guasto nel tempo (1/MTTF A+B ) 0,0018 0,001
Ingegneria Dalmine “Impianti Informatici” Affidabilità - 33 esercizio 5: uso di RBD un sistema funziona correttamente come indicato dal diagramma se sono funzionanti 2 computer su 3 (è tollerato un solo guasto), una rete veloce su 2 e una rete locale su due le affidabilità sono rispettivamente: R C R H R L C C C H H L L 2/3 1/2
Ingegneria Dalmine “Impianti Informatici” Affidabilità - 34 esercizio 5: uso di RBD - variazione sul calcolo allo stesso risultato si giunge ponendo delle condizioni sulla operabilità di certi componenti chiave e operando per passi successivi: il primo C non è operativo devono esserlo entrambi gli altri il primo C è in funzione bisogna che almeno uno degli altri lo sia CC Parte restante 1-R C C C Parte restante RCRC in questo modo si possono studiare agevolmente anche casi in cui: R C1 R C2 R C3
Ingegneria Dalmine “Impianti Informatici” Affidabilità - 35 un esempio ideale più complesso il sistema funziona se esiste una connessione fra 1 e 2 per semplificare l’analisi supponiamo: B inattivo sistema equivalente B attivo: –C attivo sistema equivalente ¬ –C inattivo sistema equivalente ¬ ABCD E F 12
Ingegneria Dalmine “Impianti Informatici” Affidabilità - 36 esempio - (B non funziona) + (B funziona) R S = (1 - R B ) · R + R B · [R C · R + (1 - R C ) · R ] R = [1- (1-R A · R E ) (1-R F · R C )] · R D A C DE F 12 R ¬
Ingegneria Dalmine “Impianti Informatici” Affidabilità - 37 esempio - B funziona - C funziona R = [1 - (1 - R A ) · (1 - R F )] · R D B funziona - C non funziona R = [1 - (1 - R A ) · (1 - R F )] · R D · R E ACD E F 12 AD F 12 AD E F 12 ¬¬