Carlos Eduardo Benevides Bezerra CMP157 CMP157 – Programação Distribuída e Paralela Algoritmo de Peterson para escolha de líder 1 CMP157 – Programação.

Slides:



Advertisements
Apresentações semelhantes
Limites de Desempenho Grupo 8.
Advertisements

Algoritmos Distribuídos
Solved Exercises 1. Finding the Peak. Let A= a1,…,an be a sequence of n numbers with the following property: there is p in {1,…,n} for which (i) the.
1 / 35 A fine granularity load balancing technique for MMOG servers using a kd-tree to partition the space Carlos Eduardo Benevides BezerraVIII SBGames,
Programa de Navegação e Comunicações para um Robot Móvel
ARQUITETURA DE COMPUTADORES II
Arquiteturas de Sistemas Distribuídos: Modelos de Comunicação
Algoritmos Distribuídos Professora: Lúcia Drummond
Instituto de Computação - UFF Detecção de Terminação Algoritmos Distribuídos Professora: Lúcia Drummond.
Capítulo 2: Modelo de Computação distribuída
Capítulo 3: Relógios lógicos
Capítulo 4: Estado Global
Algoritmos Distribuídos Professora: Lúcia Drummond
Algoritmos Distribuídos Professora: Lúcia Drummond
INTELIGÊNCIA COMPUTACIONAL PARA OTIMIZAÇÃO
Medida do Tempo de Execução de um Programa
Sistemas Distribuídos Walfredo Cirne & Fubica Brasileiro Aula 5: Modelos de Sistemas Distribuídos.
Sistemas Distribuídos
Sistemas Distribuídos Walfredo Cirne & Fubica Brasileiro Aula 5: Modelos de Sistemas Distribuídos.
Sistemas Distribuídos Sincronização e Coordenação
Carolina Fonseca Neumar Ribeiro
The Byzantine Generals Problem
Modelos Fundamentais -> Interação Falhas Segurança.
List Ranking: Um Estudo Experimental
24/05/1999Non-Blocking Atomic Commitment1 in Distributed Systems Faculdade de Ciências da Universidade de Lisboa Mestrado 98/99 Tolerância a Faltas em.
Aula T04 – BCC202 Análise de Algoritmos (Parte 2) Túlio Toffolo www
* Este material está baseado no capítulo 4 do livro An Introduction to Distributed Algorithms, Valmir C. Barbosa, MIT Press, 1996.
Tópicos em Sistemas Distribuídos
Informática Teórica Engenharia da Computação
Denis Pinheiro Teoria de Linguagens Prof. Newton José Vieira
Um Estimador Acurado para o Protocolo DFSA em Sistemas RFID
Tópicos em redes e sistemas distribuídos Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Planejamento e Solucionamento de Problemas Distribuídos
Alexandre Mota/Augusto Sampaio {acm,
1. Introdução Heitor L. Polidoro 1, Denis F. Wolf 2 Laboratório de Robótica móvel Departamento de Sistemas de Computação Instituto de Ciências Matemáticas.
Universidade da Beira Interior Processadores Fail-Stop Trabalho realizado por: Rui ferreira Nº Eng. Informática.
Universidade da Beira Interior Fiabilidade de Sistemas Informáticos Nuno Magarreiro n.º
ÁREAS DAS FIGURAS PLANAS
RMI x C# Remote Emilena Specht – 1113/01/9 2004/01
Roberto A. G. Motta sob orientação do Prof. Dr. Siang Wun Song
Robôs Autómatos - Sistema de Mecos Autómatos Realizado por: Armando Cavaleiro Tiago Roque Universidade de Aveiro Sistemas de Tempo Real.
Universidade Federal de Campina Grande Centro de Engenharia Elétrica e Informática – CEEI Departamento de Sistemas e Computação Programa de Pós-Graduação.
Bruna Rafaella da Costa Moura Silvana dos Santos Lima
Impossibility of Distributed Consensus with One Faulty Process Michael J. Fischer Nancy A. Lynch Michael S. Paterson 1985 Apresentado por Nazareno Andrade.
Técnicas de Replicação
Slide 1 Programação com Objetos Distribuídos Trabalho Leve 1 The Guardian Model and Primitives for Exception Handling in Distributed Systems Universidade.
Troca de Mensagens Programação concorrente
1 / 18 Um breve estudo da adição de um quarto nível de cache em processadores multicore Carlos Eduardo Benevides BezerraWorkshop de Processamento Paralelo.
PROGRAMAÇÃO DISTRIBUÍDA Prof. Henrique Mongelli
1 / 27 Trabalho Final de PDP – SimGrid: apresentação e aplicação de exemplo Carlos Eduardo Benevides Bezerra Programação distribuída e paralela O Simulador.
Energy-Efficient Communication Protocol for Wireless Microsensor Networks (LEACH) Wendi Heinzelman, Anantha Chandraskasan e Hari Balakrishnan Massachucets.
Performance Characterization of Descentralized Algorithms for Replica Selection in Distributed Object Systems Carlos Eduardo Benevides BezerraIvan Medeiros.
Geometria Computacional Fecho Convexo
Complexidade de Computação Katia Guimarães. Avaliando a Qualidade de um Algoritmo É preciso ter bem definido –O que é dado de entrada e –O que é esperado.
Exercícios Análise de algoritmos & Ordenação
Exercícios de Fluxo em Redes
RAISE: An Efficient RSU Aided Message Authentication Scheme in Vehicular Communication Networks RAISE: Um Eficiente Esquema de Autenticação de Mensagens.
Multilayer Failure Detection Method for Network Services Based on Distributed Components Eisuke Hirota, Kazuhiko Kinoshita, Hideki Tode, Koso Murakami,
Analise de Algoritmos e Notação Assintótica
Energy-Efficient Communication Protocol for Wireless Microsensor Networks (LEACH) Wendi Heinzelman, Anantha Chandraskasan e Hari Balakrishnan Massachucets.
Geração de Spanning Tree Mínima Algoritmo GHS Algoritmos Distribuídos - Lynch Vicente Carvalho.
SrcRR Rafael Lopes Bezerra Universidade Federal do Rio de Janeiro COPPE - UFRJ CPE Roteamento em Redes de Computadores.
Mestrando Gabriel G. Detoni Orientador Prof. Dante Barone Controle para Futebol de Robôs Utilizando Processamento Paralelo Seminário de Andamento.
Redes II Sistemas Distribuídos
Jorge Zavaleta PVM vs MPI. Introdução Objetivos do MPI Implementações e definições processos dinâmicos Contextos Operações não bloqueantes Portabilidade,heterogeneidade.
Comunicação Assíncrona em Equipes Distribuídas: Requisitos e Meios Utilizados Cleyton Carvalho da Trindade Universidade Federal de.
Ordenação Professor Paulo Gomide 27 de outubro de 2015.
Comportamento Assintótico
Transcrição da apresentação:

Carlos Eduardo Benevides Bezerra CMP157 CMP157 – Programação Distribuída e Paralela Algoritmo de Peterson para escolha de líder 1 CMP157 – Programação Distribuída e Paralela Algoritmo de Peterson para escolha de líder Gary L. Peterson University of Rochester (An O(n log n) Unidirectional Algorithm for the Circular Extrema Problem ACM Transactions on Programming Languages and Systems, Vol. 4, No. 4, October 1982, Pages ) Carlos Eduardo Benevides Bezerra Universidade Federal do Rio Grande do Sul Instituto de Informática

Carlos Eduardo Benevides Bezerra CMP157 CMP157 – Programação Distribuída e Paralela Algoritmo de Peterson para escolha de líder 2 O problema: eleição de líder Dado n processos em um anel (cada nó comunica-se apenas com seus vizinhos), o problema de eleger um líder é o de escolher um processo máximo (ou mínimo).

Carlos Eduardo Benevides Bezerra CMP157 CMP157 – Programação Distribuída e Paralela Algoritmo de Peterson para escolha de líder 3 Contexto LeLann obteve uma solução que requeria O(n²) mensagens Chang e Roberts propuseram uma solução com O(n log n) mensagens no caso médio, mas O(n²) no pior caso Hirschber e Sinclair: solução com O(n log n) mensagens, bidirecional. Hirschber e Sinclair: especulação sobre possível limite inferior de Ω(n²) mensagens no caso unidirecional Peterson propõe então uma solução com O(n log n) mensagens, com comunicação unidirecional e otimal.

Carlos Eduardo Benevides Bezerra CMP157 CMP157 – Programação Distribuída e Paralela Algoritmo de Peterson para escolha de líder 4 Características Cada processo tem um valor único Tais valores podem ser transmitidos e comparados Todos processos são idênticos, exceto pelo seu valor O número n de processos é desconhecido a princípio Algoritmo “naturalmente assíncrono” –Sincronização é obtida através dos receives bloqueantes

Carlos Eduardo Benevides Bezerra CMP157 CMP157 – Programação Distribuída e Paralela Algoritmo de Peterson para escolha de líder 5 Algoritmo básico Processos divididos em: –Active (executa o algoritmo) –Relay (apenas repassa as mensagens) –Qualquer um destes dois pode detectar o término e ser eleito Algoritmo dividido em fases –A cada fase, o número de processos ativos é dividido por 2 –Número máximo de fases:  log 2 (n)  Consiste numa simulação unidirecional de um algoritmo bidirecional: –A cada fase, cada processo i verifica se seu id i é o Max (id i-1, id i, id i+1 ) –Se não for, o processo i sai do modo Active

Carlos Eduardo Benevides Bezerra CMP157 CMP157 – Programação Distribuída e Paralela Algoritmo de Peterson para escolha de líder 6 Algoritmo bidirecional - I

Carlos Eduardo Benevides Bezerra CMP157 CMP157 – Programação Distribuída e Paralela Algoritmo de Peterson para escolha de líder 7 Algoritmo bidirecional - II

Carlos Eduardo Benevides Bezerra CMP157 CMP157 – Programação Distribuída e Paralela Algoritmo de Peterson para escolha de líder 8 Algoritmo bidirecional - III

Carlos Eduardo Benevides Bezerra CMP157 CMP157 – Programação Distribuída e Paralela Algoritmo de Peterson para escolha de líder 9 Algoritmo bidirecional - IV

Carlos Eduardo Benevides Bezerra CMP157 CMP157 – Programação Distribuída e Paralela Algoritmo de Peterson para escolha de líder 10 Algoritmo bidirecional - V

Carlos Eduardo Benevides Bezerra CMP157 CMP157 – Programação Distribuída e Paralela Algoritmo de Peterson para escolha de líder 11 Algoritmo bidirecional - VI

Carlos Eduardo Benevides Bezerra CMP157 CMP157 – Programação Distribuída e Paralela Algoritmo de Peterson para escolha de líder 12 Algoritmo bidirecional - VII

Carlos Eduardo Benevides Bezerra CMP157 CMP157 – Programação Distribuída e Paralela Algoritmo de Peterson para escolha de líder 13 Algoritmo bidirecional - VIII

Carlos Eduardo Benevides Bezerra CMP157 CMP157 – Programação Distribuída e Paralela Algoritmo de Peterson para escolha de líder 14 Algoritmo – tid e processos Relay Cada processo possui um tid (id temporário) –O valor inicial de tid i é id i (id real) A cada fase, cada processo relay i executa: –recebe mensagem m do vizinho de trás Verifica se m é o id i (terminaria o algoritmo) –repassa m ao vizinho da frente

Carlos Eduardo Benevides Bezerra CMP157 CMP157 – Programação Distribuída e Paralela Algoritmo de Peterson para escolha de líder 15 Algoritmo – processo Active A cada fase, cada processo ativo i executa: –envia seu tid i ao vizinho da frente –recebe tid i-1 do vizinho de trás Verifica se o valor recebido é id i (terminaria) –envia Max(tid i-1, tid i ) ao vizinho da frente –recebe Max(tid i-2, tid i-1 ) do vizinho de trás Verifica se o valor recebido é o id i (terminaria) –se tid i-1 = Max(tid i, tid i-1, tid i-2 ), então: tid i ← tid i-1 senão: processo i torna-se relay

Carlos Eduardo Benevides Bezerra CMP157 CMP157 – Programação Distribuída e Paralela Algoritmo de Peterson para escolha de líder 16 Exemplo de execução - I

Carlos Eduardo Benevides Bezerra CMP157 CMP157 – Programação Distribuída e Paralela Algoritmo de Peterson para escolha de líder 17 Exemplo de execução - II

Carlos Eduardo Benevides Bezerra CMP157 CMP157 – Programação Distribuída e Paralela Algoritmo de Peterson para escolha de líder 18 Exemplo de execução - III

Carlos Eduardo Benevides Bezerra CMP157 CMP157 – Programação Distribuída e Paralela Algoritmo de Peterson para escolha de líder 19 Exemplo de execução - IV

Carlos Eduardo Benevides Bezerra CMP157 CMP157 – Programação Distribuída e Paralela Algoritmo de Peterson para escolha de líder 20 Exemplo de execução - V

Carlos Eduardo Benevides Bezerra CMP157 CMP157 – Programação Distribuída e Paralela Algoritmo de Peterson para escolha de líder 21 Exemplo de execução - VI

Carlos Eduardo Benevides Bezerra CMP157 CMP157 – Programação Distribuída e Paralela Algoritmo de Peterson para escolha de líder 22 Exemplo de execução - VII

Carlos Eduardo Benevides Bezerra CMP157 CMP157 – Programação Distribuída e Paralela Algoritmo de Peterson para escolha de líder 23 Análise de complexidade Para cada processo que sobrevive a uma fase, pelo menos um outro não sobreviverá –Seja a seqüência a 1, a 2, K, p 1, p 2 (distintos): K = Max(a2, K, p1) equivale a a2 < Max(a1, a2, K) e p1 < Max(K, p1, p2) –Isso faz com que, no mínimo, metade dos processos sejam descartados a cada fase –Tem-se, então log 2 (n) fases, no máximo Cada processo (tanto relay quanto active), a cada fase, envia duas mensagens –Tem-se então, 2n = O(n) mensagens a cada fase –Total de 2n × log 2 (n) mensagens, ou seja, O (n log n)

Carlos Eduardo Benevides Bezerra CMP157 CMP157 – Programação Distribuída e Paralela Algoritmo de Peterson para escolha de líder 24 Conclusões O algoritmo de Peterson consegue melhorar a complexidade de mensagens num anel unidirecional por simular um algoritmo de anel bidirecional. Esse mesmo princípio básico (simulação de recursos não disponíveis) poderia ser usado para melhorar outros algoritmos em situações parecidas. Conseguiu-se uma complexidade assintótica otimal. Todos as melhorias realizadas posteriormente tem complexidade de comunicação proporcional a (n log n).

Carlos Eduardo Benevides Bezerra CMP157 CMP157 – Programação Distribuída e Paralela Algoritmo de Peterson para escolha de líder 25 Referências PETERSON, Gary L., An O(n log n) Unidirectional Algorithm for the Circular Extrema Problem, ACM Transactions on Programming Languages and Systems, Vol. 4, No. 4, October 1982, Pages LYNCH, Nancy A., SHAMIR, Boaz P., Distributed Algorithms, Lecture Notes for 6.852, Fall 1992; January, 1993.