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