apd - prezentari curs - 12
TRANSCRIPT
-
8/8/2019 APD - Prezentari Curs - 12
1/20
Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare
22/12/2009 Algoritmi Paraleli si Distribuiti Curs 12 1
-
8/8/2019 APD - Prezentari Curs - 12
2/20
Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare
Sisteme tolerante la defecteProblema: funcionarea corectn prezena unor defeciuni ale
sistemului
aceeai ieire pentru aceleai valori de intrare,
valori apropiate la ieire, pentru valori de intrare apropiate
Algoritmi Paraleli si Distribuiti Curs 12 2
Proces_1
Proces_1
Proces_2
Proces_2
Proces_n
Proces_n
comparator
comparatorDate de intrare
Rezultate
22/12/2009
-
8/8/2019 APD - Prezentari Curs - 12
3/20
Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare
Tipuri de defecte n sistemele distribuite Crash: la un moment dat un procesor
devine nefuncional n ultimul pas, nainte de a se defecta, se
poate s fi trimis numai un subset din mesaje
Byzantine: procesorul intr n stri arbitrarei trimite mesaje coninnd coninut arbitrar
22/12/2009
-
8/8/2019 APD - Prezentari Curs - 12
4/20
Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare
Algoritmi Paraleli si Distribuiti Curs 12 4
Consensul generalilor bizantini
Generali armata bizantin comunicntre ei prin legturi directe punct la punct :
fr erori
nu interfer decid pe baza mesajelor schimbate
alegere nr. finit alternative: atac, retragere, atac pe flanculstng, atac pe flancul drept.
Metod fiecare general i observ inamicul i comunic observaia sa v(i)
tuturor celorlali generali
fiecare general combin
valorile v(1), . . ., v(n) ntr-o singurdecizie
pentru consens:
aceeai metod de decizie
aceleai valori v(1), . . ., v(n)22/12/2009
-
8/8/2019 APD - Prezentari Curs - 12
5/20
Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare
Algoritmi Paraleli si Distribuiti Curs 12 5
Problema: nu to i generalii sunt loiali
un general trdtorj nu comunic aceeai valoare v(j) celorlali
Condiii pentru a aplica metoda specificat:1. Fiecare general loial s obin aceeai informaie v(1) . . . . , v(n). exist trdtori => un general nu folosete direct valoarea v(i)
obinut direct de la generalul i.
2. Dac generalul i este loial, atunci valoarea v(i) transmis de eltrebuie folosit ca atare de fiecare general loial.
decizia nu poate fi "retragere" dac toi generalii loiali au trimisvaloarea "atac"
Rescriere (1):1'. Oricare doi generali loiali folosesc aceeai valoare a lui v(i)
(indiferent dac i este loial sau nu).
Problema se reduce la o valoare trimis de un singur
general (Comandant) celorlali generali (Locotenenti).
Consensul generalilor bizantini (2)
22/12/2009
-
8/8/2019 APD - Prezentari Curs - 12
6/20
Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare
Un comandant trebuie s trimit un ordin celor n-1 locoteneni aisi astfel ca:
IC1. Toi locotenenii loiali se supun aceluiai ordin.
IC2. Dac comandantul este loial, atunci fiecarelocotenent loial se supune ordinului transmis de el.
IC1 si IC2 se numesc "interactive consistencyconditions".Observatii:
- cnd comandantul este loial, condiia IC1 rezult din IC2;
- comandantul nu este neaprat loial.
Pentru mesaje orale, mai mult de 2/3 din generali trebuie s fieloiali =>
Cu mesaje orale i un trdtor nu exist o soluie pentru doar trei
generali, dar exist soluie pentru patru generali.Algoritmi Paraleli si Distribuiti Curs 12 6
Problema Generalilor Bizantini
22/12/2009
-
8/8/2019 APD - Prezentari Curs - 12
7/20
Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare
Algoritmi Paraleli si Distribuiti Curs 12 7
Exemple
Scenariul 1. Comandantul este loial, iar decizia este atac.
ComandantComandant
Locotenent 1Locotenent 1 Locotenent 2Locotenent 2 Locotenent 3Locotenent 3
atac
atac
atac
atac
atac
atac
atac
***
***
22/12/2009
-
8/8/2019 APD - Prezentari Curs - 12
8/20
Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare
retrag
retrag
Algoritmi Paraleli si Distribuiti Curs 12 8
Exemple (2)
Scanariul 2. Comandantul este neloial i transmite mesajediferite locotenenilor.
Exist soluie pentru un trdtor ntre 4 generali.
ComandantComandant
Locotenent 1Locotenent 1 Locotenent 2Locotenent 2 Locotenent 3Locotenent 3
atac
retrag
***
atac
atac
***
***
22/12/2009
-
8/8/2019 APD - Prezentari Curs - 12
9/20
Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare
Algoritmi Paraleli si Distribuiti Curs 12 9
Exemple (3)
Scenariul 3. Grupul conine trei generali.a) locotenentul 2 este neloialb) comandantul este neloial
+-----------+ +-----------+
+-+ +--+
+-----------+ +-----------+ atac atac atac retrag
atac atac
+-----------+------>+-----------+ +-----------+------->+-----------+
locotenent1 retraglocotenent2 locotenent1 retrag locotenent2
+-----------+
-
8/8/2019 APD - Prezentari Curs - 12
10/20
Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare
Algoritmi Paraleli si Distribuiti Curs 12 10
Soluia cu mesaje orale
Un mesaj oralndeplinete urmtoarele condiii:A1. Fiecare mesaj transmis este livrat corect.A2. Receptorul unui mesaj tie cine l-a trimis.A3. Absena unui mesaj poate fi detectat.
A1 si A2 => un trdtor nu poate interfera cu comunicarea ntre ali doigenerali.
A3 => un trdtor nu poate influena decizia prin ne-transmiterea unuimesaj.
Convenii:- se folosete expresia un locotenent "obine o valoare" i nu "se supune
unui ordin"- algoritmul folosete o funcie majoritycu proprietatea c dac majoritatea
valorilor v(i) este v atunci valoarea funciei este v; ex:
1. valoarea majoritarn vidac ea exist, altfel o valoarea implicitVdef (de exemplu, RETREAT);
2. mediana valorilor vi, presupunnd c valorile sunt dintr-o mulimeordonat.
- un comandant trdtor poate decide sa nu trimit un ordin; se ia o valoare
implicitVdef(de ex Retragere).22/12/2009
-
8/8/2019 APD - Prezentari Curs - 12
11/20
Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare
Algoritmi Paraleli si Distribuiti Curs 12 11
Algoritmul OM(n,0).(1) Comandantul trimite valoarea sa fiecrui locotenent.
(2) Fiecare locotenent folosete valoarea primit de la comandant, saufolosete Vdef dac nu primete nici o valoare.
Algoritmul OM(n,m), m > 0.
(1) Comandantul trimite valoarea sa fiecrui locotenent.
(2) For each Locotenent i
fie vivaloarea primit de la comandant, sau Vdef dac nu primete nici ovaloare.
Locotenentul i acioneaz drept comandant i trimite valoarea vifiecruiadin ceilali n - 2 locoteneni folosind OM(n - 1,m - 1)
(3) For each i and eachj ifie vjvaloarea pe care Locotenentul i o primete de la Locotenentul j n
pasul (2) (folosindAlgoritmul OM(n - 1, m - 1)), sau Vdef dac nuprimete nici o valoare.
Locotenentul i folosete valoarea majority (v1 . . . . . vn-1 ).
Soluia cu mesaje orale (2)
22/12/2009
-
8/8/2019 APD - Prezentari Curs - 12
12/20
Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare
Algoritmi Paraleli si Distribuiti Curs 12 12
Exemplu pentru m = 1, n = 4, Locotenentul 3 este trdtor.
Pas 1 OM(4,1) - comandantul trimite v tuturor locotenenilor.
Pas 2 OM(4,1) - L1 trimite valoarea v celorlali locoteneni folosind OM(0)- L2 trimite valoarea v celorlali locoteneni folosind OM(0)- L3 trimite alte valori (x, y)
Pas 3 OM(4,1) - L1 calculeaz majority(v, v, x) = v- L2 calculeaz majority(v, v, y) = v
Soluia cu mesaje orale (3)
22/12/2009
CC
L1L1 L2L2 L3L3
L2L2 L3L3 L1L1L3L3 L1L1 L2L2
vvvv
vv
vv vv vv vv xx yy
-
8/8/2019 APD - Prezentari Curs - 12
13/20
Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare
Algoritmi Paraleli si Distribuiti Curs 12 13
Exemplu pentru m = 1, n = 4, Comandantul este trdtor
Pas 1 OM(4,1) - comandantul trimite x, y i nimic locotenentilor.
Pas 2 OM(4,1) - L1 trimite valoarea x celorlali locoteneni folosind OM(0)- L2 trimite valoarea y celorlali locoteneni folosind OM(0)
- L3 trimite valoarea Vdef celorlali locoteneni folosind OM(0)
Pas 3 OM(4,1) - L1, L2 i L3 calculeaz majority(x, y, Vdef) obinnd aceeaivaloare.
Soluia cu mesaje orale (4)
22/12/2009
CC
L1L1 L2L2 L3L3
L2L2 L3L3 L1L1L3L3 L1L1 L2L2
xxyy
xx xx yy yy vdefvdef vdefvdef
-
8/8/2019 APD - Prezentari Curs - 12
14/20
Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare
Algoritmi Paraleli si Distribuiti Curs 12 14
ComplexitateOM(n,m) transmite n-1 mesaje n primul pas i invoc n-1 execuii separate alealgoritmului OM(n-1,m - 1).
Fiecare din acestea trimite n-2 mesaje
n pasul 2 se transmit n total (n-1)(n-2) mesaje.
n pasul m+1 se transmit (n-1)(n-2)...(n-m-1) mesaje deci numrul total demesaje este O(nm+1).
Notaie
Algoritmul OM(n-k,m-k) va trimite o valoare prefixat de o secven de knumere ale locotenenilor.
Corectitudine
LEMA 1. Pentru orice m i k, OM(n,m) satisface IC2 dac numrul n degenerali este mai mare de 2k+m i sunt cel mult k trdtori.
TEOREMA 1. Pentru orice m, algoritmul OM(n,m) satisface condiiile IC1 iIC2 dac numrul de generali n este mai mare de 3m i sunt cel mult m
trdtori.
Soluia cu mesaje orale (5)
22/12/2009
-
8/8/2019 APD - Prezentari Curs - 12
15/20
Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare
Algoritmi Paraleli si Distribuiti Curs 12 15
Soluia cu mesaje semnate
Se adaug condiia:
A4 (a) Semntura unui general loial nu poate fi falsificat iorice alterare a coninutului mesajului semnat poate fi
detectat(b) Oricine poate verifica autenticitatea semnturii unui
general.
n schimb, semntura unui trdtor poate fi falsificat de un alt trdtor.
Algoritmul funcioneaz pentru orice numr de generali (> m+2)
n algoritm:
- comandantul trimite un ordin semnat fiecrui locotenent;- fiecare locotenent adaug semntura la ordin i-l transmitecelorlalti care adaug semnturile lori l transmit celor care nu l-au semnat .a.m.d.
22/12/2009
-
8/8/2019 APD - Prezentari Curs - 12
16/20
Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare
Algoritmi Paraleli si Distribuiti Curs 12 16
Algoritmul folosete o functie choice care se aplic unei mulimide ordine pentru a obine un singurordin. Cerine:1. Dac mulimea V const dintr-un singur element v, atunci choice(V)=v.
2. choice() = RETREAT, unde este mulimea vid.
O definiie posibil este ca choice(V) s fie elementul median allui V, presupunnd c exist o ordine a elementelor.
Notaii: x:i este valoarea x semnat de generalul i
x:j:i este valoarea x semnat de j, apoi valoarea x:j semnat de i generalul 0 este comandantul
locotenentul i pstreaza mulimea Vi a ordinelorbine semnate primite(dac comandantul este loial, Vi ar trebui s conin doar un element)
Soluia cu mesaje semnate (2)
22/12/2009
-
8/8/2019 APD - Prezentari Curs - 12
17/20
Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare
Algoritmi Paraleli si Distribuiti Curs 12 17
Algoritm SM (m).
Iniial Vi = .
(1) Comandantul semneaz i trimite valoarea sa fiecrui locotenent.
(2) For each i:(A) IfLocotenent i primete un mesaj de forma v: 0 de la comandant inu a primit nc nici un ordin then
(i) Vi := {v};
(ii) transmite mesajul v:0:i fiecruia din ceilali locoteneni.(B) IfLocotenent i primete un mesaj de forma v:0:jl: :jk i v nu este
n Vithen
(i) adaug v la Vi;
(ii) ifk < m then trimite mesaj v:0:jl: . . . :jk:i fiecrui locotenentdiferit de jl . . . jk.
(3) For each i:
when Locotenent i nu mai primete mesaje el execut ordinul choice(
Vi).
Soluia cu mesaje semnate (3)
22/12/2009
-
8/8/2019 APD - Prezentari Curs - 12
18/20
Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare
SoluSoluiaia cucu mesajemesaje semnatesemnate (4)(4)\\
Algoritmul SM(1) pentru cazul a trei generali cndcomandantul este trdtor.
COMMANDERCOMMANDER
LIEUTENANTLIEUTENANT
11
LIEUTENANTLIEUTENANT22
attack:0 retreat:0
attack:0:1
retreat:0:2
-
8/8/2019 APD - Prezentari Curs - 12
19/20
Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare
Algoritmi Paraleli si Distribuiti Curs 12 19
Detectare oprire mesaje (pasul 3)
gestiunea mesajelor primite pentru fiecare secven de locoteneni j1, ... , jk, k
-
8/8/2019 APD - Prezentari Curs - 12
20/20
Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare
Algoritmi Paraleli si Distribuiti Curs 12 2022/12/2009
Crciun Fericit !