informatica industriale monica bianchini dipartimento di ingegneria dellinformazione università...

21
Informatica Industriale Informatica Industriale Monica Bianchini Monica Bianchini Dipartimento di Ingegneria Dipartimento di Ingegneria dell’Informazione dell’Informazione Università degli Studi di Siena Università degli Studi di Siena

Upload: leandro-cipriani

Post on 01-May-2015

218 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Informatica Industriale Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena

Informatica IndustrialeInformatica Industriale

Monica BianchiniMonica Bianchini

Dipartimento di Ingegneria Dipartimento di Ingegneria dell’Informazionedell’Informazione

Università degli Studi di SienaUniversità degli Studi di Siena

Page 2: Informatica Industriale Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena

Scopi del corsoScopi del corso Il corso di Informatica Industriale si rivolge al

trattamento delle situazioni di guasto di un sistema computerizzato.

Le situazioni di guasto possono essere sperimentate nella pratica quotidiana di utilizzo di un PC, ma in generale producono danni molto limitati.

I computer stanno progressivamente soppiantando l'uomo in molte funzioni, alcune delle quali rivestono enorme importanza economica o sono fondamentali per la sicurezza fisica delle persone.

In questi casi, i danni provocati da una situazione di guasto possono essere notevoli, sia in termini economici che di vite umane Importanza di un corretto approccio al trattamento ed alla prevenzione di situazioni di guasto.

Page 3: Informatica Industriale Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena

Errore in un procedimento di Errore in un procedimento di calcolocalcolo Tecniche di rilevamento dell’errore —

error detectionerror detection

Tecniche di correzione dell'errore — error correctionerror correction

Il fattore temporale

Page 4: Informatica Industriale Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena

Tecniche di rilevamento dell’errore – Tecniche di rilevamento dell’errore – 11

Verifica con rifacimento dell'operazioneVerifica con rifacimento dell'operazione L'operazione viene eseguita due volte; se i risultati concordano, si conclude che non si è verificato nessun errore, altrimenti si deduce che una delle due esecuzioni è errata.– VantaggiVantaggi: Si rilevano tutti gli errori (singoli);– SvantaggiSvantaggi: Duplicazione del costo

computazionale.

Metodi per il rilevamento degli errori nei procedimenti di calcolo aritmetici:

Page 5: Informatica Industriale Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena

Tecniche di rilevamento dell’errore Tecniche di rilevamento dell’errore – 2– 2

Data una funzione f (x1,...,xn ), si esegue la verifica f (x1,...,xn ) = f (x1,...,xn ), ovvia tautologia, il cui fallimento rileva il malfunzionamento di un’applicazione (o di entrambe le applicazioni! ) della funzione f. Chiameremo questo meccanismo duplicazione e confrontoduplicazione e confronto.

Il meccanismo di duplicazione e confrontoduplicazione e confronto rappresenta un esempio di ridondanzaridondanza (nelle risorse di calcolo, in termini fisici o temporali) ai fini del rilevamento dell'errore.

L'errore non può essere rilevato quando entrambe le applicazioni della funzione f falliscono producendo lo stesso valore errato: fallimento di fallimento di modo comunemodo comune — common mode failurecommon mode failure . D'altra parte la natura della funzione f e della procedura di calcolo potrebbero far ritenere il fallimento di modo comune molto raro.

Page 6: Informatica Industriale Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena

Tecniche di rilevamento dell’errore Tecniche di rilevamento dell’errore – 3– 3

Prova del noveProva del nove Dati x1, x2, x1 + x2, si verifica che (x1

mod 9 + x2 mod 9) mod 9 = (x1 + x2) mod 9.

– VantaggiVantaggi: Veloce, semplice; in particolare, in base 10, l'operazione di modulo 9 si esegue molto facilmente;

– SvantaggiSvantaggi: Non tutti gli errori possono essere rilevati.

– ESERCIZIO: data una rappresentazione posizionale in base B, si dimostri che l'operazione x mod (B-1) si esegue sommando tra loro, modulo B-1, tutte le cifre della rappresentazione di x.

Page 7: Informatica Industriale Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena

EsempioEsempio

35 + 24 = 59

8

5

6

5

35 + 24 = 50

8

5

6

5

35 + 24 = 58

8

5

6

4

OK ?! ?

NO

OK

Page 8: Informatica Industriale Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena

Tecniche di rilevamento dell’errore Tecniche di rilevamento dell’errore – 4– 4

Data una funzione f (x1,...,xn), viene utilizzata una funzione omomorfa f’, definita su un dominio D’ omomorfo a D su cui è definita la f Esiste una corrispondenza R che associa ad ogni elemento di D’ un elemento di D, in modo tale che f’ (R (x1 ),...,R

(xn )) = R (f (x1,...,xn )). È la verifica di questa uguaglianza che si effettua

per rilevare l'errore, contando sull fatto che l'esecuzione di f’ è più semplice e meno costosa dell'esecuzione di f.

In caso di mancata uguaglianza dei risultati si è verificato un errore nell'applicazione di f, o di f’, o di R.

Page 9: Informatica Industriale Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena

Tecniche di rilevamento dell’errore Tecniche di rilevamento dell’errore – 5– 5 Viceversa, non si può garantire che non ci siano

errori perché l'applicazione di f potrebbe ritornare un valore y’ y=f (x1,...,xn ), ma tale che R (y’) = R

(y) Esistono situazioni di errore non coperte dal meccanismo di rilevamento.

Conoscendo la natura della funzione e della corrispondenza R è possibile valutare la probabilità con cui questo accade e stabilire quando è trascurabile.

Il caso di duplicazione e confrontoduplicazione e confronto è un caso particolare, in cui f’ = f, e R è l'identità.

Page 10: Informatica Industriale Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena

Tecniche di rilevamento dell’errore Tecniche di rilevamento dell’errore – 6– 6

Formulazione generale del meccanismo di rilevamento dell'errore:

– Data una funzione Data una funzione f f (x(x11,...,x,...,xnn ), si costruisca un ), si costruisca un predicato predicato PP che, dati x che, dati x11,...,x,...,xnn e un valore y, ritorni e un valore y, ritorni verovero se y è il risultato se y è il risultato del calcolo della del calcolo della funzione funzione f f (x(x11,...,x,...,xn n ), e altrimenti ritorni ), e altrimenti ritorni verovero (casi di errore non rilevati) oppure (casi di errore non rilevati) oppure falsofalso (casi di (casi di errore rilevati).errore rilevati).

Per essere un meccanismo soddisfacente di rilevamento dell'errore, il predicato P dovrà produrre un insieme minimo di situazioni di errore non rilevate, e dovrà essere valutabile con un costo minimo (in tempo e/o risorse di calcolo).

Page 11: Informatica Industriale Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena

Tecniche di rilevamento dell’errore Tecniche di rilevamento dell’errore – 7– 7 Finora sono stati considerati errori nel dominio dei dominio dei

valorivalori, ma spesso devono essere rilevati anche errori nel dominio del tempodominio del tempo.

Riassumendo...– Esiste un insieme di possibili malfunzionamenti o

manifestazioni di guasto (failure modesfailure modes ); – Si possono fare assunzioni sui tipi di guasto (fault fault

assumptionsassumptions) per non considerare situazioni impossibili o estremamente improbabili;

– Ad un meccanismo di rilevamento dell'errore può essere associato un attributo di copertura rispetto ad un insieme di guasti — che può essere qualitativo qualitativo, o binariobinario, o formulato in termini percentuali percentuali o probabilisticiprobabilistici (“copre il 90% dei guasti di un dato insiemecopre il 90% dei guasti di un dato insieme”, “coprecopre un un insieme di guasti con una probabilità pari a 0.99insieme di guasti con una probabilità pari a 0.99”).

Page 12: Informatica Industriale Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena

Tecniche di rilevamento dell’errore Tecniche di rilevamento dell’errore – 8– 8

Se si considerano i meccanismi di base per il rilevamento dell'errore, si può notare l'importanza che assume, per i numeri binari, l'operatore XORXOR.

Un “comparatore comparatore ” che segnali un errore con un valore pari a 1 quando vi sia discordanza tra due bit, è un XORXOR.

Un comparatore fra numeri binari è una batteria di XOR le cui uscite vengono messe in OROR tra loro.

L'operazione corrispondente alla prova del 9, non è possibile in base 2, perché non ha senso parlare di un sistema di numerazione modulo 1.

Page 13: Informatica Industriale Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena

Tecniche di rilevamento dell’errore Tecniche di rilevamento dell’errore – 9– 9

Per l'aritmetica binaria, si definisce un meccanismo in base 4, analogo alla prova del 9, ottenuto raggruppando i bit a coppie, e lavorando nel sistema di numerazione modulo 3.

Nel caso dell'aritmetica binaria, può essere effettuato un controllo di paritàcontrollo di parità, cioè una somma dei bit modulo 2: se il numero dei bit posti ad 1 è dispari, la somma vale 1, 0 altrimenti.

Se un bit venisse mutato, anche la somma dei bit modulo 2 cambierebbe valore Il confronto fra la parità effettiva e quella attesa permette di rilevare errori nella trasmissione o nella memorizzazione di dati.

Page 14: Informatica Industriale Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena

Tecniche di rilevamento dell’errore Tecniche di rilevamento dell’errore – 10– 10 Il calcolo della somma dei bit modulo 2 si ottiene con una

concatenazione ad albero binario di XORXOR; l'ulteriore confronto è anch'esso ottenibile con un XORXOR.

Non deve stupire l'importanza dell'operatore XORXOR, come pure quella dei sistemi di numerazione in modulo, nel trattamento degli errori.

I gruppi ciclicigruppi ciclici sono insiemi finiti muniti dell'operazione di somma in cui, a partire da un elemento, si possono generare mediante somme tutti gli altri elementi.

La teoria dei gruppi ciclici, di cui i sistemi di numerazione in modulo sono gli esempi più semplici, è fondamentale nello studio dei codici di rilevamento e correzione degli errori, quali quelli usati per la memorizzazione dei dati nei CD e nei DVD.

Page 15: Informatica Industriale Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena

Tecniche di correzione dell'errore – Tecniche di correzione dell'errore –

11 Metodi per la correzione degli errori nei

procedimenti di calcolo aritmetici:– Votazione a maggioranzaVotazione a maggioranza

L'operazione viene eseguita per tre volte: se i valori dei tre risultati non coincidono, nell’ipotesi che si sia verificato un solo errore, si considera corretto il valore relativo ai due risultati coincidenti. Più in generale, l'operazione viene ripetuta n volte con relativa verifica sulla maggioranza dei valori uguali, che si ipotizzano essere quelli corretti.

– Rilevamento intelligenteRilevamento intelligente Supponiamo di avere un meccanismo di rilevamento dell'errore che abbia capacità di diagnosi, cioè che sappia indicare il punto in cui si è verificato un errore Si può intervenire correggendo opportunamente il risultato.

Page 16: Informatica Industriale Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena

Tecniche di correzione dell'errore – Tecniche di correzione dell'errore – 22 ESEMPIOESEMPIO

– Supponiamo di avere un numero di n bit come risultato di un'operazione. Un adeguato meccanismo di diagnosi potrebbe rilevare che il bit i–esimo è guasto Si corregge l'errore negando il bit in questione.

– Se la diagnosi viene fornita sotto forma di numero binario dove tutti i bit sono a zero e solo il bit i–esimo (corrispondente al guasto) vale 1, sarà sufficiente operare un XORXOR (o somma modulo 2) bit a bit del numero con errori con il numero di diagnosi.

Page 17: Informatica Industriale Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena

Il fattore temporale – 1Il fattore temporale – 1 A complicare la situazione rispetto alle semplici

schematizzazioni descritte subentra il fattore fattore temporaletemporale.

La ridondanza nel calcolo può essere temporale invece che strutturale: le operazioni ripetute possono essere effettuate in sequenza, utilizzando la stessa risorsa di calcolo; – si può duplicare temporalmente lo svolgimento di

una operazione e confrontarne i risultati successivi; – si può svolgere tre volte la stessa operazione e votarne

a maggioranza i risultati: si effettuano normalmente due operazioni e, solo se i risultati discordano (rilevamento dell'errore), si esegue la terza;

– in questo caso, la ridondanza temporale è pari a 2, tranne nei casi in cui si verifica un errore.

Page 18: Informatica Industriale Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena

Il fattore temporale – 2Il fattore temporale – 2

ObiezioneObiezione: se una unità di calcolo si guasta, è inutile farle ripetere il calcolo perché sbaglierà di nuovo, introducendo errori di modo errori di modo comunecomune.

Questa affermazione è valida solo se si assumono guasti permanenti, non temporanei (transienti) Il fattore tempo rientra nella definizione stessa delle assunzioni di guasto.

La ridondanza temporale ridondanza temporale è il meccanismo più utilizzato per la correzione degli errori di comunicazione: in questo caso il meccanismo di rilevamento dell'errore è di natura temporale, ed è rappresentato dal time–out.

Page 19: Informatica Industriale Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena

Il fattore temporale – 3Il fattore temporale – 3 Se un messaggio di acknowledgeacknowledge ad una spedizione non

è arrivato in tempo massimo, si suppone l'esistenza di un guasto e si usa la ritrasmissione (ridondanza temporale) per correggere l'errore; in questo caso si assumono guasti temporanei.

Si associa a questo meccanismo un meccanismo di rilevamento di guasti permanenti ancora basato sulla ridondanza temporale: dopo un certo numero

di ritrasmissioni si dichiara defunto il collegamento. Un meccanismo di time-out è anche quello che si usa

nel monitoraggio dell'attività di un processore: quando si dice che un computer si è “piantatopiantato ” si esprime il fatto che esso non presenta segni di attività per un tempo inaccettabilmente lungo.

Page 20: Informatica Industriale Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena

Il fattore temporale – 4Il fattore temporale – 4

A questo proposito notiamo che:– ...normalmente un processore non si “pianta”, ma

continua ad eseguire (all'infinito) un ciclo di operazioni che non danno risultati osservabili;

– … “inaccettabilmente lungo” è una locuzione soggettiva: ci si può imbattere in un computer apparentemente “piantato” ed effettuare inopinatamente uno shutdownshutdown pochi secondi prima che riprenda il suo normale funzionamento (ovvero, l'osservabilità esterna del suo normale funzionamento).

Il tempo può rientrare anche nella definizione di corretto serviziocorretto servizio fornito dal sistema: nei sistemi real–time, i guasti si manifestano non soltanto come errori nel dominio dei valori, ma anche come errori nel dominio del tempo.

Page 21: Informatica Industriale Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena

La teminologia della La teminologia della Dependability Dependability

Lo Working Group WG 10.4Working Group WG 10.4 (Dependable Dependable Computing and Fault-ToleranceComputing and Fault-Tolerance) dell'IFIP (International Foundation for Information International Foundation for Information ProcessingProcessing ) ha definito la terminologia, relativa alle situazioni di guasto ed alle specifiche dei sistemi di elaborazione connesse alla salvagurdia da guasti, in un documento intitolato “Dependability: Basic Concepts and TerminologyDependability: Basic Concepts and Terminology ”, che introduce il concetto di dependabilitydependability.

DependabilityDependability: proprietà di un sistema di essere adeguato alla dipendenza da parte di un essere umano, o di una collettività, senza il pericolo di rischi inaccettabili.