• Nenhum resultado encontrado

Sincronização em Sistemas Distribuídos

N/A
N/A
Protected

Academic year: 2022

Share "Sincronização em Sistemas Distribuídos"

Copied!
27
0
0

Texto

(1)

Sincronização em Sistemas Distribuídos

(2)

problemas clássicos

•  ordenação de mensagens

•  exclusão mútua distribuída

•  eleição de líder

•  ...

•  transações

(3)

ordenação de acontecimentos

•  relógio físico

–  dificuldades

•  relógio lógico

–  não é um relógio de fato...

(4)

relógio lógico

•  cada processo é modelado como sequência de eventos e1, e2,

–  na realidade os eventos que importam são os de entrada/saída

•  um evento e1 precede causalmente outro e2 se:

–  e1 aconteceu antes de e2 em um mesmo proc P

–  e1 é o evento de envio de uma msg M e e2 o evento de seu recebimento

–  existe e3 tal que e1 precede e3 e e3 precede e2

•  um relógio lógico associa a cada evento um valor tq

–  e1 precede e2 => rl(e1) < rl(e2)

(5)

relógio lógico

•  cada processo P inicialmente faz RL P = 0

•  a cada evento e, P associa a e o valor corrente de RL P e incrementa RL P ao enviar uma mensagem M, P acrescenta a M um timestamp ts(M) que é o valor corrente de RL P

•  ao receber uma mensagem M com timestamp ts, P faz

RL

P

= max (RL

P

, ts) + 1

(6)

exemplo de uso - relógio lógico

•  algoritmo de exclusão mútua distribuída

–  implementação centralizada –  implementação distribuída

•  arbitragem por relógio lógico

•  uso de token

(7)

exclusão mútua com uso de RL

•  entrada na região crítica:

•  envia mensagem (reqEM, meuId, meuRL) e entra em espera por oks com RLesp = meuRL

•   espera (ok, ID) de todos os demais processos

•  ao receber (reqEM, IdO, RLO)

•  não está na região crítica ou em espera por oks:

–  envia (ok, meuID) para IdO

•  está em espera por oks:

–  se RLO < RLesp, envia (ok, meuID) para IdP –  caso contrário, coloca req em lista

•   está na região crítica:

–  coloca req em lista

•  ao sair da Região Crítica:

•  envia (ok, ID) para cada req na lista

Ricart, g. and Agrawala, A. An Optimal Algorithm for Mutual Exclusion in

Computer Networks. Comm. ACM, 24(1), jan 1981.

(8)

ler

•  artigo de Andrews (“Paradigms for interaction…”):

–  seção 6

(9)

ordenação em broadcast ou multicast

•  ordem total

•  ordem causal

•  ligados a acoplamento forte entre processos!

•  ordenação: exemplo de problema de coordenação

distribuída

(10)

ordenação de mensagens

•  implementação

–  uso de uma fila de holdback em camada de comunicação

•  em geral assumindo que não há perda de mensagens e que o envio ponto a ponto é ordenado

chegada de mensagens

processamento (aplicação)

fila entrega

fila holdback

(11)

ordenação total

•  todos os pontos devem processar as mensagens em uma mesma ordem

–  independentemente da real ordem de envio

X

(12)

uma implementação de ordem total

•  utilizando um sequenciador para multicast

–  problema se reduz a ordenação ponto a ponto

–  gargalo e ponto único de falha

(13)

outra implementação de ordem total

•  processo de origem envia (msg, id_único) a grupo de processos

•  cada processo destinatário responde com uma proposta de número de ordem

–  e deixa (msg, id_único, num_ordem_proposto) em fila de holdback, ordenada por num_ordem

•  processo emissor coleta respostas, escolhe o maior número de ordem e envia (msg, id_único, num_ordem_final) a destinatários

•  processo destinatário troca id_proposto por id_final

(14)

ordem total (cont)

•  se msgs no início da fila de holdback estão com id_final, passa- as para a fila de entrega

43521 72170 63098 39188 42901

10 13 15 16 19

final proposto

•  problema possível: diferentes processos proporem o mesmo número

de ordem para msgs diferentes

(15)

ordem total (cont)

propõe 3 propõe 3

•  números propostos devem ser únicos…

–  por exemplo, max(conhecido) + 1 + I/id

(16)

outra implementação

•  variante com relógio lógico

–  todos os envios acompanhados de relógio lógico

•  ao receber uma msg, destinatário coloca na fila de

holdback com id = timestamp da mensagem

(17)

ordenação causal

•  aplicações só devem ser processar uma mensagem depois de ter visto mensagens "precedentes

causalmente"

–  independentemente da real relação de causa e efeito –  não implica ordem total

X

(18)

relógio lógico e multicast causal

•  pode ser usado para ordenar possíveis precedências causais

•  problema é: como saber se existe alguma msg anterior?

timestamp=5

timestamp=3

(19)

relógios vetoriais

•  cada processo mantém um vetor de contadores indicando o último relógio lógico recebido de cada processo

–  número de msgs enviadas   por cada processo

4

3 4

•  antes de enviar uma msg, um processo incrementa a posição correspondente a ele mesmo em seu relógio

•  msgs recebidas só podem ter diferença (de 1) no contador do processo

origem em relação ao receptor

(20)

exemplo ordenação causal

r2

r3 r1 1 0 0

0 0 0 0 0 0

1 0 0

1 0 0

(21)

exemplo ordenação causal

r2

r3 r1 1 0 0

0 0 0 0 0 0

1 0 0 X

(22)

r2

r3 r1 1 0 0

0 0 0 1 0 0

exemplo ordenação causal

(23)

exemplo ordenação causal

r2

r3 r1 1 0 0

0 0 0 1 1 0

1 1 0

1 1 0

(24)

exemplo ordenação causal

r2

r3 r1 1 0 0

0 0 0 1 1 0

1 1 0 1 1 0

pode ser entregue à aplicação!

não pode ser entregue à aplicação!

(fica na fila de holdback)

(25)

primitivas de ordenação

•  quem deve oferecer?

(26)

problemas de gerência de grupos

•  grupos mtas vezes criados para tolerância a falhas

–  mas e se um dos processos do grupo falhar?

–  como ficam os protocolos de ordenação

•  serviços de gerência de grupos

(27)

outros problemas de multicast

•  o que acontece quando grupos crescem…

Referências

Documentos relacionados

A Psicologia, por sua vez, seguiu sua trajetória também modificando sua visão de homem e fugindo do paradigma da ciência clássica. Ampliou sua atuação para além da

As solicitações se rão expostas pontualmente e estruturadas nos eixos: condições de trabalho, expansão, gestão democrática, infraestrutura, qualidade de ensino,

Com o objetivo de compreender como se efetivou a participação das educadoras - Maria Zuíla e Silva Moraes; Minerva Diaz de Sá Barreto - na criação dos diversos

Pretendeu-se com este trabalho, investigar o que é necessário para se desenvolver um ensino em Educação Física que considere os valores morais como fundamentais para a

Transformar los espacios es también transformar la dinámica de las relaciones dentro del ambiente de trabajo, la glo- balización alteró el mundo corporativo, en ese sentido es

O cantor deverá anexar à Ficha de Inscrição uma cópia da letra de cada uma das músicas com as quais o candidato se inscreveu para cada uma das fases, de acordo com as

Co-autores (as): Grendha Pereira Silva Alves - Universidade Federal do Sul da Bahia; Rafael Mulinari Andrade - Universidade Federal do Sul da Bahia; Brenda Rocha Valentim

Embora não tenha encontrado diferença significativa entre os tratamentos de polinização cruzada e autopolinização em 96 horas após as polinizações, os óvulos de pistilos