Affidabilità.

Slides:



Advertisements
Presentazioni simili
Linguaggio C e C++.
Advertisements

Teoria dei codici correttori d'errore
MATLAB. Scopo della lezione Programmare in Matlab Funzioni Cicli Operatori relazionali Esercizi vari.
Circuiti sequenziali Capitolo 5.
Time Sharing Il termine “Time Sharing” proviene dall'inglese e significa letteralmente “partizione di tempo”. Questa è una tecnica sviluppatasi negli.
Informatica Industriale Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.
Memorie.
Sistemi e Tecnologie della Comunicazione
1 14. Verifica e Validazione Come assicurarsi che il software corrisponda alle necessità dellutente? Introdurremo i concetti di verifica e validazione.
2. INGEGNERIA DI SISTEMA Il software è inutile a meno che non sia combinato con componenti hardware per formare un “sistema” Introdurremo il concetto di.
Architetture dei Calcolatori (Lettere j-z) Il Processore (2)
Introduzione ai circuiti sequenziali
Esercizio 1 Il collegamento fra due punti, A e B, è effettuato con il protocollo Go Back N con piggybacking in modalità full-duplex. I pacchetti trasmessi.
Politecnico di Milano Algoritmi e Architetture per la Protezione dellInformazione Multichannel Adaptive Information Systems Paolo Maistri Dipartimento.
Tipo Documento: unità didattica 0 Modulo 0 Compilatore: ??? Supervisore: Data emissione: Release: Indice: A.Scheda informativa B.Introduzione C.Corpo D.Riepilogo.
Sintesi con circuiti LSI-MSI
ANALOGICO-DIGITALI (ADC) DIGITALE-ANALOGICI (DAC)
ANALOGICO-DIGITALI (ADC) DIGITALE-ANALOGICI (DAC)
Affidabilita’ e metodologie di qualifica dei sistemi elettronici
Gestione dei dischi RAID
Disco magnetico (2) Ciascuna traccia è divisa in settori
CODICI Si ringrazia il prof. Di Santo per aver gentilmente messo a disposizione il proprio materiale per la preparazione di alcune delle slides presenti.
Teoria dei codici correttori d'errore
L. Servoli - Corso Fisica dei Dispositivi Elettronici 1 Uno scheduler deve avere implementate almeno le seguenti funzionalità: 1) Inizializzatore: preparazione.
Sintesi con circuiti LSI-MSI. Realizzazione di reti combinatorie mediante Multiplexers Un multiplexer (MPX ) é una rete combinatoria con N ingressi, una.
3. Architettura Vengono descritte le principali componenti hardware di un calcolatore.
Università di Trieste Calcolatori Elettronici a.a Omero TuzziL01, Basi 1 Sommario: 1. Concetto di bit. 2. Indirizzi di memoria. 3. Ordinamento.
Strutture dei sistemi di calcolo Funzionamento di un sistema di calcolo Struttura di I/O Struttura della memoria Gerarchia delle memorie Architetture di.
Sistema di comunicazione
Intelligenza Artificiale Algoritmi Genetici
Limiti al trasferimento di informazione u Il tempo necessario per trasmettere dellinformazione dipende da: –la velocita di segnalazione (cioe quanto velocemente.
Reti di Calcolatori L-S Un Sistema Decentrato di Allocazione del Carico per Applicazioni di Calcolo Distribuito Mauro Bampo.
Proposte di tesina Mario Toma.
INTRODUZIONE l sistema operativo è il primo software che lutente utilizza quando accende il computer; 1)Viene caricato nella memoria RAM con loperazione.
Manutenzione degli assets produttivi
Esercizio 10.* Un cassiere vuole dare un resto di n centesimi di euro usando il minimo numero di monete. a) Descrivere un algoritmo goloso per fare ciò.
Reti di CalcolatoriAndrea Frosini1 Reti di Calcolatori a.a. 2005/06 Lezione 7.
Architettura del calcolatore
Introduzione al linguaggio assembly del microprocessore a parte
Errori casuali Si dicono casuali tutti quegli errori che possono avvenire, con la stessa probabilità, sia in difetto che in eccesso. Data questa caratteristica,
Unità centrale di processo
Guasti dei circuiti VLSI. Alcune cause di guasto Elettromigrazione Self-Heating Portatori caldi Rottura degli ossidi Latch-up Total Ionizing Dose Single.
Tecniche di progettazione Fault Tolerant
Implementazione di dizionari Problema del dizionario dinamico Scegliere una struttura dati in cui memorizzare dei record con un campo key e alcuni altri.
WATCHDOG TIMER E’ un oscillatore interno al  C, ma indipendente dal resto dei circuiti, il cui scopo è quello di rilevare eventuali blocchi della CPU.
1 Gestione della Memoria. 2 Idealmente la memoria dovrebbe essere –grande –veloce –non volatile Gerarchia di memorie –Disco: capiente, lento, non volatile.

Informatica Lezione 5 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico:
Calcolatori Elettronici Il Processore (2)
Fondamenti di Informatica II Ingegneria Informatica (A-I) Prof. M.T. PAZIENZA a.a – 3° ciclo.
Corsi di Laurea in Biotecnologie
ADC – SCHEMA GENERALE I convertitori AD sono disponibili come circuiti integrati in diversi modelli, che differiscono fra loro per prezzo, prestazioni.
Tipo Documento: unità didattica 3 Modulo 7 Compilatore: Supervisore: Data emissione: Release: Indice: A.Scheda informativa B.Introduzione C.Corpo D.Riepilogo.
Calcolatori Elettronici Valutazione delle Prestazioni Francesco Lo Presti Rielaborate da Salvatore Tucci.
Clocking Il segnale di Clock definisce quando i segnali possono essere letti e quando possono essere scritti Fronte di discesa (negativo) Falling edge.
MCSA Mobile Code System Architecture Infrastruttura a supporto della code mobility Pierfrancesco Felicioni Reti di Calcolatori L.S. 2005/2006.
Fondamenti di Informatica1 Memorizzazione su calcolatore L'unità atomica è il bit (BInary DigiT) L'insieme di 8 bit è detta byte Altre forme di memorizzazione:
DAC A RESISTORI PESATI.
L’esecuzione dei programmi
1 Informatica Generale Susanna Pelagatti Ricevimento: Mercoledì ore presso Dipartimento di Informatica, Via Buonarroti,
Bit singolo e burst u un canale che trasmette voce tollera bene gli errori distribuiti uniformemente –perche’ errori singoli hanno effetti simili al rumore.
1 1. Introduzione alla gestione della memoria 2. Swapping 3. Memoria virtuale 4. Implementazione 5. Algoritmi di sostituzione Gestione della Memoria.
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
Tipo Documento: unità didattica 3 Modulo 7 Compilatore: Supervisore: Data emissione: Release: Indice: A.Scheda informativa B.Introduzione C.Corpo D.Riepilogo.
Il Processore Il processore è la componente dell’unità centrale che elabora le informazioni contenute nella memoria principale L’elaborazione avviene eseguedo.
Politecnico di Milano © 2001 William Fornaciari La tolleranza ai guasti Concetti generali Docente: William Fornaciari Politecnico di Milano
Il modello di Von Neumann
Gestione delle periferiche. Le periferiche sono dispositivi che permettono le operazioni di input/output.
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
Transcript della presentazione:

Affidabilità

Introduzione I circuiti e sistemi elettronici sono inevitabilemnte affetti dalla presenza di guasti non solo in produzione ma anche durante la loro vita utile L’affidabilità (reliability) di un circuito e sistema elettronico rappresenta la sua capacità di operare correttamente durante un periodo di tempo. Lo scopo della progettazione finalizzata alla tolleranza ai guasti (fault tolerant design) è quello di applicare metodologie che migliorino l’affidabilità a livello di sistema

Tipi di guasto Durante il funzionamento i guasti possono essere di due tipi: Guasti permanenti: dovuti ad esmpio alla manifestazione di difetti presenti in fase di produzione o anche dovute a invecchiamento (esempio elettromigrazione) o radiazioni che corrompono il reticolo cristallino o altri fenomeni ad effetto permanente Guasti transitori: ad esempio SEU (single event upset nelle memorie) dovuti alla iniezione di cariche nel substrato che possono causare l’inversione del valore memorizzato su elementi di memorie. Effetti temporanei possono anche causare metastabilità. I guasti transitori possono essere riparati se rilevati

Failure Rate – frequenza di guasto (t) = Failure rate a livello di componente Si misura in FITS (Failures In Time – guasti per 109 ore)

Failure Rate a livello di sistema Un sistema è costruito con componenti Se non c’è tolleranza ai guasti (Fault Tolerance): Se un qualunque componente si guasta allora tutto il sistema è guasto

Affidabilità - Reliability Se un componente funziona a tempo 0 R(t) = è la probabilità che funzioni ancora a tempo t Legge di guasto esponenziale Se si assume che il failure rate è costante E’ una buona approssimazione dopo la fase di mortalità infantile 3483850361

Affidabilità per un sistema serie Tutti i componenti devono funzionare affinchè il sistema funzioni

Affidabilità per un sistema parallelo Tutti i componenti devono essere guasti affinchè il sistema non funzioni B C A D

Affidabilità di un sistema con ridondanza Affidabilità di un sistema con il componente B in parallelo Può tollerare un guasto su B

Mean-Time-to-Failure (MTTF) Tempo medio prima che il sistema si guasti Uguale all’area sotto la curva di affidabilità Nel caso di legge di guasto esponenziale

Schemi per la tolleranza ai guasti Aggiungere tolleranza ai guasti a un progetto Migliora l’affidabilità del sistema Richiede ridondanza Hardware Tempo Informazione

Ridondanza Hardware Implica la replica delle unità hardware Ad ogni livello del progetto A livello di porta logica, modulo, chip, piastra Tre tipologie Statica (anche detta passiva) Il guasto viene mascherato piuttosto che rilevato Dinamica (anche detta attiva) Il guasto viene rilevato e si riconfigura verso un hardware di riserva Ibrida Combina gli approcci attivo e passivo

Ridondanza statica I guasti vengono mascherati in modo tale che non ci siano output errati Fornisce un funzionamento ininterrotto Importante nel caso di sistemi real-time Non c’è tempo per riconfigurare o riprovare l’operazione Semplice e autosufficiente Non c’è bisogno di tenere traccia dello stato del sistema per rollback

Triple Module Redundancy (TMR) Ben noto schema di ridondanza statica Tre copie di un modulo Si usa un majority voter per determinare l’uscita finale Un errore in un modulo viene escluso per minoranza dagli altri due

Affidabilità e MTTF del TMR Il TMR funziona se almeno 2 moduli qualunque funzionano Rm = affidabilità di ogni modulo Rv = affidabilità del voter MTTF per il TMR

Comparazione con il Simplex Ignorando il fault rate del voter poichè è progettato per essere molto minore dei moduli si può riscrivere il MTTF Pertanto il TMR ha un MTTF più basso del simplex ma Può tollerare guasti temporanei Ha un’affidabilità più alta per missioni brevi

Comparazione con il Simplex Punto di intersezione RTMR > Rsimplex quando La durata della missione è minore del 70% del MTTF del simplex

Comparazione TMR Simplex

N-Modular Redundancy (NMR) N moduli più il majority voter Il TMR è un caso speciale del NMR E’ in grado di mascherare fino a (N-1)/2 moduli guasti Al crescere di N, il MTTF diminuisce Ma l’affidabilità per le missioni brevi aumenta Se l’obiettivo è solo quello di tollerare i guasti temporanei è sufficiente usare il TMR

Ridondanza Dinamica Implica Rilevazione del guasto Localizzazione dell’unità guasta Riconfigurazione del sistema per usare l’unità di riserva non guasta

Riserve non alimentate (fredde) Una riserva fredda raddoppia il MTTF Assumendo che i guasti vengano sempre rilevati e che il circuito di riconfigurazione non si guasti mai Svantaggio della riserva fredda Tempo richiesto per accendere e inizializzare Non può essere usato per rilevare i guasti La rilevazione dei guasti richiede uno dei seguenti approcci test offline fatto periodicamente online testing usando ridondanza di tempo o di informazione

Riserve alimentate (Calde) Si possono usare le riserve per condurre la rilevazione dei guasti online Un approccio è quello di duplicare e comparare Se c’è una discordanza sugli output allora si è avuto un guasto Si fa partire una procedura diagnostica per capire quale modulo sia guasto e lo si rimpiazza con una riserva Si può usare un numero qualunque di riserve

Ridondanza ibrida Combina sia la ridondanza statica e quella dinamica Maschera i guasti come la ridondanza statica Rileva e riconfigura come la ridondanza dinamica

TMR con riserve Se un modulo del TMR si guasta Rimpiazzato da una riserva Può essere sia una riserva calda o fredda Fintanto che il sistema ha tre moduli funzionanti Il TMR fornirà fault masking per mantenere un’operatività ininterrotta

Ridondanza Self-Purging Usa un voter a soglia invece di un voter a maggioranza Threshold voter mette in uscita 1 se il numero di ungressi uguali ad 1 è maggiore della soglia Altrimenti mette in uscita 0 Richiede riserve calde

Ridondanza temporale Vantaggio Svantaggio Se si rileva un errore Meno hardware Svantaggio Potrebbe non rilevare guasti permanenti Se si rileva un errore Il sistema deve ritornare a uno stato precedente che si sa essere buono prima di ripartire con le operazioni

Esecuzione Ripetuta L’operazione viene ripetuta due volte E’ il metodo di ridondanza temporale più semplice Rileva guasti temporanei che avvengono durante un’esecuzione (ma non in entrambe) Causa una differenza tra i risultati Può riutilizzare lo stesso hardware per entrambe le esecuzioni Serve solo una copia dell’hardware funzionale

Esecuzione Ripetuta Richiede un meccanismo per memorizzare e comparare i risultati di entrambe le esecuzioni In un processore, si può memorizzare sulla memoria o su un disco e usare un software per fare la comparazione Costo principale Tempo addizionale per l’esecuzione ridondante e la comparazione Problema con i guasti permanenti

Ricomputazione in diversità Si usa lo stesso hardware, ma si fa la computazione in modo diverso la seconda volta Può rilevare i guasti permanenti che influenzano solo una computazione Per operazioni logiche o aritmetiche Si fa lo shift degli operandi quando si fa la seconda computazione [Patel 1982]

Ridondanza di Informazione Basata su codici per la rilevazione e correzione d’errore Vantaggi Rileva sia guasti temporanei che permanenti L’hardware in eccesso necessario è minore di quando si usano più copie di un solo modulo Svantaggio Progettazione più complessa

Rilevazione d’errore Codici a rilevazione d’errore usati per rilevare gli errori Se un errore viene rilevato Si ritorna a uno stato precedente non guasto (rollback) Si riprova l’operazione

Rollback Richiede di aggiungere capacità di memorizzazione per salvare lo stato precedente L’entità del rollback dipende dalla latenza del meccanismo di rilevazione Rilevazione d’errore senza latenza Il rollback è implementato impedendo al sistema di aggiornare il suo stato Se gli errori vengono rilevati dopo n cicli Bisogna avere un sistema di rollback in grado di restaurare lo stato del sistema a quello di almeno n cicli di clock precedenti

Checkpoint L’esecuzione viene suddivisa in sottoinsiemi di operazioni Prima che ciascuna operazione venga eseguita Viene creato un checkpoint dove viene memorizzato lo stato del sistema Se viene rilevato un errore durante l’operazione Si ritorna (rollback) all’ultimo checkpoint e si riprova l’operazione Se si rileva un errore in molteplici repliche dell’operazione L’operazione si ferma e il sistema segnala che è avvenuto un guasto permanente

Teoria dei Codici Codici Codici a rilevazione d’errore Si usano più bit del necessario per rappresentare i dati E’ un modo per rilevare gli errori Gli errori avvengono quando i bit di informazione vengono invertiti per qualche motivo Codici a rilevazione d’errore Ne esistono molti tipi Possono rilevare diverse classi di errori Usano diversi livelli di ridondanza Presentano diversi livelli di difficoltà per la codfica e la decodifica dei dati

Rilevazione d’errore Si codificano le uscite del circuito con un codice a rilevazione d’errore Se l’uscita non è una parola di codice c’è un errore

Duplicazione e confronto Un checker di uguaglianza rileva l’errore Un guasto potrebbe non essere rilevato solo se un guasto di modo comune colpisse entrambe le copie Vengono rilevati solo i guasti dopo lo stem Più del 100% di overhead (includendo il checker)

Codice di parità a bit singolo M f(N) P(M) p P(f(N)) comparator p’ M= f(N) Il circuito di predizione della parità crea una stima della parità P(f(N)) Il circuito di predizione ha un overhead hardware variabile che può essere in media il 33% rispetto al circuito che implementa la f(N)

Codice di parità a bit singolo Non si può rilevare un numero pari di errori sui bit Si può evitare un numero pari di errori sui bit generando ogni output con un cono di logica indipendente Si è nella assunzione di avere un singolo guasto per cui si evita che un guasto si propaghi su due output Tipicamente implica un grosso overhead

Distanza di un codice Distanza tra due parole di codice: Numero di bit in cui le due parole differiscono Distanza di un codice Minima distanza due parole di codice nel codice Se n=k (nessuna ridondanza), la distanza è = 1 Parità a bit singolo distanza = 2 Codice con distanza d Rileva d-1 errori Corregge fino a (d-1)/2 errori

Codici a correzione d’errore Codice con distanza 3 Chiamato anche single error correcting (SEC) code (codice a correzione di errore singolo) Codice con distanza 4 Chiamato anche single error correcting and double error detecting (SEC-DED) code (codice a correzione di errore singolo e rilevazione di errore doppio) Procedura per costruire un codice SEC Descritto in [Hamming 1950] Ogni matrice H con tutte le colonne distinte e nessuna colonna con tutti 0 è SEC

Memory Scrubbing Ogni locazione di memoria viene letta su base regolare Riduce la probabilità che si accumulino più errori nel tempo Si può implementare facendo in modo che il controllore della memoria faccia questa attività durante I periodi di idle