exclusão-mútua (1)
DESCRIPTION
slides sistemas distribuidosTRANSCRIPT
-
+Sistemas Distribudos Engenharia da Computao
Excluso Mtua, Coordenao e Acordo
Prof. Jairson Rodrigues Universidade Federal do Vale do So Francisco
-
+AGENDA Excluso Mtua
Algoritmo Centralizado
Algoritmo Descentralizado
Algoritmo Distribudo
Algoritmo Token Ring
Algoritmos de Eleio
ALGORITMOS DISTRIBUDOS
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
19/05/15 CCMP0054 - Sistemas Distribudos I - Engenharia da Computao - Prof. Jairson Rodrigues
3
-
+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
19/05/15 CCMP0054 - Sistemas Distribudos I - Engenharia da Computao - Prof. Jairson Rodrigues
Como deve ser feita a sincronizao?
4
-
+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
19/05/15 CCMP0054 - Sistemas Distribudos I - Engenharia da Computao - Prof. Jairson Rodrigues
Viso Geral
5
-
+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
19/05/15 CCMP0054 - Sistemas Distribudos I - Engenharia da Computao - Prof. Jairson Rodrigues
Algoritmo Centralizado
6
-
+Excluso Mtua
19/05/15 CCMP0054 - Sistemas Distribudos I - Engenharia da Computao - Prof. Jairson Rodrigues
Algoritmo Centralizado
7
-
+Excluso Mtua
19/05/15 CCMP0054 - Sistemas Distribudos I - Engenharia da Computao - Prof. Jairson Rodrigues
Algoritmo Descentralizado
8
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
19/05/15 CCMP0054 - Sistemas Distribudos I - Engenharia da Computao - Prof. Jairson Rodrigues
Algoritmo Distribudo
9
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
19/05/15 CCMP0054 - Sistemas Distribudos I - Engenharia da Computao - Prof. Jairson Rodrigues
Algoritmo Distribudo
10
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
19/05/15 CCMP0054 - Sistemas Distribudos I - Engenharia da Computao - Prof. Jairson Rodrigues
Algoritmo Distribudo
11
-
+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
19/05/15 CCMP0054 - Sistemas Distribudos I - Engenharia da Computao - Prof. Jairson Rodrigues
Algoritmo Token Ring
12
-
+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
19/05/15 CCMP0054 - Sistemas Distribudos I - Engenharia da Computao - Prof. Jairson Rodrigues
Algoritmo Token Ring
13
-
+Algoritmo Token Ring
19/05/15 CCMP0054 - Sistemas Distribudos I - Engenharia da Computao - Prof. Jairson Rodrigues
Algoritmo Token Ring
14
-
+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
19/05/15 CCMP0054 - Sistemas Distribudos I - Engenharia da Computao - Prof. Jairson Rodrigues
15
-
+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
19/05/15 CCMP0054 - Sistemas Distribudos I - Engenharia da Computao - Prof. Jairson Rodrigues
16
-
+Algoritmos de Eleio
n Quando qualquer processo 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
19/05/15 CCMP0054 - Sistemas Distribudos I - Engenharia da Computao - Prof. Jairson Rodrigues
Algoritmo do Maioral (ou Valento)
17
-
+Algoritmos de Eleio
19/05/15 CCMP0054 - Sistemas Distribudos I - Engenharia da Computao - Prof. Jairson Rodrigues
Algoritmo do Maioral (ou Valento)
18
-
+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
19/05/15 CCMP0054 - Sistemas Distribudos I - Engenharia da Computao - Prof. Jairson Rodrigues
Algoritmo do Anel
19
-
+Algoritmos de Eleio
19/05/15 CCMP0054 - Sistemas Distribudos I - Engenharia da Computao - Prof. Jairson Rodrigues
Algoritmo do Anel
20
-
+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
19/05/15 CCMP0054 - Sistemas Distribudos I - Engenharia da Computao - Prof. Jairson Rodrigues
Bibliografia, fontes, crditos, imagens
21