• Nenhum resultado encontrado

Sistemas Distribuídos

N/A
N/A
Protected

Academic year: 2021

Share "Sistemas Distribuídos"

Copied!
37
0
0

Texto

(1)

Sistemas Distribu´ıdos

Comunica¸c˜ao em Grupo

abril de 2017

(2)

Grupos em Aplica¸c˜ oes Distribu´ıdas

Primitiva de comunica¸c˜ao em grupo

um processo envia uma mensagem para um grupo de processos e todos os destinat´arios recebem

garantias variadas: confiabilidade e ordena¸c˜ao

Comunica¸ao em grupo

(3)

Grupos em Aplica¸c˜ oes Distribu´ıdas

grupos fortemente acoplados:

replica¸c˜ao de servi¸cos confiabilidade tempo de resposta

clientes com estado compartilhado computa¸c˜ao cient´ıfica

...

Primitiva de comunica¸c˜ao em grupo

um processo envia uma mensagem para um grupo de processos e todos os destinat´arios recebem

garantias variadas

(4)

Grupos em Aplica¸c˜ oes Distribu´ıdas

grupos fracamente acoplados:

observadores “melhor esfor¸co”

monitoramento de ambientes de execu¸ao servidores replicados

consumo de dados: valores de mercados, etc

Primitiva de comunica¸c˜ao em grupo

um processo envia uma mensagem para um grupo de processos e todos os destinat´arios recebem

garantias variadas: publish/subcribe e servi¸cos de eventos

Comunica¸ao em grupo

(5)

Broadcast ou Multicast

em redes: conceito de entrega para todose para alguns conceitos se confundem em sistemas distribu´ıdos

(6)

Comunica¸c˜ ao em Grupo: Problemas Novos

alguns recebem e outros n˜ao

processos rececebem mensagens em ordens diferentes

Comunica¸ao em grupo

(7)

Garantias de Entrega

confiabilidade ordena¸c˜ao

Implementa¸c˜ao

chegada X entrega

(8)

Exemplo: envio de msg para um grupo de processos

Comunica¸ao em grupo

(9)

N´ıveis de garantia de entrega

1 Melhor-esfor¸co (best-effort): garantia de entrega entre processos corretos

2 Confi´avel(reliable): garantia all-or-nothingmesmo se o emissor falhar

3 Ordem xyz: garantia de entrega na ordemxyz

(10)

Garantia de entrega: Implementa¸c˜ ao

uso de holdback queue

em geral, mensagens com identificadores ´unicos

o que j´a existe no SO agora em bibliotecas ou middlewares custos de espa¸co e processamento!

Comunica¸ao em grupo

(11)

Garantia de entrega: Implementa¸c˜ ao

(12)

Broadcast do melhor-esfor¸co

Um processo envia uma msg em um passo de comunica¸c˜ao para todos os processos do sistema, incluindo ele mesmo O custo para garantir confiabilidade ´e apenas do lado do emissor (se ele falhar, nenhuma garantia de entrega ´e oferecida)

Comunica¸ao em grupo

(13)

Exemplo de execu¸c˜ ao de Bcast b´ asico

Desempenho: o algoritmo requer um ´unico passo de comunica¸c˜ao e troca N mensagens

(14)

exemplo implementa¸c˜ ao

1 retransmite eternamente (did´atico mas sem bom desempenho...)

2 elimina duplicatas

3 entrega mesmo com falhas intermitentes...

Comunica¸ao em grupo

(15)

confiabilidade do broadcast de melhor esfor¸co

1 se transmissor n˜ao falhar, garantia de entrega a todos

2 se transmissor falhar:

processos podem “discordar” sobre entrega de mensagem broadcast de melhor esfor¸co pode n˜ao ter transmitido para todos ou falha pode ter ocorrido antes de terem sido feitas as retransmiss˜oes necess´arias

(16)

Broadcast confi´ avel

todos os processos devem receber (tratar) o mesmo conjunto de mensagens

no¸ao deacordo

solu¸c˜ao para modelo fail-stop

Comunica¸ao em grupo

(17)

Exemplo de execu¸c˜ ao de Bcast confi´ avel regular

(18)

Broadcast ordenado

As entregas anteriores n˜ao garantem ordem de entrega das mensagens enviadas por processos diferentes (mensagens de um mesmo processo devem ser entregues na ordem em que foram difundidas)

Algumas aplica¸c˜oes precisam de garantias de ordem de entrega.

ordem total ordem causal

Comunica¸ao em grupo

(19)

Ordem Total

N˜ao importa a ordem de entrega, mas deve ser a mesma em todos os processos do grupo.

(20)

Ordem total com sequenciador

Comunica¸ao em grupo

(21)

Ordem total com vota¸c˜ ao de ordem

(22)

Ordem Causal

poss´ıvel rela¸c˜ao de causalidade

uma mensagem pode ter sido consequencia de outra ainda n˜ao vista

Comunica¸ao em grupo

(23)

Causalidade em eventos distribu´ıdos...

a−>b: o eventoaocorre

antes do evento b se

aocorre antes de bem um mesmo processo P

a=send(m)no processo P eb=receive(m)no processo Q

existectal que aprecede cecprecedeb

a||b: os eventosae b s˜ao concorrentes

(24)

Rel´ ogio L´ ogico (Lamport)

conceito de rel´ogio l´ogico modela ordena¸c˜ao (parcial) de eventos

cada evento associado a um valor r(ei) de forma que ei ≺ej ⇒r(ei)<r(ej)

Comunica¸ao em grupo

(25)

Rel´ ogio L´ ogico — Implementa¸c˜ ao

cada processo P mant´em um contador, inicialmenteRLP = 0 a cada evento e,P associa um valor RLP(e) e incrementa seu contador

se eventoe ´e envio de mensagem,P acrescenta campo timestampcom valorRLP(e)

ao receber mensagem M com timestampTS, processo Q faz RLQ =max(RLQ,TS) + 1

(26)

Broadcast causal com espera

uso de rel´ogio l´ogico e timestamps: funciona se tempo de entrega de mensagens tem limite m´aximo

Comunica¸ao em grupo

(27)

Broadcast causal

uso de mensagens “posteriores” para validar mensagens com timestampTS

(28)

Vetor de timestamps

Vetor de timestamps: id´eia b´asica

DadosN processos, usa-se um vetor deN elementos (ao inv´es de um valor escalar)

A cada evento “e”, associa-se um vetor de timestampscujo i-´esimo elemento indica quantos mensagens do processo i j´a foram vistas

Comunica¸ao em grupo

(29)

Vetor de timestamp

Defini¸c˜ao da rela¸c˜ao <

Sejama eb dois eventos quaisquer VT(a)<VT(b):

1 ∀i,VT(a)[i]VT(b)[i]

2 ∃j,VT(a)[j]<VT(b)[j]

Note que<´e uma ordem parcial, existem eventos que n˜ao podem ser comparados por serem concorrentes

Ex.,x= [0,0,1,0] ey = [1,0,0,0], poisVT(x)6=VT(y) e ao valeVT(x)<VT(y) nemVT(y)<VT(x)

(30)

Vetor de timestamp

Funcionamento

Cada processo mant´em seu VT que come¸ca com 0 em todas as posi¸c˜oes

Para cada evento “e” local e de envio de msg, incrementa o componente do processo local no VT e associa VTp ao evento

“e”: VTp[p] =VTp[p] + 1 eVT(e) =VTp

Quando Q recebe uma mensagem, atualiza cada campo do seu VT:

VTq[i] =VTq[i] + 1,i=q

VTq[i] =max(VTq[i],VTm[i]),i6=q

Esta ´ultima parte garante que tudo que acontecer depois emPq passa a ser causalmente relacionado com tudo o que aconteceu antes emPi

Comunica¸ao em grupo

(31)

Exemplo de uso de VT para ordena¸c˜ ao de eventos

r2

r3 r1 1 0 0

0 0 0 0 0 0

1 0 0

1 0 0

(32)

VT para ordena¸c˜ ao causal

´

e necess´ario n˜ao apenas estabelecer ordem mas garantir que foram vistas todas as mensagens que precedem causalmente determinada mensagem!

Comunica¸ao em grupo

(33)

Exemplo de entrega em ordem causal

r2

r3 r1 1 0 0

0 0 0 0 0 0

1 0 0

1 0 0

(34)

Exemplo de entrega em ordem causal

r2

r3 r1 1 0 0

0 0 0 0 0 0 1 0 0 X

Comunica¸ao em grupo

(35)

Exemplo de entrega em ordem causal

r2

r3 r1 1 0 0

0 0 0 1 0 0

(36)

Exemplo de entrega em ordem causal

r2

r3 r1 1 0 0

0 0 0 1 1 0

1 1 0 1 1 0

Comunica¸ao em grupo

(37)

Exemplo de entrega em ordem 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)

a entrega deve ser postergada at´e as mensagens anteriores serem vistas

ack’s ou reenvios sob demanda

Referências

Documentos relacionados

As mulheres travam uma história de luta por reconhecimento no decorrer do tempo sistematicamente o gênero masculino dominava o feminino, onde prevalecia a hierarquização do sexo

UNIVERSIDADE FEDERAL DO ESPÍRITO SANTO CENTRO DE EDUCAÇÃO FÍSICA E DESPORTOS. 42 Ramon Matheus dos

As abraçadeiras tipo TUCHO SIMPLES INOX , foram desenvolvidas para aplicações que necessitam alto torque de aperto e condições severas de temperatura, permitin- do assim,

Em dois estudos multicêntricos, randomizados, duplamente mascarados, veículo controlado, de grupos paralelos, envolvendo 313 pacientes, trometamol cetorolaco solução

Nelas são representados os resultados do teor de compostos fenólicos e flavonóides (Figura 1S), atividade de seqüestro de radical livre pelo método do DPPH (Figura 2S),

Ninguém quer essa vida assim não Zambi.. Eu não quero as crianças

Entre as atividades, parte dos alunos é também conduzida a concertos entoados pela Orquestra Sinfônica de Santo André e OSESP (Orquestra Sinfônica do Estado de São

Mas por momento sabemos que através dos Quadrados Mágicos acha-se os nomes das Inteligências e Espíritos Planetários, e assim sabemos que quando se faz um ritual para Marte