apd - prezentari curs - 12

Upload: ssh-das

Post on 29-May-2018

233 views

Category:

Documents


0 download

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 !