Le tecniche di ridondanza Fulvio Corno, Maurizio Rebaudengo, Matteo Sonza Reorda Politecnico di Torino Dipartimento di Automatica e Informatica Introduzione Introducendo ridondanza nel sistema se ne accrescono le capacità, e quindi la possibilità di rilevare e tollerare i guasti. La ridondanza può avere effetti (positivi o negativi) non solo sull affidabilità, ma anche sulle prestazioni, le dimensioni, il peso, il consumo del sistema. 2 F.Corno, M. Rebaudengo, M. Sonza Reorda 1
Le tecniche di ridondanza Le tecniche di ridondanza si dividono in: Ridondanza nell hardware Ridondanza nell informazione Ridondanza nel tempo Ridondanza nel software. 3 Ridondanza nell hardware È spesso la tecnica di ridondanza più semplice da applicare ed i costi decrescenti dell hardware la rendono molto attraente. Si distinguono tre tipi di ridondanza nell hardware: Ridondanza passiva Ridondanza attiva Ridondanza ibrida. 4 F.Corno, M. Rebaudengo, M. Sonza Reorda 2
Ridondanza passiva Sfrutta il meccanismo del mascheramento Non richiede nessun intervento da parte del sistema o di operatori esterni Normalmente non implica il rilevamento del guasto, né alcuna azione di riconfigurazione Si basa spesso sul principio del voto tra i risultati prodotti da moduli diversi, introdotti per ridondanza. 5 Triple Modular Redundancy (TMR) o Triplex Modulo 1 Modulo 2 Voter Modulo 3 6 F.Corno, M. Rebaudengo, M. Sonza Reorda 3
NMR L architettura TMR è in grado di tollerare qualunque guasto (singolo o multiplo, funzionale o tecnologico) che si verifichi in uno solo dei 3 moduli. Qualora sia necessario un maggiore livello di tolleranza si ricorre ad architetture con più elevata ridondanza. Ad esempio l architettura 5MR permette di tollerare che fino a 2 moduli siano guasti. 7 Implementazione del TMR L'architettura TMR può essere adottata a diversi livelli: A livello gate, triplicando ciascun flip flop per proteggere i bit di dato memorizzati A livello register, triplicando un registro A livello sistema, triplicando un processore A livello applicazione, triplicando un intero sistema. 8 F.Corno, M. Rebaudengo, M. Sonza Reorda 4
Implementazione del TMR L'architettura TMR può essere adottata a diversi livelli: A livello gate, triplicando ciascun flip flop per proteggere i bit di dato memorizzati A livello register, triplicando un registro A livello sistema, triplicando un processore Permette A di livello tollerare applicazione, guasti triplicando singoli un intero permanenti sistema. (stuck at) e temporanei (SEU) che coinvolgono il flip flop. 9 Permette di tollerare guasti singoli e Implementazione multipli di tipo permanente del TMR (stuck at) e temporaneo (SEU) che coinvolgono i flip L'architettura flop che TMR saranno può usati essere per adottata realizzare a il registro. diversi livelli: A livello gate, triplicando ciascun flip flop per proteggere i bit di dato memorizzati A livello register, triplicando un registro A livello sistema, triplicando un processore A livello applicazione, triplicando un intero sistema. 10 F.Corno, M. Rebaudengo, M. Sonza Reorda 5
Permette di tollerare guasti singoli e multipli di tipo permanente (stuck at) e Implementazione temporaneo (SEU) del che TMR coinvolgono il processore. L'architettura TMR può essere adottata a diversi livelli: A livello gate, triplicando ciascun flip flop per proteggere i bit di dato memorizzati A livello register, triplicando un registro A livello sistema, triplicando un processore A livello applicazione, triplicando un intero sistema. 11 Permette di tollerare: Guasti nell'hardware, in particolare singoli Implementazione permanenti (stuck at) del e temporanei TMR (SEU) che coinvolgono il sistema L'architettura Guasti nel TMR software, può se essere le tre adottata versioni del a diversi software livelli: sono diverse Eventuali errori di progetto nei processori, A livello gate, triplicando ciascun flip flop per se questi sono diversi. proteggere i bit di dato memorizzati A livello register, triplicando un registro A livello sistema, triplicando un processore A livello applicazione, triplicando un intero sistema. 12 F.Corno, M. Rebaudengo, M. Sonza Reorda 6
Realizzazione dei moduli L'architettura TMR diventa inefficace se lo stesso guasto si verifica in tutti moduli. Questo può succedere se il guasto è un guasto di modo comune. Esempio Ogni modulo corrisponde ad un processore; i 3 processori eseguono lo stesso codice: il TMR non protegge l'applicazione: contro i guasti nel codice contro guasti analoghi che si verificano contemporaneamente in almeno 2 processori, ad esempio a causa di interferenze elettromagnetiche. 13 Restoring organ Se il voter di un TMR si guasta, vi possono essere dei malfunzionamenti Una possibile soluzione consiste nel triplicare anche il voter (restoring organ). 14 F.Corno, M. Rebaudengo, M. Sonza Reorda 7
Esempio Proc 1 voter Mem 1 voter Proc 2 voter Mem 2 voter Proc 3 voter Mem 3 voter 15 Voter Software Il voter può essere realizzato in software attraverso un programma eseguito da un processore. 16 F.Corno, M. Rebaudengo, M. Sonza Reorda 8
Esempio Task A Task A Task A Task B voter Processore 1 Processore 2 Processore 3 17 Voter HW o SW La scelta tra un voter HW o SW dipende da disponibilità di un processore che esegua il codice di voting velocità richiesta vincoli di spazio, consumo, peso numero di voter che devono essere realizzati flessibilità futura eventualmente richiesta. 18 F.Corno, M. Rebaudengo, M. Sonza Reorda 9
Voting tra segnali diversi In taluni casi (ad esempio quando si lavora su sensori) i tre segnali su cui eseguire il voting possono essere diversi anche in assenza di guasti. In tal caso il voter implementa strategie più complesse quali la selezione del valore intermedio (mid-value select). 19 Selezione del valore intermedio Consiste nel selezionare ad ogni istante il valore intermedio tra i 3 (o gli N) campionati. 20 F.Corno, M. Rebaudengo, M. Sonza Reorda 10
Somma dei flussi In alcuni casi non è possibile eseguire un voting e si applica una tecnica alternativa (sempre basata sul mascheramento) nota come somma dei flussi (flux-summing). 21 Esempio La corrente in uscita dipende dalla somma delle correnti in ingresso. La velocità del motore dipende dalla corrente in ingresso. 22 F.Corno, M. Rebaudengo, M. Sonza Reorda 11
Funzionamento in caso di guasto Caso 1: un modulo smette di funzionare (non produce nessuna corrente): gli altri moduli aumentano la corrente prodotta sino a riportare il motore alla velocità voluta. Caso 2: un modulo produce una corrente diversa da quella prevista: gli altri moduli modificano la corrente prodotta in modo da compensare gli effetti del guasto, e riportare il motore alla velocità voluta. 23 Ridondanza attiva Si basa sulle seguenti fasi: Error detection Fault location Fault containment Fault recovery. Le ultime 3 fasi vengono anche indicate con il termine riconfigurazione. A differenza della ridondanza passiva, non fa uso del mascheramento, e quindi il sistema può essere temporaneamente soggetto ad errori, ed eventualmente anche a malfunzionamenti. 24 F.Corno, M. Rebaudengo, M. Sonza Reorda 12
Funzionamento Il sistema localizza il modulo guasto si riporta in uno stato corretto sostituisce il componente guasto riparte (eventualmente con capacità ridotte). 25 Caratteristiche La ridondanza attiva Non elimina la possibilità di brevi periodi di malfunzionamento. Comporta di solito un costo (in termini di hardware e consumo) inferiore a quello della ridondanza passiva. È di solito utilizzata in applicazioni a lunga durata o ad alta disponibilità. 26 F.Corno, M. Rebaudengo, M. Sonza Reorda 13
Architetture di ridondanza attiva Duplicazione e confronto (duplication with comparison) Attesa e sostituzione (standby replacement o standby sparing) Tecniche miste (ad esempio pair-and-aspare). 27 Duplicazione e confronto Rappresenta l architettura di ridondanza attiva più semplice. Si basa sulla duplicazione dell hardware e del software e sull aggiunta di un comparatore che confronta le uscite dei due moduli. Nel caso sia rilevata una differenza (e quindi un errore) parte una procedura per identificare il modulo guasto e disabilitarlo. Da quel momento il sistema funziona senza ridondanza, in attesa di un intervento di manutenzione. 28 F.Corno, M. Rebaudengo, M. Sonza Reorda 14
Problemi I guasti sulle linee di ingresso ai due moduli non vengono né rilevati né tollerati. I guasti nel comparatore possono: Impedire il rilevamento di guasti nei moduli Segnalare l occorrenza di guasti inesistenti. In taluni casi il confronto tra le uscite dei due moduli non è facilmente eseguibile. 29 Esempio Segnale di Errore A Segnale di Errore B Mem. Privata Proc A Risultati A CMP Proc A CMP Proc B Mem. Privata Proc B Risultati B Shared Memory Risultati B Risultati A 30 F.Corno, M. Rebaudengo, M. Sonza Reorda 15
Attesa e sostituzione Il sistema comprende uno o più moduli ridondanti (spare). Allorquando viene rilevato che un modulo è guasto, questo viene sostituito da uno dei moduli di riserva. Si distinguono due tecniche: Hot sparing Cold sparing. 31 Hot sparing I moduli di riserva sono attivi ed eseguono tutte le funzionalità eseguite dal modulo principale La sostituzione richiede una sospensione di durata minima nelle attività del sistema, in quanto i moduli di riserva sono già alimentati ed attivi. I moduli di riserva consumano. 32 F.Corno, M. Rebaudengo, M. Sonza Reorda 16
Cold sparing I moduli di riserva non sono alimentati, e vengono attivati solo nel momento in cui divengono necessari. La sospensione delle funzionalità del sistema durante la riconfigurazione è più lunga. I moduli di riserva non consumano. 33 Pair-and-a-spare Combina le due tecniche precedenti. Il sistema comprende: Due moduli che lavorano in parallelo e le cui uscite vengono continuamente confrontate Un modulo di riserva che prende il posto di quello guasto quando viene rilevato un errore. Il sistema Stratus adotta questo approccio. 34 F.Corno, M. Rebaudengo, M. Sonza Reorda 17
Ridondanza ibrida Combina ridondanza attiva e passiva. Adotta il mascheramento, ma i moduli guasti vengono rimpiazzati una volta rilevato il guasto. Non permette ai guasti di produrre malfunzionamenti, ma ha un costo hardware elevato. È adatta ai casi in cui si desidera la massima affidabilità. 35 NMR with spares 36 F.Corno, M. Rebaudengo, M. Sonza Reorda 18
Architettura triple-duplex 37 Triple-duplex L architettura TMR permette di evitare il verificarsi di qualunque malfunzionamento. L architettura con duplicazione e confronto permette di sostituire i moduli guasti, così che successivi errori possono ancora essere tollerati. 38 F.Corno, M. Rebaudengo, M. Sonza Reorda 19