Exclusão Mútua e Eleição



Documentos relacionados
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

ALGORITMOS DISTRIBUÍDOS Algoritmos de eleição

Exclusão Mútua Distribuída

MC714 - Sistemas Distribuídos. Leandro Villas

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

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

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

Sistemas Distribuídos Coordenação

Sistemas Distribuídos Capítulo 6 - Aula 12

Sistemas Distribuídos. Aleardo Manacero Jr.

SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar

Disciplina de Sistemas Distribuídos. Sincronização em SD. Prof. M.Sc. Alessandro Kraemer Kraemer

Sistemas Distribuídos: Conceitos e Projeto Eleição de Coordenador

LaSiD/UFBA. Raimundo J. de A. Macêdo

Sistemas Distribuídos

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

ALua. asynchronous communication in Lua

UNIVERSIDADE. Sistemas Distribuídos

Sistemas Distribuídos Grupos

Multiprocessamento. Multiprocessadores com memória distribuída (multicomputador)

Grupos de Processos (Comunicação Grupal)

4. Sincronização em Sistemas Distribuídos. 4.1 Sincronização de relógio

Sistemas Distribuídos. Ricardo Ribeiro dos Santos

Tópicos em Sistemas Distribuídos. Modelos de Comunicação

Ciência de Computadores Sistemas Distribuídos e Móveis

Comunicação entre Processos

Exclusão Mútua em Sistemas Distribuídos

Sincronização em Sistemas Distribuídos

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

Sincronização em Sistemas Distribuídos

Processos e Threads (partes I e II)

Programação distribuída e paralela (C. Geyer) RPC 1

SISTEMAS DISTRIBUÍDOS

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

Sistemas Distribuídos. Introdução

Sistemas Distribuídos Aula 10

Comunicação entre processos (grupos) COMUNICAÇÃO ENTRE PROCESSOS Comunicação de grupo. Comunicação entre processos (grupos)

Arquitecturas Tolerantes a faltas em Sistemas Distribuídos

Programação Concorrente

Nomes e Endereçamento. Nomes e Endereçamento. Paradigmas em Sistemas Distribuídos. Paradigmas em Sistemas Distribuídos

Algoritmo nlog n Unidirecional (Peterson, 82)

Comunicação entre processos (grupos) COMUNICAÇÃO ENTRE PROCESSOS Comunicação de grupo. Comunicação entre processos (grupos)

5 Estudo de caso: utilizando o sistema para requisição de material

6 de Julho de Exercício 23 Para que servem portas na camada de transporte?

Remote Procedure Call. Programação distribuída e paralela (C. Geyer) RPC 1

Sincronização de Processos (5) Troca de Mensagens

Licenciatura em Engenharia Informática Sistemas Distribuídos I 2ª chamada, 6 de Julho de º Semestre, 2004/2005

MODELO CLIENTE SERVIDOR

Distributed Systems Principles and Paradigms

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

Tempo e estados globais. Tempo. Tempo. Sincronização de relógios físicos. Sincronização de relógios físicos: drift

Sistemas Distribuídos Capítulos 3 e 4 - Aula 4

Redes de Computadores Aula 3

Visão do Usuário da DSM

Maestro. Arthur Kazuo Tojo Costa Universidade Federal de São Carlos Campus Sorocaba Bacharelado em Ciência da Computação

Arquitetura e Organização de Computadores I

Conceitos de Entrada e Saída

Qualidade em Servicos de Rede Prof. Eduardo Maronas Monks Roteiro de Laboratorio Camada de Transporte Parte II

Sistemas Cliente-Servidor

Arquitetura TCP/IP. Parte IV Mapeamento de endereços IP em endereços físicos (ARP) Fabrízzio Alphonsus A. M. N. Soares

Tabela de roteamento

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

GESTÃO DE SISTEMAS E REDES CISCO DISCOVERY PROTOCOL (DCP)

Prof. Marcelo Cunha Parte 5

REDES DE COMPUTADORES I 2007/2008 LEIC - Tagus-Park TPC Nº 2. Avaliação sumária da matéria do Capítulo 2

Fundamentos de Banco de Dados

a) a soma de dois números pares é par. b) a soma de dois números ímpares é par. c) a soma de um número par com um número ímpar é ímpar.

Rede de Computadores

Tecnologia e Infraestrutura. Conceitos de Redes

Sistemas Distribuídos. Coulouris Capítulo 4

Comunicação em Sistemas Distribuídos. Conceitos: Paradigma C/S. Conceitos: Paradigma C/S. Paradigma Cliente/Servidor

Replicação baseada em software para tolerância a falhas. Bruno Miguel Silva- m2359 João Prata - a15997 Orlando Pereira - m2371

Arquitetura dos Sistemas de Informação Distribuídos

Sistemas Distribuídos: Conceitos e Projeto Introdução a Criptografia e Criptografia Simétrica

Gestão da Tecnologia da Informação

Redes de Computadores II

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

Sincronização. Tempo e Relógios. Sincronização de Relógios - Algoritmo de Cristian - Algoritmo de Berkeley - Network Time Protocol

Estrutura de Dados Pilha (Stack)

Mercado Eletrônico Instalação e Atualização MEConnect2


FAÇA FÁCIL: DRIVER IGS PARA COMUNICAÇÃO DE PROTOCOLOS PROPRIETÁRIOS INTRODUÇÃO

Segurança da Informação. Prof. Gleison Batista de Sousa

Modelos Fundamentais. Carlos Ferraz.

Considerações no Projeto de Sistemas Cliente/Servidor

Crash recovery é similar ao instance recovery, onde o primeiro referencia ambientes de instância exclusiva e o segundo ambientes parallel server.

Árvores Binárias de Pesquisa. Programação II Prof. Mateus Raeder. Árvores Binárias de Pesquisa. Árvores Binárias de Pesquisa. Classe Nodo Binário

Curso: Redes II (Heterogênea e Convergente) Tema da Aula: Controle de Congestionamento

Sistemas Distribuídos

Transcrição:

Exclusão Mútua e Eleição Prof. Raul Ceretta Nunes Curso de Ciência da Comutação ELC1018 - Sistemas Distribuídos 1

Algoritmo Centralizado a) Processo 1 solicita ermissão ao coordenador ara entrar na região crítica. Permissão é concedida. b) Processo 2 então solicita ermissão ara entrar na mesma região crítica. O coordenador não resonde. c) Quando o rocesso 1 sai da região crítica, ele informa o coordenador, que então envia OK ao rocesso 2. 2

Exemlo: servidor gerenciando token de exclusão mútua ara um gruo de rocessos Fila de requisições Server 4 2 3. Envia token 1 1. Requer token 2. Libera token 4 2 3 3

Algoritmo Distribuído Requisição contém: hnome da região crítica (ocional) ho número do rocesso htemo lógico (timestam) 4

Algoritmo Distribuído (Ricart e Agrawala) On initialization state := RELEASED; To enter the section state := WANTED; Multicast request to all rocesses; rocessamento da requisição T := request s timestam; Wait until (number of relies received = (N 1)); state := HELD; On receit of a request <T i, i > at j (i j) if (state = HELD or (state = WANTED and (T, j ) < (T i, i ))) then queue request from i without relying; else rely immediately to i ; end if To exit the critical section state := RELEASED; rely to any queued requests; 5

Algoritmo Distribuído a) Dois rocessos desejam entrar na mesma região crítica ao mesmo momento. b) Processo 0 tem menor timestam, logo ele vence. c) Quando o rocesso 0 termina, ele envia um OK e o rocesso 2 ode agora entrar na região crítica. 6

Algoritmo Distribuído (Maekawa) On initialization state := RELEASED; voted := FALSE; For i to enter the critical section state := WANTED; Multicast request to all rocesses in V i ; Wait until (number of relies received = K); state := HELD; On receit of a request from i at j if (state = HELD or voted = TRUE) then queue request from i without relying; else send rely to i ; voted := TRUE; end if For i to exit the critical section state := RELEASED; Multicast release to all rocesses in V i ; On receit of a release from i at j if (queue of requests is non-emty) then remove head of queue from k, say; send rely to k ; voted := TRUE; else voted := FALSE; end if 7

Algoritmo Token Ring a) Um gruo de rocessos desordenados sobre uma rede. b) Um anel lógico construído em software. 8

Algoritmo Token Ring 1 2 n 3 4 Token 9

Comaração dos Algoritmos Proriedades chaves: hnúmero de mensagens requerido ara um rocesso entrar e sair da região crítica hatraso que ode ocorrer antes de conseguir entrar na região crítica hsensibilidade à falhas 10

Comaração dos Algoritmos Algorithm Messages er entry/exit Delay before entry (in message times) Problems Centralized 3 2 Coordinator crash Distributed 2 ( n 1 ) 2 ( n 1 ) Token ring 1 to 0 to n 1 Crash of any rocess Lost token, rocess crash 11

Exercício 1) Avalie qual algoritmo deve ser utilizado se regiões críticas são raramente utilizadas. 1) Avalie qual algoritmo deve ser utilizado se regiões críticas são frequentemente/muito utilizadas. 12

Comentários sobre Exercícios 1) fator dominante = mecanismo de entrada 2) fator dominante = modo de esera 13

Algoritmos de Eleição 14

Algoritmo de Eleição Função hescolher um rocesso que deverá liderar ou coordenar um algoritmo distribuído. Proriedades h(e1) Segurança - um rocesso articiante i tem elected i = ou elected i = P, onde P é o escolhido como líder (não defeituoso e com maior id). h(e2) Subsistência - todos os rocesso i articiam e configuram elected i ou falham. 15

Um rocesso i não convoca mais de uma eleição or vez, mas dois rocessos i e j odem convocar concorrentemente. A eficiência do algoritmo é medida or: hnúmero de mensagens enviadas - largura de banda consumida; e htemo do ciclo do algoritmo - temo entre início e término de uma execução. 16

Algoritmo de Chang e Roberts Algoritmo de eleição baseado em anel Objetivo: eleger um coordenador, o de maior id Modelo de sistema: hnão ocorrem falhas ho sistema é assíncrono hrocesso i só conhece um vizinho (sucessor) e só se comunica com ele (envio) e com o antecessor (recebimento). Sucessor = (i+1) mod n hrocesso i não conhece id dos outros rocessos 17

Algoritmo de Chang e Roberts Notas: A eleição iniciada elo rocesso 17. 4 3 17 17 O identificador mais alto encontrado é 28. 9 24 Os rocessos articiantes são marcados mais escuro. 15 1 24 28 28 24 18

Algoritmo de Chang e Roberts Inicialização articiante falso coordenador Tarefa 1: início de uma eleição articiante verdadeiro send(eleição, id i ) ara (i+1) mod n 19

Algoritmo de Chang e Roberts Tarefa 2: quando receive(eleição, id j ) se id j > id i então articiante verdadeiro send(eleição, id j ) ara (i+1) mod n senão se id j < id i E articiante == falso então articiante verdadeiro send(eleição, id i ) ara (i+1) mod n senão % id j = id i articiante falso send(eleito, id i ) ara (i+1) mod n 20

Tarefa 3: quando receive(eleito, idj) articiante falso se id j id i então coordenador id j send(eleito, id j ) ara (i+1) mod n senão coordenador id i 21

Exercício O número de mensagens trocadas costuma ser uma das métricas de desemenho ara avaliar algoritmos distribuídos. Demonstre orquê, na ausência de concorrência, no ior caso o algoritmo baseado em anel de Chang e Roberts troca 3N-1 mensagens. 22

Resosta do Exercício A ausência de concorrência indica que aenas um rocesso disara uma eleição. O ior caso corresonde ao início da eleição elo sucessor do maior identificador. hn mensagens ELEICAO ara chegar ao futuro coordenador, que não disara a eleição or que ainda não comletou o anel. hn-1 mensagens ELEICAO ara ercorrer o anel e chegar ao coord. hn mensagens ELEITO ara concluir a eleição Resultado = 3N-1 mensagens! 23

Algoritmo de Garcia-Molina Conhecido como algoritmo do valentão - bully Modelo de sistema: hrocessos odem falhar durante eleição hcomunicação é confiável hsistema é síncrono (usa timeouts) hrocesso i conhece ID dos outros rocessos hrocesso i ode se comunicar com qualquer j 24

Algoritmo de Garcia-Molina election Eleição do coordenador P 2 aós falha de P 4 seguida de falha em P 3 Stage 1 Stage 2 1 election answer 2 answer election answer election 1 2 3 4 3 election C 4 C timeout Stage 3 1 2 3 4 Eventually... Stage 4 coordinator C 1 2 3 4 25

Variáveis de Sincronismo Num sistema síncrono são conhecidos: hatraso de transmissão máximo (T trans ) hatraso de rocessamento máximo (T rocess ) hround-tri-time (T) = 2.T trans + T rocess 26

Imortância da recisão das hióteses Considere que T não seja reseitado. Por exemlo, 3 funcionando de forma extremamente lenta (erda de sincronismo). Considere que um rocesso falho ossa ser substituído or outro com o mesmo ID e que ordem de entrega não ode ser garantida. 27