Upload
luis-carlos
View
8
Download
0
Tags:
Embed Size (px)
Citation preview
+Sistemas Distribudos Engenharia da Computao
Aula 10 Excluso Mtua, Coordenao e Acordo
ALGORITMOS DISTRIBUDOS
Prof. Jairson Rodrigues Universidade Federal do Vale do So Francisco
21/08/13 CCMP0054 - Sistemas Distribudos I - Engenharia da Computao - Prof. Jairson Rodrigues
2
Introduo Modelos de Sistemas Comunicao entre Processos Invocao Remota Comunicao Indireta Suporte do S.O.
Fundamentos
Servios Web Sistemas Peer-to-Peer
Middleware
Servios de Nome Sistemas de Arquivo Distribudos
Servios do Sistema Tempo e Estados Globais Coordenao e Acordo
Algoritmos Distribudos
Controle de Concorrncia Transaes Distribudas
Dados Compartilhados Computao em Nuvem Virtualizao Computao Ubqua e Pervarsiva Universal Description, Discovery and Integration - UDDI Servios de Autenticao Oauth Sistemas Multimdia Distribudos Arquitetura Orientada a Servios SOA Universal Description, Discovery and Integration - UDDI
Seminrios
O Sistema Distribudo GOOGLE
Estudo de Caso
Roteiro
21/08/13 CCMP0054 - Sistemas Distribudos I - Engenharia da Computao - Prof. Jairson Rodrigues
3
Fundamentos Middleware
Servios de Nome Sistemas de Arquivo Distribudos
Servios do Sistema Tempo e Estados Globais Coordenao e Acordo
Algoritmos Distribudos
Controle de Concorrncia Transaes Distribudas
Dados Compartilhados Computao em Nuvem Virtualizao Computao Ubqua e Pervarsiva Universal Description, Discovery and Integration - UDDI Servios de Autenticao Oauth Sistemas Multimdia Distribudos Arquitetura Orientada a Servios SOA Universal Description, Discovery and Integration - UDDI
Seminrios
O Sistema Distribudo GOOGLE
Estudo de Caso
Aula de Hoje
Servios Web Sistemas Peer-to-Peer
Introduo Modelos de Sistemas Comunicao entre Processos Invocao Remota Comunicao Indireta Suporte do S.O.
+AGENDA Excluso Mtua
Algoritmo Centralizado
Algoritmo Descentralizado
Algoritmo Distribudo
Algoritmo Token Ring
Algoritmos de Eleio
ALGORITMOS DISTRIBUDOS
Aula 10 Excluso Mtua, Coordenao e Acordo
+Excluso Mtua
n Concorrncia e colaborao so pontos chave em sistemas distribudos
n Em muitos casos processos precisam acessar os mesmos recursos
n preciso evitar que recursos fiquem corrompidos ou inconsistentes
n Garantir acesso mutuamente exclusivo a recursos pelos processos
21/08/13 CCMP0054 - Sistemas Distribudos I - Engenharia da Computao - Prof. Jairson Rodrigues
5
+Problemas de Sincronizao em SDs
nAlgoritmos de sincronizao de tempo n Algoritmo de Cristian, Algoritmo de Berkeley, Algoritmo de
Lamport
nPara tratamento de excluso mtua e deadlocks n Algoritmos de Ficha, Algoritmo Centralizado, Algoritmo
Descentralizado, Algoritmo Distribudo, Algoritmo Token Ring
nCoordenao de acesso a regies crticas - Algoritmos de Eleio n Algoritmo do Valento (ou Maioral), Algoritmo do Anel
21/08/13 CCMP0054 - Sistemas Distribudos I - Engenharia da Computao - Prof. Jairson Rodrigues
Como deve ser feita a sincronizao?
6
+Excluso Mtua
n Solues baseadas em ficha n Processos trocam mensagem especial, chamada ficha
n Quem possuir a ficha, possui acesso ao recurso
n Soluo simples e eficaz, sem inanio ou deadlocks
n Desvantagem quando o processo que detm a ficha falha
n Solues baseadas em permisso n Algoritmo Centralizado
n Algoritmo Descentralizado
n Algoritmo Distribudo n Algoritmo Token Ring
21/08/13 CCMP0054 - Sistemas Distribudos I - Engenharia da Computao - Prof. Jairson Rodrigues
Viso Geral
7
+Excluso Mtua
n Simular excluso mtua como feita em sistemas centralizados
n Um processo escolhido como coordenador
n Outros processos enviam mensagens ao coordenador declarando que recursos querem usar
n Se o recurso estiver livre o coordenador concede acesso ao recurso
n Se o recurso estiver ocupado, nega por omisso ou enviando mensagem
n Ponto falho: se o coordenador falhar todo o sistema cai
21/08/13 CCMP0054 - Sistemas Distribudos I - Engenharia da Computao - Prof. Jairson Rodrigues
Algoritmo Centralizado
8
+Excluso Mtua
21/08/13 CCMP0054 - Sistemas Distribudos I - Engenharia da Computao - Prof. Jairson Rodrigues
Algoritmo Centralizado
9
+Excluso Mtua
21/08/13 CCMP0054 - Sistemas Distribudos I - Engenharia da Computao - Prof. Jairson Rodrigues
Algoritmo Descentralizado
10
n Um nico coordenador costuma ser uma abordagem ruim
n Soluo: coordenador descentralizado
n Assume-se (hipoteticamente) que cada recurso est replicado
n Cada processo coordena o acesso ao recurso
n Processo interessado no recurso deve ter m > n/2 votos concedendo acesso
n Corretude do algoritmo baseado em probalidade de acerto
+Excluso Mtua
21/08/13 CCMP0054 - Sistemas Distribudos I - Engenharia da Computao - Prof. Jairson Rodrigues
Algoritmo Distribudo
11
n H casos em que um algoritmo correto segundo as leis da probabilidade no o bastante
n Para qualquer evento no sistema no deve haver ambiguidade sobre quem ocorreu primeiro
n Processo interessado em recurso monta mensagem com hora corrente, identificador do recurso e seu nmero de processo
n Processo envia mensagem a todos os outros processos
+Excluso Mtua
21/08/13 CCMP0054 - Sistemas Distribudos I - Engenharia da Computao - Prof. Jairson Rodrigues
Algoritmo Distribudo
12
n Quando um processo recebe a mensagem n Se no estiver usando o recurso e no tiver interesse nele,
responde ao remetente com um OK
n Se o receptor estiver usando o recurso, simplesmente no responde, colocando a requisio do remetente em fila
n Se no estiver usando mas tambm deseja usar, realiza comparao de data e o mais antigo recebe concesso ao recurso
n O processo remetente aguarda a concesso de todos os processos
n Ao concluir, informa a liberao do recurso para todos aqueles que esto em sua fila
+Excluso Mtua
21/08/13 CCMP0054 - Sistemas Distribudos I - Engenharia da Computao - Prof. Jairson Rodrigues
Algoritmo Distribudo
13
+Excluso Mtua
n Admite-se uma rede de barramento de processos sem ordenao
n Anel lgico construdo via software, cada processo atribudo a uma posio no anel
n No importa a ordenao, apenas que cada processo saiba qual processo vem depois dele
n Na inicializao do anel o processo 0 recebe uma ficha
n A ficha trafega pelo anel do processo k para o processo k+1
21/08/13 CCMP0054 - Sistemas Distribudos I - Engenharia da Computao - Prof. Jairson Rodrigues
Algoritmo Token Ring
14
+Algoritmo Token Ring
n Quando processo receber ficha do seu vizinho n Verifica se precisa utilizar o recurso n Caso positivo, realiza o trabalho sobre o recurso e libera a ficha
para o prximo vizinho
n Caso negativo, apenas passa a ficha adiante
n Se nenhum processo precisar do recurso a ficha circula velozmente pelo anel
21/08/13 CCMP0054 - Sistemas Distribudos I - Engenharia da Computao - Prof. Jairson Rodrigues
Algoritmo Token Ring
15
+Algoritmo Token Ring
21/08/13 CCMP0054 - Sistemas Distribudos I - Engenharia da Computao - Prof. Jairson Rodrigues
Algoritmo Token Ring
16
+Comparativo de Algoritmos
Algoritmo Mensagens Tempo de Atraso Problemas
Centralizado 3 2 Queda do coordenador
Descentralizado 3mk, k= 1,2,3 2m Inanio, baixa eficincia
Distribudo 2(n-1) 2(n-1) Queda de qualquer processo
Token Ring 1 a 0 a n-1 Ficha perdida
21/08/13 CCMP0054 - Sistemas Distribudos I - Engenharia da Computao - Prof. Jairson Rodrigues
17
+Algoritmos de Eleio
n Muitos algoritmos distribudos requerem um coordenador
n Qualquer processo pode ser escolhido, no entanto um deles precisa ser escolhido
n Premissas: n Cada processo tem um nmero de processo exclusivo n Um processo por mquina
n Todo processo sabe o nmero de todos os outros
n Algoritmos tradicionais n Algoritmo do Maioral (ou Valento)
n Algoritmo do Anel
21/08/13 CCMP0054 - Sistemas Distribudos I - Engenharia da Computao - Prof. Jairson Rodrigues
18
+Algoritmos de Eleio
n Quando qualquer processa percebe que um coordenador no est mais respondendo a requisies, inicia uma eleio n P envia mensagem ELEIO a todos os processos de nmero
mais alto
n Se nenhum responder, P vence a eleio n Se um processo responder, este toma o poder da eleio e P
termina seu trabalho
n Receptor envia mensagem ELEIO para todos os processos de nmero mais alto
n Processo repete-se at que nenhum processo responda n O ltimo processo a enviar o de maior PID e vence a eleio
21/08/13 CCMP0054 - Sistemas Distribudos I - Engenharia da Computao - Prof. Jairson Rodrigues
Algoritmo do Maioral (ou Valento)
19
+Algoritmos de Eleio
21/08/13 CCMP0054 - Sistemas Distribudos I - Engenharia da Computao - Prof. Jairson Rodrigues
Algoritmo do Maioral (ou Valento)
20
+Algoritmos de Eleio
n Diferente da maioria, este algoritmo de anel no usa ficha e considera a ordenao
n Quando um processo nota que no h coordenador n Processo envia mensagem ELEIO para sucessor (no anel)
n Se PID do remetente > PID do destinatrio, mensagem passada adiante
n Se PID do remetente < PID do destinatrio, este passa a participar da eleio
n A certa altura a mensagem volta ao ltimo processo que entrou na disputa (maior PID), que ser o novo coordenador
21/08/13 CCMP0054 - Sistemas Distribudos I - Engenharia da Computao - Prof. Jairson Rodrigues
Algoritmo do Anel
21
+Algoritmos de Eleio
21/08/13 CCMP0054 - Sistemas Distribudos I - Engenharia da Computao - Prof. Jairson Rodrigues
Algoritmo do Anel
22
+Referncias
n Sistemas Distribudos Princpios e Paradigmas, 2 Edio Prentice Hall. Tanenbaum, Andrew; Van Steen, Maarten
n Sistemas Distribudos Conceitos e Projeto, 4 Edio Bookman. Coulouris, George; Dollimore, Jean; Kindberg, Tim
21/08/13 CCMP0054 - Sistemas Distribudos I - Engenharia da Computao - Prof. Jairson Rodrigues
Bibliografia, fontes, crditos, imagens
23