Sistemas Distribuídos Capítulo 6 - Aula 12

Documentos relacionados
Sistemas Distribuídos

MC714 - Sistemas Distribuídos. Leandro Villas

Sistemas Distribuídos

Sincronização em Sistemas Distribuídos

SISTEMAS DISTRIBUÍDOS

Desenvolvimento de Aplicações Distribuídas

Exclusão Mútua Distribuída. Algoritmos para eleição de um coordenador ou líder. UBI, DI, Paula Prata SDTF T04 1

Exclusão Mútua Distribuída. Algoritmos para eleição de um coordenador ou líder. UBI, DI, Paula Prata SDTF T04 1

Sistemas Distribuídos. 7 Coordenação e Acordo. Coordenação e Acordo. Prof a Ana Cristina B. Kochem Vendramin DAINF / UTFPR

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Roteiro. Introdução Sincronização de Relógio Físico Sincronização de Relógio Lógico Exclusão Mútua

Sistemas Distribuídos

Algoritmos Distribuídos (exclusão mútua) ALGORITMOS DISTRIBUÍDOS Exclusão mútua. Algoritmos Distribuídos (exclusão mútua)

Algoritmos Distribuídos (deadlock) ALGORITMOS DISTRIBUÍDOS Deadlock. Algoritmos Distribuídos (deadlock) Algoritmos Distribuídos (deadlock)

2) Em relação aos algoritmos de sincronização de relógios:

Relógio Lógico Algoritmo de Lamport. Relógio Lógico Algoritmo de Lamport. Relógio Físico Algoritmo Centralizado. Relógio Físico Algoritmo Centralizado

Sistemas Distribuídos Aula 17

Sistemas Distribuídos Exclusão Mútua. Edeyson Andrade Gomes

Sistemas Distribuídos. Ricardo Ribeiro dos Santos

Sistemas Distribuídos. Ricardo Ribeiro dos Santos

Sincronização em Sistemas Distribuídos

Sincronização. Sincronização de Relógios. Relógios Físicos

Faculdade de Informática - PUCRS. Sistemas Distribuídos 2. Faculdade de Informática - PUCRS. Sistemas Distribuídos 4. Faculdade de Informática - PUCRS

Sistemas Distribuídos

ALGORITMOS DISTRIBUÍDOS Algoritmos de eleição

Sistemas Distribuídos Capítulo 8 - Aula 13

Sistemas Distribuídos. Capítulo 6 - Aula 10

Sistemas Distribuídos Capítulo 8 - Aula 15

Exclusão Mútua e Eleição

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

Sistemas Distribuídos Capítulo 8 - Aula 14

Sincronização. Fernando Silva DCC-FCUP. Fernando Silva (DCC-FCUP) Sincronização 1 / 45

Sistemas Distribuídos

Universidade Estadual Paulista Serviços de Tempo, exclusão mútua, eleição e acordo

SISTEMAS DISTRIBUÍDOS

Sincronização e Concorrência

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas Distribuídos Capítulo 5 - Aula 8

APLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar

Sistemas Distribuídos Aula 19

Eleição de Líder. Alysson Neves Bessani Departamento de Informática Faculdade de Ciências da Universidade de Lisboa

Sistemas Distribuídos Estados globais. Vinícius Fernandes Soares Mota

Sistemas Distribuídos Aula 15

Tempo e sincronização

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas Distribuídos Capítulo 6 - Aula 10

Rede de computadores Cliente- servidor. Professor Carlos Muniz

Sincronização e Comunicação entre Processos. Adão de Melo Neto

Sistemas Distribuídos: Conceitos e Projeto Resiliência de Processos

ALGORITMOS DISTRIBUÍDOS Deadlock

Tempos e Estados Globais. ECO036 - Sistemas Paralelos e Distribuídos

Aluísio Augusto Silva Gonçalves 17 de maio de 2018

Programação Distribuída. Arquiteturas

Sistemas Distribuídos Aula 16

Sistemas Distribuídos

Análise e Modelagem de Algoritmos para Eleição de Líder em Sistemas Distribuídos

Sistemas Distribuídos. Aleardo Manacero Jr.

Estados globais. Capítulo 10: Visão geral. Estados globais. Estados globais. Estados globais. Estados globais

Roteiro... Sistemas Distribuídos Aula 4. Troca de mensagens. Comunicação entre processos. Conceitos de SD, vantagens e desvantagens

Gerência de Tecnologia da Informação e Inteligência Estratégica. Gestão Integrada de Demandas

Comunicação orientada a mensagens

Ordenação. Sistemas Distribuídos e Tolerância a Falhas. Universidade da Beira Interior 07/08

TP308 Introdução às Redes de Telecomunicações

Controle de acesso ao meio

Sincronização e Comunicação entre Processos

Cap. 06 Sincronização

Sincronização de Relógios e Relógios Lógicos. Histórico da comunicação. Tempo Global. Mecanismos de ordenação total

Programação de Sistemas Distribuídos e Concorrência

Sistemas Operacionais Aula 09: Deadlocks / Impasses. Ezequiel R. Zorzal

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Exclusão Mútua em Sistemas Distribuídos

Programação Concorrente Locks

Ordenação. Relógios lógicos

Sincronização e Comunicação entre Processos. Adão de Melo Neto

SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar

Deadlock. Um problema de concorrência. Parte dos slides: Sistemas Operacionais Modernos 2ª Edição, Pearson Education

Sistemas Distribuídos

Comunicação em tempo real

Fundamentos de Sistemas Operacionais

Comunicação de Grupo: Disfusão Confiável e Atômica

Sistemas de Arquivos Distribuídos. Bruno M. Carvalho Sala: 3F2 Horário: 35M34

Arquiteturas. Capítulo 2

Redes de Computadores I

falhas em sistemas distribuídos

Desenvolvimento de Aplicações Distribuídas

1- Replicação de Dados - A replicação de dados permite lidar com falhas ao nível dos nós que impeçam o acesso

Computação Distribuída

Uma equipe forte: DocuWare e Microsoft Outlook

SSC0611 Arquitetura de Computadores

1- Replicação de Dados - A replicação de dados permite lidar com falhas ao nível dos nós que impeçam o acesso

Sistemas Distribuídos

SSC0640 Sistemas Operacionais I

Sistemas Distribuídos. Plano de Curso. Plano de Curso 04/03/12 ! EMENTA:

BARRAMENTOS. Adão de Melo Neto

Fundamentos de Sistemas Operacionais

Redes de Computadores I Licenciatura em Eng. Informática e de Computadores 1 o Semestre, 6 de Janeiro de o Teste A

Sistema de autenticação Uma visão geral do funcionamento do protocolo Kerberos

SSC0112 Organização de Computadores Digitais I

Transcrição:

Sistemas Distribuídos Capítulo 6 - Aula 12 Aula Passada Relógios Lógicos Relógios de Lamport Relógios Vetoriais Aula de hoje Exclusão Mútua Algoritmos de Eleição 1

Exclusão Mútua - Questão fundamental em SDs: Concorrência e colaboração entre vários processos Processos vão precisar acessar simultaneamente os mesmos recursos Para evitar que acessos concorrentes corrompam o recurso ou o tornem inconsistente acesso mutuamente exclusivos

Exclusão Mútua - Duas categorias diferentes: Soluções baseadas token: Passagem de uma mensagem especial entre os processos Token Com posse do token, o recurso pode ser acessado Ao término, token é repassado Evita starvation e deadlocks Problema: perda do token

Exclusão Mútua - Duas categorias diferentes: Soluções baseadas em permissão: Ao acessar um recurso, o processo primeiramente deve solicitar permissão aos outros processos Algoritmo Centralizado e algoritmo de Ricart e Agrawala (1981)

Exclusão Mútua Algoritmo Centralizado Modo mais direto de conseguir exclusão mútua: simular sistema monoprocessador Coordenador (Líder): sempre que um processo quiser acessar um recurso compartilhado, envia uma mensagem de requisição ao líder se nenhum outro processo estiver acessando o recurso, líder devolve uma resposta, concedendo permissão caso exista um processo acessando o recurso, pedido deverá ser armazenado em uma fila

Exclusão Mútua Algoritmo Centralizado

Exclusão Mútua Algoritmo Centralizado Algoritmo centralizado garante exclusão mútua: coordenador permite o acesso de um processo por vez ao recurso justo, dado que as permissões são concedidas na ordem em que as requisições foram recebidas fácil de implementar: requer somente três mensagens por utilização de recurso (requisição, concessão, liberação) problema: coordenador é um único ponto de falha; como identificar um coordenador inativo de uma permissão negada.

Exclusão Mútua Algoritmo Distribuído Ricart e Agrawala (1981): melhoria do algoritmo proposto por Lamport (1978) Ordenação total de todos os eventos do sistema aplicação do algoritmo de Lamport

Exclusão Mútua Algoritmo Distribuído Quando um processo quer acessar um recurso compartilhado: monta mensagem que contém o nome do recurso, seu número de processo e a hora corrente envia a mensagem a todos os outros processos premissa: mensagens não se perdem

Exclusão Mútua Algoritmo Distribuído Quando um processo recebe uma mensagem: se o receptor não estiver acessando o recurso e não quiser acessá-lo: mensagem de OK se o receptor já tiver acesso ao recurso, não responde e coloca a requisição em uma fila se o receptor também quiser acessar o recurso, compara a marca da msg recebida com a marca da msg que enviou para todos. A msg com marca menor vence. Caso a marca da msg que chegou seja menor, envia OK. Caso contrário, enfileira a requisição

Exclusão Mútua Algoritmo Distribuído Após enviar requisições para permissão ao acesso a um recurso, processo espera pela permissão de todos os outros processos. Com todas as permissões, acessa o recurso e logo após tenha utilizado este recurso envia mensagem de OK para todos os processos que estão em sua fila e os remove.

Exclusão Mútua Algoritmo Distribuído

Exclusão Mútua Algoritmo Distribuído Algoritmo Distribuído: exclusão mútua é garantida sem starvation e deadlock número de mensagens para cada pedido de permissão é de 2(n-1), onde o número total de processos no sistema é n problema: n pontos de falha se qualquer processo falhar, não responderá as requisições, que será interpretada, de maneira incorreta como recusa!

Exclusão Mútua Algoritmo Distribuído Algoritmo Distribuído: recusa ou falha? quando uma requisição chega, o receptor sempre envia uma resposta, seja concedendo ou recusando permissão Sempre que uma requisição ou uma resposta se perde, o remetente esgota a temporização de espera e continua tentando até que uma resposta volte ou que o remetente conclua que o destinatário está morto

Exclusão Mútua Algoritmo Distribuído Algoritmo Distribuído: maior número de mensagens trocadas maior probabilidade de falhas possível gargalho em todos os processos Importante para mostrar que, apesar das desvantagens, é possível ter um algoritmo distribuído que efetivamente promove a exclusão mútua

Exclusão Mútua Token Ring Exclusão mútua por esquemas determinísticos em um SD anel lógico é construído em software e a cada processo é designada uma posição no anel cada processo deve saber quem deve receber o token

Exclusão Mútua Token Ring Quando o anel é inicializado, o processo 0 recebe o token O token é repassado do processo k para o k+1, através de msgs ponto-a-ponto Quando um processo recebe o token, verifica se precisa acessar o recurso compartilhado acessa o recurso e repassa o token ao próximo processo caso contrário, simplesmente repassa o token

Exclusão Mútua Token Ring Corretude do algoritmo: só um processo tem o token a qualquer instante starvation é evitado Problemas se o token se perder, deve ser gerado novamente se um processo falha, este pode ser removido do grupo e o token é repassado para o próximo vizinho lógico

Exclusão Mútua Comparações

Algoritmos de Eleição Muitos algoritmos distribuídos requerem que um processo aja como coordenador No caso de processos iguais (sem característica distintiva), consideramos que cada um deles possui um número exclusivo. Em geral, algoritmos de eleição tentam localizar o processo que tenha o identificador mais alto, sendo este escolhido como coordenador Vamos considerar que todo processo sabe qual é o número de processo de todos os outros. O que não se sabe é quais estão funcionando e quais estão inativos Ao final, todos os processos devem concordar com o a escolha do novo líder (ou coordenador)

Algoritmos de Eleição Algoritmo do valentão (Bully) Proposto por Garcia-Molina (1982) Quando qualquer processo nota que o líder não está mais respondendo a requisições, ele inicia uma nova eleição. Processo P convoca uma eleição: (1) P envia msg de eleição para todos os processos com IDs maiores (2) Se ninguém responde, P vence eleição e torna-se coordenador (3) Se algum processo com ID maior responde, ele desiste. Quando processo recebe msg de eleição de membros com ID mais baixa Envia OK para remetente para indicar que está vivo e convoca eleição

Algoritmos de Eleição Algoritmo do valentão (Bully) Eventualmente todos os processos desistem menos um: novo coordenador Se processo que estava indisponível volta, inicia eleição Se for processo com maior ID, vence e toma coordenação Maior cara da cidade sempre vence: algoritmo do valentão

Algoritmos de Eleição Algoritmo do valentão (Bully)

Algoritmos de Eleição Algoritmo de anel Não utiliza token Quando qualquer processo nota que o coordenador não está funcionando, monta uma mensagem ELEIÇÃO, com o seu próprio número de processo, e envia ao seu sucessor Caso o sucessor tenha caído, o remetente segue até achar o próximo processo em funcionamento Ao longo do caminho, cada processo adiciona o seu número a lista na msg Ao retornar a origem, líder é definido (maior de todos os processos na lista) e msg COORDENADOR é enviada, com o novo líder e a lista de processos em funcionamento

Algoritmos de Eleição Algoritmo de anel