Vous êtes sur la page 1sur 23

+

Sistemas Distribudos Engenharia da Computao


Prof. Jairson Rodrigues Universidade Federal do Vale do So Francisco

ALGORITMOS DISTRIBUDOS

Aula 10 Excluso Mtua, Coordenao e Acordo

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

CCMP0054 - Sistemas Distribudos I - Engenharia da Computao - Prof. Jairson Rodrigues

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

CCMP0054 - Sistemas Distribudos I - Engenharia da Computao - Prof. Jairson Rodrigues

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

"!

"!

"!

CCMP0054 - Sistemas Distribudos I - Engenharia da Computao - Prof. Jairson Rodrigues

21/08/13

Problemas de Sincronizao em SDs


Como deve ser feita a sincronizao?
"! Algoritmos
"!

de sincronizao de tempo

Algoritmo de Cristian, Algoritmo de Berkeley, Algoritmo de Lamport

"! Para
"!

tratamento de excluso mtua e deadlocks

Algoritmos de Ficha, Algoritmo Centralizado, Algoritmo Descentralizado, Algoritmo Distribudo, Algoritmo Token Ring

"! Coordenao
"!

de acesso a regies crticas Algoritmos de Eleio


Algoritmo do Valento (ou Maioral), Algoritmo do Anel

CCMP0054 - Sistemas Distribudos I - Engenharia da Computao - Prof. Jairson Rodrigues

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

Algoritmo Centralizado Algoritmo Descentralizado

Algoritmo Distribudo "! Algoritmo Token Ring

CCMP0054 - Sistemas Distribudos I - Engenharia da Computao - Prof. Jairson Rodrigues

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

"! "!

"!

"!

"!

CCMP0054 - Sistemas Distribudos I - Engenharia da Computao - Prof. Jairson Rodrigues

Excluso Mtua
Algoritmo Centralizado

CCMP0054 - Sistemas Distribudos I - Engenharia da Computao - Prof. Jairson Rodrigues

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

"! "!

"!

CCMP0054 - Sistemas Distribudos I - Engenharia da Computao - Prof. Jairson Rodrigues

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

"!

"!

"!

CCMP0054 - Sistemas Distribudos I - Engenharia da Computao - Prof. Jairson Rodrigues

21/08/13

12

Excluso Mtua
Algoritmo Distribudo
"!

Quando um processo recebe a mensagem


"!

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

"!

CCMP0054 - Sistemas Distribudos I - Engenharia da Computao - Prof. Jairson Rodrigues

13

Excluso Mtua
Algoritmo Distribudo

CCMP0054 - Sistemas Distribudos I - Engenharia da Computao - Prof. Jairson Rodrigues

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

"!

"!

"! "!

CCMP0054 - Sistemas Distribudos I - Engenharia da Computao - Prof. Jairson Rodrigues

21/08/13

15

Algoritmo Token Ring


Algoritmo Token Ring
"!

Quando processo receber ficha do seu vizinho


"! "!

"!

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

"!

Se nenhum processo precisar do recurso a ficha circula velozmente pelo anel

CCMP0054 - Sistemas Distribudos I - Engenharia da Computao - Prof. Jairson Rodrigues

21/08/13

16

Algoritmo Token Ring


Algoritmo Token Ring

CCMP0054 - Sistemas Distribudos I - Engenharia da Computao - Prof. Jairson Rodrigues

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

CCMP0054 - Sistemas Distribudos I - Engenharia da Computao - Prof. Jairson Rodrigues

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
"! "!

Algoritmo do Maioral (ou Valento) Algoritmo do Anel


21/08/13

CCMP0054 - Sistemas Distribudos I - Engenharia da Computao - Prof. Jairson Rodrigues

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

"! "!

"!

"! "!

CCMP0054 - Sistemas Distribudos I - Engenharia da Computao - Prof. Jairson Rodrigues

21/08/13

20

Algoritmos de Eleio
Algoritmo do Maioral (ou Valento)

CCMP0054 - Sistemas Distribudos I - Engenharia da Computao - Prof. Jairson Rodrigues

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
"!

CCMP0054 - Sistemas Distribudos I - Engenharia da Computao - Prof. Jairson Rodrigues

21/08/13

22

Algoritmos de Eleio
Algoritmo do Anel

CCMP0054 - Sistemas Distribudos I - Engenharia da Computao - Prof. Jairson Rodrigues

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

CCMP0054 - Sistemas Distribudos I - Engenharia da Computao - Prof. Jairson Rodrigues

21/08/13

Vous aimerez peut-être aussi