Sistemas Distribuídos: Sincronização

download Sistemas Distribuídos: Sincronização

of 25

Transcript of Sistemas Distribuídos: Sincronização

  • 8/18/2019 Sistemas Distribuídos: Sincronização

    1/25

    Sistemas Distribuídos Jorge Surian [email protected]

    Sistemas Distribuídos: Sincronização

  • 8/18/2019 Sistemas Distribuídos: Sincronização

    2/25

    2

    2

    Relógios Físicos Hora atômica Internacional (International tomic !ime" # baseada em rel$gios muito %recisos (ta&a

    de 'ariação de ) *+". Hora ,oordenada Internacional (-ni'ersal

    ,oordinated !ime -,!" # o %adrão %ara mediçãodo tem%o.

    / baseada na 0ora atômica1 mas ocasionalmente# ajustada %ela 0ora astronômia. 23roadcast2 da 0ora # 4eito atra'#s de estaç5es de

    r6dio (778" e sat#lites (9S".

    ,om%utadores ;ue recebem o sinal sincronizamos rel$gios.

    2

  • 8/18/2019 Sistemas Distribuídos: Sincronização

    3/25

    3

    3

    Relógios Físicos Seja C o 'alor do rel$gio 2ideal2 (0ora -!,". Seja Cp o 'alor do rel$gio no com%utador p. Se t  # o tem%o no rel$gio em sincronia com a

    0ora -!,1 então temos o tem%o em p dado %orCp(t).

    Idealmente %ara todo p e %ara todo t 1 temos: Cp(t) = t → C'p(t) = dC/dt = 1.

    ,loc< s

  • 8/18/2019 Sistemas Distribuídos: Sincronização

    4/25

    4

    4

    Relógios Físicos Seja & a ta&a m6&ima de deri'a (;ue es%eci?ca se

    um rel$gio est6 adiantado ou atrasado".

    ,omo 4azer a sincronização %eri$dica entrerel$gios

  • 8/18/2019 Sistemas Distribuídos: Sincronização

    5/25

    5

    5

    Sincronização de Relógios Se e&iste um 2ser'idor de tem%o2 (rece%tor 77,

    ou rel$gio de %recisão"

    lgoritmo %ro%osto %or ,ristian (ABA" Se não e&iste uma 4onte ;ue dis%onibilize a 0ora

    coordenada uni'ersal (-,!" lgoritmo de 3er

  • 8/18/2019 Sistemas Distribuídos: Sincronização

    6/25

    6

    6

    Relógio de Cristian (1!)

    ossibilidade de consultar ser'idores de tem%oe;ui%ados com um rece%tor 778 ou umrel$gio de alta %recisão.

    roblema: trasos de mensagens 4arão com;ue a 0ora 4ornecida seja desatualizada

    8ariaç5es na estimati'a do atraso entre asm6;uinas.

     Algoritmos...

  • 8/18/2019 Sistemas Distribuídos: Sincronização

    7/25

    ""

    Relógio de Cristian (1!)

    ,om%utador consulta a 0ora no com%utador3.

    ,om%utador 3 inclui na res%osta o 'alor do seu

    rel$gio G !+. ,om%utador atualiza o seu rel$gio com o'alor do rel$gio em 3 adicionado ao retardo damensagem entre 3 e (ne =aC delaC".

    stimati'a %ara o one*=aC delaC E!!KL1 casoatrasos em ambas direç5es sejam a%ro&imados

     Algoritmos...

  • 8/18/2019 Sistemas Distribuídos: Sincronização

    8/25

    !!

     Algoritmos...Relógio de #er$ele%

    lgoritmo usado %ara a sincronização internade um gru%o de com%utadores.

    2Ser'idor de tem%o2 # ati'o (master" e coleta os'alores de rel$gios de outros (sla'es".

    Master usa estimati'as do E!! %ara estimar o

    'alor dos rel$gios dos com%utadores dentro dosgru%os.

    Hora atual # resultante de uma m#dia . Master en'ia ao sla'es o total de tem%o em

    ;ue os rel$gios de'em adiantarKatrasar. ,aso o master 4al0e1 um no'o com%utador

    master # eleito.

  • 8/18/2019 Sistemas Distribuídos: Sincronização

    9/25

     AlgoritmosRelógio de #er$ele%

  • 8/18/2019 Sistemas Distribuídos: Sincronização

    10/25

    1&1&

    Relógios Lógicos Sincronização baseada em Ntem%o relati'oO.  !em%o relati'o não %ossui nen0uma relação com

    o tem%o real. mais im%ortante # ;ue os %rocessos do Sistema

    Distribuído concordem com a ordem em ;ue ose'entos ocorrem:

    lgoritmo de Fam%ort Eel$gios 8etoriais

  • 8/18/2019 Sistemas Distribuídos: Sincronização

    11/25

    1111

    Relógios LógicosRelógios de 'amport 1"!.

    m 'ez da sincronização de rel$gios1ordenação dos e'entos:"Se dois e'entos ocorrem no mesmo

    %rocesso1 então eles ocorrem na ordemobser'ada %elo %rocesso pi.

    L"Puando uma mensagem m # trocada entredois %rocessos1 e a # o e'ento de en'io e b o de recebimento1 então a b.

    +"Eelação Nacontece antesO # transiti'a.

  • 8/18/2019 Sistemas Distribuídos: Sincronização

    12/25

    1212

    Relógios LógicosRelógios de 'amport 1"!.

    a b ( %" c  d (%L" b  c dado m d  4dado mL

    *as1 nem todos os e'entos %odem ser relacionadosatra'#s da relação Nacontece antesO

    ,onsideremos a e e (%rocessos di4erentes1 sem ae&ist>ncia de cadeias de mensagens entre os%rocessos"Qão estão relacionados atra'#s da relação  

    São de?nidos como %rocessos concorrentes: a ++ e

  • 8/18/2019 Sistemas Distribuídos: Sincronização

    13/25

    1313

    Relógios LógicosRelógios de 'amport 1"!.

    a b ( %" c  d (%L" b  c dado m d  4dado mL

  • 8/18/2019 Sistemas Distribuídos: Sincronização

    14/25

    1414

    Relógios LógicosRelógio de 'amport 1"!. -m rel$gio l$gico # um contador

    monotonicamente crescente. ,-o %recisa estarrelacionado com o rel$gio 4ísico.

    Como un/iona0

    ,ada %rocesso pi tem o seu rel$gio l$gico Ci 

    ;ue %ode ser usado %ara a%licar timestam%sl$gicos aos e'entos.

    1)Ci # incrementado de antes de cadae'ento no %rocesso pi.

    L"Puando um %rocesso pi en'ia mensagemm1 o tem%o t  Ci # ane&ado a mensagem.

    +"Puando pi recebe (mt)1 o rel$gio #atualizado %ara Ci ma(C t) antes dea%licar .

  • 8/18/2019 Sistemas Distribuídos: Sincronização

    15/25

    1515

    Relógios LógicosRelógio de 'amport 1"! m cada um dos %rocessos %1 %L1 %+ o rel$gio

    l$gico # inicializado com zero. s 'alores dos rel$gios l$gicos são a;ueles ;ue

    ocorrem imediatamente a%$s o e'ento. odemosimaginar a1 bL e assim sucessi'amente.

     Juntamente com m1 o 'alor L # en'iado e orel$gio em %L1 a%$s o e'ento c1 recebe oma&()1L"R +.

    a  b im%lica em ;ue ,(a", (b " mas ,(a",

    (b " n-o im%lica em a

     b

  • 8/18/2019 Sistemas Distribuídos: Sincronização

    16/25

    1616

    Relógios LógicosRelógio de 'amport emplo 1

  • 8/18/2019 Sistemas Distribuídos: Sincronização

    17/25

    1"1"

    Relógios LógicosRelógio de 'amport emplo 2

  • 8/18/2019 Sistemas Distribuídos: Sincronização

    18/25

    1!1!

    Relógios LógicosRelógio de 'amport roblema

    ,(a" ,(b": Qão se %ode in4erir ;ue a G b

  • 8/18/2019 Sistemas Distribuídos: Sincronização

    19/25

    11

    Relógios LógicosRelógios 7etoriais

    ,riados %or Mattern1 Tigdge1ABB. Im%lementados %ara e'itar a limitação dos

    rel$gios de Fam%ort: C(a) 8 C(b) não im%lica a Nacontece antesO de b.

    8etores com marcas de tem%o são usados %ara

    os e'entos locais em cada %rocesso. Seja 7Ci 9:; o nUmero de e'entos ocorridos em

    pi at# o instante de tem%o em ;uestão. Seja 7Ci 9; o nUmero de e'entos ;ue

    ocorreram em p1 %ortanto pi sabe ;uantose'entos ocorreram em p.

  • 8/18/2019 Sistemas Distribuídos: Sincronização

    20/25

    2&2&

    Relógios LógicosRelógios 7etoriais

    Como 1

    3)pi en'ia t C7i em cada mensagemtransmitida

    W"Puando %i recebe (m1t"1 o %rocesso ajustaC7i9; ma(C7i9; 1 tXjY" j 1 L1 ZQ(antes do %r$&imo e'ento adiciona ao seu%r$%rio contador de e'entos"

  • 8/18/2019 Sistemas Distribuídos: Sincronização

    21/25

    2121

    Relógios LógicosRelógios 7etoriais

    &em%li?cando...

    %: a(1)1)"[ b (L1)1)" en'ia (L1)1)" juntamente com amensagem m.

    m %L1 no recebimento de m1 o 'etor de rel$gios #modi?cado %ara ma&.

    (()1)1)"1 (L1)1)"" (L1 )1 )" adicionando ao seu %r$%rio

    rel$gio (L11)" Qeste caso1 o e'ento c 2sabe2 ;ue ocorreram L e'entos

    no %rocesso % antes da ocorr>ncia do e'ento c em %L 8 ma? de'em ser realizadas entre %ares de

    elementos

  • 8/18/2019 Sistemas Distribuídos: Sincronização

    22/25

    2222

    Relógios LógicosRelógios 7etoriais

    'entos / e e são concorrentes1 mas nem7C(e) 8 7C(/) nem 7C(/) 87C(e) %odemser a?rmados

  • 8/18/2019 Sistemas Distribuídos: Sincronização

    23/25

    2323

    Relógios...

    lgoritmos de ,ristian e 3er

  • 8/18/2019 Sistemas Distribuídos: Sincronização

    24/25

    2424

    Relógios

    Eel$gios de Fam%ort são contadores ;ue mudam

    de acordo com o relacionamento de NaconteceantesO entre os e'entos.

    Eel$gios 'etoriais são uma mel0ora nos rel$gios

    de Fam%ort1 onde dois e'entos são ordenados%ela relação Nacontece antesO ou sãoconcorrentes atra'#s da com%aração dos 'etorescom marcas de tem%o.

  • 8/18/2019 Sistemas Distribuídos: Sincronização

    25/25

    2525

    ,o%Crig0t \ L)) ro4. Jorge Surian

     !odos direitos reser'ados. Ee%rodução ou di'ulgação total ou %arcial deste

    documento # e&%ressamente %roíbido sem o consentimento 4ormal1 %or escrito1 doro4essor Surian.

    Fontes:

    Tanenbaum, Andrew S. e Steen, Marteen Van. SistemasDistribuídos, São Paulo: Prentice Hall, 2008.

    Imagem do Relógio, treco da obra !Persist"ncia do #em$o%, deSal&ador Dali.