exclusão-mútua (1)

Upload: lucas-dibex

Post on 07-Mar-2016

15 views

Category:

Documents


0 download

DESCRIPTION

slides sistemas distribuidos

TRANSCRIPT

  • +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