Documente Academic
Documente Profesional
Documente Cultură
defecte
Istorie
Primul sistem de calcul tolerant la defecte: SAPO, construit in
1951.
Dispunea de 3 unitati aritmetico-logice care decideau rezultatul
corect prin vot, utilizand redundanta modulara tripla (daca toate
rezultatele erau diferite, operatia era reluata)
Silentioase:
Defecte-stop
Procesul devine nefunctional
Bizantine:
Procesul trimite mesaje cu continut arbitrar
Definitie
Proprietate care ii permite unui sistem sa functioneze
si sa ofere rezultatele corecte in cazul in care unele
dintre componentele sale s-au defectat si ofera
rezultate gresite
Importanta
Industria aeronautica
Industria spatiala
Industria energiei nucleare
Industria cailor ferate
Industria medicala
Servicii militare
Scop
Asigurarea faptului ca sistemul continua sa functioneze chiar si la un
nivel redus atunci cand anumite componente ale sale se defecteaza.
Utilitate:
Sisteme de monitorizare a pacientilor
Sisteme de control al zborului
Servicii bancare
Arhitectura
Datele de intrare sunt replicate si
transmise mai multor procese
Comparatorul alege rezultatul corect
pe principiul majoritatii
Clasificare
Sistemele tolerante la defecte sunt implementate
astfel incat sa trateze diverse tipuri de defecte:
Hardware
Defectare hard disk
Defectare dispozitive de intrare/iesire
Software
Erori de implementare
Interfatare intre hardware si software
Defectare drivere
Cat este necesar?
In timp
Timeout
Retransmisie
Fizica
Adaugarea de echipament suplimentar
RAID, redundanta modular tripla
Servere de backup
Cazuri posibile
1. Procesoarele functioneza corect; liniile de comunicare
pot pierde mesaje
Problema celor doua armate
Ilustreaza dificultatea de a pune de acord doua
procesoare asupra unui singur bit de informatie
Acordul intre 2 entitati nu este posibil in cazul in
care comunicatia nu este de incredere
2. Comunicarea este fara erori; procesoarele sunt
defectuoase
Problema generalilor bizantini
Problema generalilor bizantini
Generalii:
trebuie sa ajunga la o intelegere in privinta atacului
comunica prin intermediul mesagerilor
propun atac sau retragere
unii dintre ei sunt tradatori
Armata castiga batalia doar daca toti generalii loiali iau aceeasi
decizie
Cerinte
Conditii:
A1: fiecare mesaj trimis ajunge
corect la destinatie
A2: receptorul mesajului
cunoaste autorul mesajului
A3: Absenta unui mesj poate fi
detectata
Solutia cu mesaje orale
Solutia cu mesaje orale
Algoritm:
Rezolva Problema Generalilor Bizantini
pentru minim 3m + 1 Generali si cel mult m
tradatori
foloseste functia majority(v(1), ,v(n-1))
Complexitate: O(n^(m+1))
Solutia cu mesaje semnate
Se adauga conditia:
A4:
A) Semnatura unui general loial nu poate fi
falsificata si orice alterare a mesajelor sale
semnate poate fi detectata
B) Oricine poate verifica autenticitatea unei
semnaturi
Rezolva problema pentru orice numar de
Generali
Solutia cu mesaje semnate
Solutia cu mesaje semnate
Algoritm:
Comandantul termite un mesaj semnat tuturor locotenentilor
Fiecare locotenent isi adauga semnatura si trimite mesajul
celorlalti Locotenenti
Foloseste o functie choice care este aplicata unei multimi de
ordine
Rezolva problema pentru orice numar de Generali
A4:
A) Semnatura unui general loial nu poate fi falsificata si orice
alterare a mesajelor sale semnate poate fi detectata
B) Oricine poate verifica autenticitatea unei semnaturi
Conditii de consistenta