• Nenhum resultado encontrado

Eleição de leader e Exclusão Mútua

N/A
N/A
Protected

Academic year: 2021

Share "Eleição de leader e Exclusão Mútua"

Copied!
10
0
0

Texto

(1)

Eleição de leader e Exclusão Mútua

November 27, 2009

Sumário

Leader Election

(2)

Leader Election

O problema muitos algoritmos distribuídos pressupõem que um determinado processo desempenha um papel especial

Por exemplo, o algoritmo centralizado que garante exclusão mútua.

Solução proceder à eleição de um leader /coordenador:

I Uma vez concluída a eleição todos os processos activos sabem qual é o leader /coordenador.

I Este problema não tem solução em sistemas assíncronos com avarias. Porquê?

Leader Election: Pressupostos

1. Cada processo que participa na eleição tem um identificador que o distingue dos restantes

I P.ex. o endereço IP do computador onde executa.

2. Cada processo conhece o identificador dos restantes processos.

I O que cada processo desconhece são os processos

(3)

Bully Algorithm de Garcia-Molina (1/2)

I Quando um processo P detecta que o coordenador está inactivo, inicia uma eleição:

1. P envia uma mensagem ELECTION a todos os processos cujo identificador é maior do que o seu.

2. Se nenhum processo responde, P ganha a eleição.

3. Se um processo, cujo identificador é maior do que o de P responde ao desafio, P desiste.

I Sempre que um processo recebe uma mensagem

ELECTION dum processo cujo identificador é menor do que o seu, aceita o desafio:

1. responde ao processo que lhe enviou a mensagem;

2. “inicia” ele mesmo nova eleição, a menos que já tenha uma em curso.

I Sempre que um processo é reactivado, inicia uma eleição.

Bully Algorithm de Garcia-Molina (2/2)

I Eventualmente, todos os processos desistem, menos um -o n-ov-o c-o-ordenad-or. 1 2 4 0 5 6 3 7 1 2 4 0 5 6 3 7 1 2 4 0 5 6 3 7 1 2 4 0 5 6 3 7 Election Election Election Election OK OK Previous coordinator has crashed Election Election 1 2 4 0 5 6 3 7 OK Coordinator (a) (b) (c) (d) (e)

(4)

Leader Election in a Ring(1/2)

I Assume-se que os processos estão dispostos, fisica ou

logicamente, em anel.

I Um processo inicia uma eleição, construindo uma mensagem ELECTION, que inclui a sua identidade, e passa-a ao seu sucessor.

I Um processo que recebe uma mensagem ELECTION acrescenta a sua identidade à mensagem,

candidatando-se.

I Eventualmente a mensagem dá a volta regressando ao processo que a criou, o qual a altera para uma mensagem COORDINATOR que circula de novo ao longo do anel. I O leader é o processo listado na mensagem

COORDINATOR com o maior identificador.

Leader Election in a Ring(2/2)

I O algoritmo funciona mesmo no caso de execuções concorrentes: 1 0 5 4 7 6 3 2 [2] [2,3] [5,6] [5,6,0] [5] Election message No response Previous coordinator has crashed

I Alguns pormenores por apresentar: I Como se forma o anel?

I Como se mantém o anel na presença de avarias ou

(5)

Exclusão Mútua

O problema garantir exclusão mútua na execução duma secção crítica por processos num sistema distribuído

i.e., sem partilha de memória.

Solução várias:

I algoritmo centralizado; I algoritmo distribuído; I algoritmo em aneis.

Exclusão Mútua: Algoritmo Centralizado (1/3)

I Um processo, o coordenador, mantém o estado das secções críticas dum mesmo conjunto:

I pode ser eleito usando um dos algoritmos acima. I Um processo:

I antes de entrar numa secção crítica:

I envia um pedido de autorização ao coordenador;

I espera pela autorização.

I depois de sair duma secção crítica, notifica o coordenador

(6)

Exclusão Mútua: Algoritmo Centralizado (2/3)

(a) (b) (c) 0 1 0 1 0 1 3 3 3 2 2 2 2

Request OK Request Release

OK Coordinator Queue is empty No reply I O coordenador:

I Quando recebe um pedido de autorização:

I Responde imediatamente, se conjunto livre.

I Insere o pedido numa fila, caso contrário.

I Quando recebe uma notificação:

I Actualiza o estado do conjunto, se não houver qualquer

processo à espera.

I Responde ao primeiro processo na fila, caso contrário.

Exclusão Mútua: Algoritmo Centralizado (3/3)

+ Simples: fácil de provar correcção.

+ Fácil de implementar.

? Justo: todos processos tratados da mesma maneira.

- Depende dum coordenador:

I E se o coordenador falha? I Impossibilidades teóricas.

(7)

Exclusão Mútua: Algoritmo Distribuído (1/3)

I De Lamport, e optimizado por Ricar e Agrawala.

I Assume:

I que há uma ordem total dos eventos no sistema:

I Usar par (Lamport timestamp, process id).

I que a comunicacão é fiável.

I Um processo que quer entrar numa secção crítica difunde uma mensagem especificando:

I a identidade do processo; I a secção crítica;

I a Lamport timestamp.

Exclusão Mútua: Algoritmo Distribuído (2/3)

I Quando um processo recebe uma mensagem de outro a sua acção depende do estado em que se encontra:

dentro duma secção crítica coloca a mensagem numa fila para posterior processamento;

a tentar entrar numa secção crítica compara a timestamp da mensagem recebida com aquela da mensagem que transmitiu:

I se menor, responde OK ;

I senão, coloca a mensagem numa fila para posterior

processamento.

caso contrário (não está numa secção crítica nem pretende entrar) responde OK.

I Um processo só pode entrar na secção crítica depois de receber uma mensagem OK dos restantes processos. I Quando um processo sai da sua secção crítica, envia uma

(8)

Exclusão Mútua: Algoritmo Distribuído (3/3)

0 0 0 1 2 1 2 1 2 8 8 8 12 12 12 OK OK OK OK Accesses resource Accesses resource (a) (b) (c)

I O algoritmo assegura que a entrada nas secções críticas é feita por ordem das Lamport timestamps modificadas:

I estas timestamps têm uma ordem total;

I Em comparação com o algoritmo centralizado este algoritmo é:

I menos tolerante a falhas; I menos eficiente;

I mais complicado.

Exclusão Mútua: Token Ring (1/2)

1 0 0 2 3 4 5 6 7 2 4 3 7 1 6 5 (a) (b) I A ideia é:

I formar um anel de processos (físico ou lógico);

I fazer circular uma mensagem especial, o token, neste anel; I quando um processo recebe o token:

I se pretende entrar na secção crítica, entra e quando sair

passa o token ao processo seguinte;

(9)

Exclusão Mútua: Token Ring (2/2)

I Se o token se perder há que o regenerar:

I Detectar a perda do token nem sempre é fácil.

I Avaria dum processo pode também conduzir à perda do token, a menos que:

I haja confirmação da recepção do token;

I a configuração do anel seja conhecida de todos os seus

membros.

I É o algoritmo básico por trás dos algoritmos de controlo de acesso ao meio baseados em tokens:

I estes algoritmos são usados para garantir o acesso ao

meio em exclusão mútua.

Exclusão Mútua: Comparação dos Algoritmos

Algorithm Messages per

entry/exit

Delay before entry (in message times)

Problems

Centralized 3 2 Coordinator crash

Distributed 2(n − 1) 2(n − 1) Crash of any pro-cess

Token ring 1 to ∞ 0 to n − 1 Lost token, process crash

I Assume-se canais de comunicação ponto-a-ponto. I O algoritmo centralizado é não só mais simples, mas

também mais eficiente.

I O atraso assume que não há conflito.

I Qualquer dos algoritmos é pouco robusto em relação a avarias.

(10)

Leitura Adicional

I Capítulo 6 de Tanenbaum e van Steen, Distributed Systems, 2nd Ed.

I Secção 6.5: Election Algorithms I Secção 6.3: Mutual Exclusion

Referências

Documentos relacionados

Trabalhamos aqui com distribuição de renda no senti- do estatístico, incluindo tanto mudanças na desigualdade como no crescimento da renda domiciliar per capita2. A análise

À luz dos ensinamentos da Proposta Teórico-metodológica da Variação e Mudança Linguística, de linha laboviana, a análise da realização do sujeito no português europeu, em

Fruto de um trabalho colaborativo, estimulado pela Coordenação de Bibliotecas através da Seção de Processamento Técnico, a coleção “Padrão para inserção de dados na

Deep Brain Stimulation In The Nucleus Accumbens For Refractory Deep Brain Stimulation In The Nucleus Accumbens For Refractory Anorexia Nervosa.

Como verificado para o nitrogênio, no caso do fósforo também se observa que, quanto maiores os teores foliares, maiores foram os valores do macronutriente exportado com a

Eu entendo que participarei como sujeito do estudo intitulado ‘’Comportamento da percepção de esforço a cada repetição em séries de força em diferentes

Além da limpeza, a qual é um dos principais mantenedores da qualidade do piso, é de suma im- portância manter o tratamento inicial que as placas receberam após o

• Diferenciar os princípios físicos da formação da imagem em radiologia convencional e contrastada, ultrassonografia, tomografia computadorizada, ressonância magnética,