Sistemas Distribuídos: Sincronização e Exclusão Mútua

Classificado em Computação

Escrito em em português com um tamanho de 3,55 KB

Sincronização de Relógios

  • Sincronização interna: Diferença entre tempo de relógios locais: D > 0, |Ci(t) – Cj(t)|, os relógios Ci concordam dentro do limite D.
  • Monotonicidade: Se t' > t, então c(t') > c(t), significa que o tempo decorre sempre para frente.
  • Correção interna: Ajusta os termos do relógio de software para sincronização: Hi(t) + β, para garantir a monotonicidade.
  • Sistemas assíncronos: A maioria dos sistemas distribuídos é assíncrona, então trans = min + x (x >= 0), sendo min o tempo mínimo estimado.

Método de Cristian

  • Método de sincronização externa com UTC.
  • Assume tempos de ida e volta curtos.
  • Utiliza servidor de tempo UTC.
  • Desvantagens: Não é válido para redes congestionadas e possui um único servidor (ponto de falha).

Algoritmo de Berkeley

  • Sincronização interna em rede local.
  • Arquitetura mestre-escravo: O mestre consulta os escravos, calcula a média tolerante a falhas (eliminando relógios defeituosos) e envia ajustes individuais.
  • Se o mestre falhar, é possível eleger outro.

Network Time Protocol (NTP)

  • Visa a internet como rede para sincronização.
  • Características: Alta precisão, filtragem de dados, redundância de servidores, sincronização frequente e servidores autenticados.
  • Formas de sincronização: Multicast (baixa precisão), RPC (semelhante ao método de Cristian) e Simétrico (usado por servidores de stratum baixo).

Segurança e Comunicação

  • Comunicação secreta: Alice e Bob compartilham uma chave secreta KAB. Alice usa C(KAB, M) para cifrar e Bob usa D(KAB, M) para decifrar.
  • Chave pública: Bob envia uma mensagem para Alice encriptada com a chave pública dela; Alice a decifra usando sua chave privada.

Exclusão Mútua

Garante que apenas um processo por vez acesse um recurso compartilhado, essencial para dados, arquivos e operações em ambientes externos (ex: robôs cooperativos).

Algoritmos de Exclusão Mútua

  • Algoritmo Centralizado: Um coordenador gerencia as solicitações de entrada na Região Crítica (RC).
  • Algoritmo Distribuído: Baseado no algoritmo de Lamport. O processo envia uma mensagem (Id, Rc, Ts) para todos. O acesso é permitido após receber OK de todos os processos.
  • Algoritmo Baseado em Token: Um token circula em um anel virtual; apenas o detentor do token pode acessar a RC.

Algoritmos de Eleição

Algoritmo Bully (Garcia-Molina, 1982)

Se o coordenador falha, um processo inicia uma eleição enviando mensagens para processos com identificadores superiores. O processo com o maior identificador vence e anuncia sua vitória.

Algoritmo de Anel

Os processos formam um anel. Ao detectar falha, o processo envia uma mensagem de eleição com seu ID. A mensagem circula, acumulando IDs, até retornar ao iniciador, que define o novo coordenador.

Deadlock

  • Exclusão mútua: Recurso não compartilhável.
  • Espera circular: Processos aguardando recursos mantidos por outros.
  • Detecção: O coordenador verifica ciclos e pode encerrar um dos processos causadores para remover o deadlock.

Entradas relacionadas: