serviço de tempo, exclusão mútua, eleição e acordo prof. dr. norian marranghello grupo 5 anuar...

27
Serviço de tempo, Serviço de tempo, Exclusão Mútua, Exclusão Mútua, Eleição e Acordo Eleição e Acordo Prof. Dr. Norian Marranghello Prof. Dr. Norian Marranghello Grupo 5 Grupo 5 Anuar Mamede Neto Anuar Mamede Neto Eduardo Hitoshi Aoki Eduardo Hitoshi Aoki

Upload: joao-lucas-tuschinski-carreiro

Post on 07-Apr-2016

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Serviço de tempo, Exclusão Mútua, Eleição e Acordo Prof. Dr. Norian Marranghello Grupo 5 Anuar Mamede Neto Eduardo Hitoshi Aoki

Serviço de tempo, Serviço de tempo, Exclusão Mútua, Exclusão Mútua, Eleição e AcordoEleição e Acordo

Prof. Dr. Norian MarranghelloProf. Dr. Norian Marranghello

Grupo 5Grupo 5

Anuar Mamede NetoAnuar Mamede Neto

Eduardo Hitoshi AokiEduardo Hitoshi Aoki

Page 2: Serviço de tempo, Exclusão Mútua, Eleição e Acordo Prof. Dr. Norian Marranghello Grupo 5 Anuar Mamede Neto Eduardo Hitoshi Aoki

Tópicos AbordadosTópicos AbordadosServiço de TempoServiço de TempoExclusão Mútua distribuídaExclusão Mútua distribuída

- Exclusão mútua por passagem de ficha- Exclusão mútua por passagem de ficha- Exclusão mútua por disputa- Exclusão mútua por disputa- Exclusão mútua controlada- Exclusão mútua controlada- Votação- Votação- Estrutura lógica fixa- Estrutura lógica fixa- Compressão de caminho- Compressão de caminho

EleiçãoEleição- eleição do líder- eleição do líder- topologias- topologias- algoritmo de - algoritmo de BullyBully- algoritmo do convite- algoritmo do convite

AcordoAcordo- adversários- adversários- acordo bizantino- acordo bizantino- impossibilidade de consenso- impossibilidade de consenso- acordo distribuído aleatório- acordo distribuído aleatório

Page 3: Serviço de tempo, Exclusão Mútua, Eleição e Acordo Prof. Dr. Norian Marranghello Grupo 5 Anuar Mamede Neto Eduardo Hitoshi Aoki

Serviço de Tempo• Clock lógicoClock lógico

• Clock físicoClock físico

• Lamport propôs a sincronização dos clocks lógicos baseado na Lamport propôs a sincronização dos clocks lógicos baseado na relação acontecimento/anterioridade (arelação acontecimento/anterioridade (ab):b):

a = ma = mkeke {m {mieie}}PP

b = mb = mkrkr {m {mjrjr}}

a,b P a < b ab

Page 4: Serviço de tempo, Exclusão Mútua, Eleição e Acordo Prof. Dr. Norian Marranghello Grupo 5 Anuar Mamede Neto Eduardo Hitoshi Aoki

Sincronização do clock lógico

00 11 22 00 11 22

AA

BB

CC

DD

CC

DD

Page 5: Serviço de tempo, Exclusão Mútua, Eleição e Acordo Prof. Dr. Norian Marranghello Grupo 5 Anuar Mamede Neto Eduardo Hitoshi Aoki

Exclusão MútuaExclusão Mútua por passagem de ficha ou Token Ring

• Todo processo sabe quem é o próximo da seqüência

• O detentor do token pode entrar na R.C. ou passar o token

• Problemas:

- perda do token

- algum processo pára

Page 6: Serviço de tempo, Exclusão Mútua, Eleição e Acordo Prof. Dr. Norian Marranghello Grupo 5 Anuar Mamede Neto Eduardo Hitoshi Aoki

Exclusão MútuaExclusão Mútua por disputa

• Necessidade de ordenação total de todos os eventos no sistema

• A mensagem de requisição contém:

- nome da R.C. - número processo- tempo corrente

• Quando um processo recebe uma requisição de outro processo, a ação que esse processo toma depende do seu estado com relação a R.C. nomeada na mensagem:

- executando uma R.C.- não executando e não quer uma R.C.- não executando mas ainda vai executar uma R.C.

Page 7: Serviço de tempo, Exclusão Mútua, Eleição e Acordo Prof. Dr. Norian Marranghello Grupo 5 Anuar Mamede Neto Eduardo Hitoshi Aoki

Exclusão Mútua Exclusão mútua por disputa

•Se dois processos quiserem entrar na R.C. ao mesmo tempo:

AA

BB CC

AA

BB CC 1212

121288

88

88

OKOK

OKOK

AA

BB CC

OKOKOKOK

(1)(1) (2)(2) (3)(3)

1212

Page 8: Serviço de tempo, Exclusão Mútua, Eleição e Acordo Prof. Dr. Norian Marranghello Grupo 5 Anuar Mamede Neto Eduardo Hitoshi Aoki

Exclusão MútuaVotação Votação

AA

BB CC

AA

BB CC

AA

BB CC

AA

BB CC

(1)(1) (2)(2)

(3)(3) (4)(4)

88 OKOK

55

msgmsgdesistênciadesistência

Page 9: Serviço de tempo, Exclusão Mútua, Eleição e Acordo Prof. Dr. Norian Marranghello Grupo 5 Anuar Mamede Neto Eduardo Hitoshi Aoki

Exclusão MútuaVotação• Se A não estiver executando a R.C. :

• Se A estiver executando a R.C., ele espera até A terminar de usar o recurso:

AA

BB CC

Msg de conf.Msg de conf.desistênciadesistência

AA

BB CC

AA

BB CC

AA

BB CC

Muda deMuda devotovoto

Terminei o uso Terminei o uso do recursodo recurso

OKOK

Page 10: Serviço de tempo, Exclusão Mútua, Eleição e Acordo Prof. Dr. Norian Marranghello Grupo 5 Anuar Mamede Neto Eduardo Hitoshi Aoki

Exclusão Mútua Controlada

Objetivo:

Evitar sobrecarga de mensagens

Utiliza uma das estruturas topológicas:

• Estrutura em Anel

• Estrutura em Árvore

Page 11: Serviço de tempo, Exclusão Mútua, Eleição e Acordo Prof. Dr. Norian Marranghello Grupo 5 Anuar Mamede Neto Eduardo Hitoshi Aoki

Estrutura em Anel

• Processos em um anel lógico

• Simples

• Sem Bloqueios

• Justa

Page 12: Serviço de tempo, Exclusão Mútua, Eleição e Acordo Prof. Dr. Norian Marranghello Grupo 5 Anuar Mamede Neto Eduardo Hitoshi Aoki

Desvantagens:• Demora no recebimento do recurso

-Anel muito grandeAnel muito grande

-Todos processos querendo usar o recursoTodos processos querendo usar o recurso

Tenta-se correção:Tenta-se correção:

Mensagem de controle com “status”:Mensagem de controle com “status”:

-Níveis de prioridadeNíveis de prioridade

-Marcação de tempo Marcação de tempo

Page 13: Serviço de tempo, Exclusão Mútua, Eleição e Acordo Prof. Dr. Norian Marranghello Grupo 5 Anuar Mamede Neto Eduardo Hitoshi Aoki

Estrutura em ÁrvoreProcessos em um árvore dinâmica lógica

• Ponteiro para nó antecessor para nó antecessor

• Fila FIFO de requisições de recursoFila FIFO de requisições de recurso

Raiz com mensagem de controle

Page 14: Serviço de tempo, Exclusão Mútua, Eleição e Acordo Prof. Dr. Norian Marranghello Grupo 5 Anuar Mamede Neto Eduardo Hitoshi Aoki

Compressão de Caminho

• Diminui passagens de requisição;

• Aponta para processo que requisitou;

• Mapa dos outros que também requisitaram;

• Atualiza apontador após passagem de recurso.

Page 15: Serviço de tempo, Exclusão Mútua, Eleição e Acordo Prof. Dr. Norian Marranghello Grupo 5 Anuar Mamede Neto Eduardo Hitoshi Aoki

Demonstração da Compressão de Caminho

AntesAntes DepoisDepois

EE

DD

CC

BB

AA

Requisição de recurso

Processo que contem Processo que contem mensagem de controlemensagem de controle

CC

EE

BB

DD

AA

Requisição de “A” marcadaRequisição de “A” marcada

Page 16: Serviço de tempo, Exclusão Mútua, Eleição e Acordo Prof. Dr. Norian Marranghello Grupo 5 Anuar Mamede Neto Eduardo Hitoshi Aoki

Eleição• Escolha de um coordenador entre um grupo de processos

• Topologia Completa

- contato direto entre cada um dos nós de um grupo

- n.º de identificação de um processo é único e conhecido por todos

- comunicação na rede é confiável

Page 17: Serviço de tempo, Exclusão Mútua, Eleição e Acordo Prof. Dr. Norian Marranghello Grupo 5 Anuar Mamede Neto Eduardo Hitoshi Aoki

Eleição• Topologia em anel

- processos ordenados e todos sabem que é o seu respectivo sucessor

00

11

2244

55

3333

3344

NãoNãoresponderesponde

334455

3344551133

44551122

5 é o novo coordenador5 é o novo coordenador

Page 18: Serviço de tempo, Exclusão Mútua, Eleição e Acordo Prof. Dr. Norian Marranghello Grupo 5 Anuar Mamede Neto Eduardo Hitoshi Aoki

Eleição• Topologia em árvore

CC

AA

BB DD

EE FF

NN

GG

MM OO

LL

HHII JJ

CoordenadorCoordenador

Page 19: Serviço de tempo, Exclusão Mútua, Eleição e Acordo Prof. Dr. Norian Marranghello Grupo 5 Anuar Mamede Neto Eduardo Hitoshi Aoki

Eleição• Algoritmo de Bully

- Cada processo tem a sua identidade como sua prioridade.

- Maior prioridade = coordenador

- Quando processo nota falta de um coordenador, convoca eleições aos processos com prioridade maiores que o seu.

00

11

2244

55

33eleiçãoeleição

eleiçãoeleição

eleiçãoeleição

O coordenador O coordenador anterior está anterior está

fora do arfora do ar

00

11

2244

55

33

OKOK

OKOK

Page 20: Serviço de tempo, Exclusão Mútua, Eleição e Acordo Prof. Dr. Norian Marranghello Grupo 5 Anuar Mamede Neto Eduardo Hitoshi Aoki

Eleição• Algoritmo de Bully (continuação)

00

11

2244

55

33

eleiçãoeleição

00

11

2244

55

33

00

11

2244

55

33eleiçãoeleição

eleiçãoeleição

OKOK

coordenadorcoordenador

coordenadorcoordenador

coordenadorcoordenador

coordenadorcoordenador

(1)(1) (2)(2)

(3)(3)

Page 21: Serviço de tempo, Exclusão Mútua, Eleição e Acordo Prof. Dr. Norian Marranghello Grupo 5 Anuar Mamede Neto Eduardo Hitoshi Aoki

EleiçãoAlgoritmo do Convite:

- Assíncrono;

- Melhor quando existem pequenas falhas de contagem de tempo;

- Um processo “A” convida os outros se processo líder não responde;

- Os outros processos aceitam este convite em até um determinado tempo;

- Processo “A” envia sinal de pronto aos outros processos;

- Processo “A” é agora o novo coordenador.

Page 22: Serviço de tempo, Exclusão Mútua, Eleição e Acordo Prof. Dr. Norian Marranghello Grupo 5 Anuar Mamede Neto Eduardo Hitoshi Aoki

Acordo• Objetivo:

- Obter consenso de informações entre processos

• Adversário

• Falhas Bizantinas

• Impossibilidade de Consenso

• Consenso Distribuído Aleatório

Page 23: Serviço de tempo, Exclusão Mútua, Eleição e Acordo Prof. Dr. Norian Marranghello Grupo 5 Anuar Mamede Neto Eduardo Hitoshi Aoki

Adversários

- Cria situações inesperadas pelo protocolo;

- Destrói mensagens;

- Modifica mensagens;

- Seu poder é controlável;

- Não criar situações impossíveis ou irreais.

Page 24: Serviço de tempo, Exclusão Mútua, Eleição e Acordo Prof. Dr. Norian Marranghello Grupo 5 Anuar Mamede Neto Eduardo Hitoshi Aoki

Falhas BizantinasResolve problemas de “acordo”

- sistema síncrono;

- processos devem concordar pelo menos 75%;

- possibilidade de perda de mensagem ou seu corrompimento;

- não muito eficiente;

- nem útil em processadores com mal funcionamento;

- existe muita pesquisa para torna-lo eficiente;

Page 25: Serviço de tempo, Exclusão Mútua, Eleição e Acordo Prof. Dr. Norian Marranghello Grupo 5 Anuar Mamede Neto Eduardo Hitoshi Aoki

Impossibilidade de Consenso

- Sistema distribuído assíncrono;

- Sem tempo definido para receber respostas;

- Não existem algoritmos que garantem o consenso;

- Sistemas são muito desenvolvidos e utilizados;

- Sistemas reais não garantem 100% de funcionamento;

- Admitem falhas em casos raros;

- Detecção e correção de problemas é feita pelo homem.

Page 26: Serviço de tempo, Exclusão Mútua, Eleição e Acordo Prof. Dr. Norian Marranghello Grupo 5 Anuar Mamede Neto Eduardo Hitoshi Aoki

Consenso Distribuído Aleatório

Busca do consenso sem determinismo;

Aguardam, pelas respostas, um número de passos;

Utiliza conceito de memória compartilhada;

O consenso é consagrado se:

- vetor de preferências, em qualquer momento, tiver valores iguais;

Page 27: Serviço de tempo, Exclusão Mútua, Eleição e Acordo Prof. Dr. Norian Marranghello Grupo 5 Anuar Mamede Neto Eduardo Hitoshi Aoki

Problemas Admite sistema síncrono:

- associa ciclos dos processadores;

- quando ciclos iguais e preferências iguais, temos o consenso;

Algum processador falhar:- não atualiza seu número de ciclos;

- inviabiliza acordo;

Tentativa de correção:- concentram-se esforços nos processadores mais rápidos;

- apenas estes podem discordar;

- processadores mais lentos sempre concordam;