Vous êtes sur la page 1sur 21

+

Sistemas Distribudos
Excluso Mtua,
Engenharia da Computao Coordenao e Acordo
Prof. Jairson Rodrigues
Universidade Federal do Vale do So Francisco

+
ALGORITMOS
DISTRIBUDOS
Excluso Mtua,
Coordenao e Acordo
AGENDA
Excluso Mtua
Algoritmo Centralizado
Algoritmo Descentralizado
Algoritmo Distribudo
Algoritmo Token Ring
Algoritmos de Eleio

Excluso Mtua
n

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

19/05/15

Problemas de Sincronizao em SDs


Como deve ser feita a sincronizao?
n Algoritmos
n

Algoritmo de Cristian, Algoritmo de Berkeley, Algoritmo de


Lamport

n Para
n

de sincronizao de tempo

tratamento de excluso mtua e deadlocks

Algoritmos de Ficha, Algoritmo Centralizado, Algoritmo


Descentralizado, Algoritmo Distribudo, Algoritmo Token
Ring

n Coordenao

de acesso a regies crticas Algoritmos de Eleio


n

Algoritmo do Valento (ou Maioral), Algoritmo do Anel

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

19/05/15

Excluso Mtua
Viso Geral
n 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

n Solues

baseadas em permisso

Algoritmo Centralizado

Algoritmo Descentralizado

Algoritmo Distribudo
n Algoritmo Token Ring
n

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

19/05/15

Excluso Mtua
Algoritmo Centralizado
n

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

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

19/05/15

Excluso Mtua
Algoritmo Centralizado

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

19/05/15

Excluso Mtua
Algoritmo Descentralizado
n

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

19/05/15

Excluso Mtua
Algoritmo Distribudo
n

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

19/05/15

10

Excluso Mtua
Algoritmo Distribudo
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

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

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

19/05/15

11

Excluso Mtua
Algoritmo Distribudo

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

19/05/15

12

Excluso Mtua
Algoritmo Token Ring
n

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

19/05/15

13

Algoritmo Token Ring


Algoritmo Token Ring
n

Quando processo receber ficha do seu vizinho


n
n

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

19/05/15

14

Algoritmo Token Ring


Algoritmo Token Ring

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

19/05/15

15

Comparativo de Algoritmos

Algoritmo

Mensagens

Tempo de Atraso

Problemas

Queda do coordenador

3mk, k= 1,2,3

2m

Distribudo

2(n-1)

2(n-1)

Queda de qualquer
processo

Token Ring

1a

0 a n-1

Ficha perdida

Centralizado
Descentralizado

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

Inanio, baixa
eficincia

19/05/15

16

Algoritmos de Eleio
n

Muitos algoritmos distribudos requerem um coordenador

Qualquer processo pode ser escolhido, no entanto um deles


precisa ser escolhido

Premissas:
n

Cada processo tem um nmero de processo exclusivo


Um processo por mquina

Todo processo sabe o nmero de todos os outros

Algoritmos tradicionais
n

Algoritmo do Maioral (ou Valento)

Algoritmo do Anel

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

19/05/15

17

Algoritmos de Eleio
Algoritmo do Maioral (ou Valento)
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

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

19/05/15

18

Algoritmos de Eleio
Algoritmo do Maioral (ou Valento)

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

19/05/15

19

Algoritmos de Eleio
Algoritmo do Anel
n Diferente

da maioria, este algoritmo de anel no usa


ficha e considera a ordenao

n Quando

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

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
n

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

19/05/15

20

Algoritmos de Eleio
Algoritmo do Anel

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

19/05/15

21

Referncias
Bibliografia, fontes, crditos, imagens
n

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

19/05/15

Vous aimerez peut-être aussi