Sistemas distribuídos

Páginas: 25 (6201 palavras) Publicado: 4 de abril de 2011
Sincronização em Sistemas Distribuídos

Como nos sistemas distribuídos o processamento ocorre de forma concorrente em diferentes unidades de processamento, é necessário o uso de mecanismos de sincronização que possibilitem a comunicação entre os diferentes sistemas.
Problemas de sincronização em um sistema de uma única CPU são geralmente resolvidos usando métodos como semáforos emonitores. Já em sistemas distribuídos onde não haja sincronização entre as diversas máquinas que o integram, podem surgir muitos problemas. Processos podem ser executados em ordem inadequada, causando resultados inadequados, erros e travamentos. Em sistemas distribuídos os problemas de sincronização exigem soluções específicas. Sistemas distribuídos têm, em geral, as seguintes propriedades:

1.As informações relevantes estão dispersas em várias máquinas.
2. Processos tomam decisões baseados apenas em informação local.
3. Um único ponto de falha no sistema pode derrubá-lo por inteiro.
4. Não existem relógios ou outras fontes precisas de tempo global.

Normalmente, em sistemas distribuídos não é possível ou desejável obter as informações necessárias à sincronização deforma centralizada E mesmo que isso seja feito, diversos problemas ainda podem persistir.
Para solucionar o problema de sincronismo nos sistemas distribuídos são usadas duas abordagens:
Relógios Lógicos – A sincronização é feita de modo que os eventos não ocorram em um tempo realmente determinado, mas onde a ordem em que os eventos ocorrem sejam as desejadas.
Relógios Físicos – A sincronização éfeita através de um tempo absoluto que deve ser comum a todo o sistema.

Relógios Lógicos

Na utilização de relógios lógicos para a sincronização de sistemas distribuídos somente os processos que interagem entre si precisam estar sincronizados. Nenhum dos processos obedece a um tempo absoluto, eles só precisam estar sincronizados quanto a ordem de acontecimento dos eventos. Todo osincronismo é baseado na relação de “happens before” (acontece antes), onde:
1. Sejam x e y eventos num mesmo processo tal que x ocorre antes de y. Então x -» y é verdadeiro.
2. Seja x o evento de uma mensagem a ser enviada por um processo, e y o evento dessa mensagem ser recebida por outro processo. Então x -» y é verdadeiro.
3. Sejam x, y e z eventos tal que x -» y e y -» z. Entãox -» z é verdadeiro.
Os relógios lógicos são implementados de modo que cada processo p mantém seu próprio relógio lógico (um contador, por software), Cp, usado para fazer timestamp de eventos. Cp(x) denota o timestamp do evento x no processo p, e C(x) denota o timestamp do evento x em qualquer processo. Antes de cada evento em p o Cp é incrementado, e na hora do envio de uma mensagem m oprocesso p concatena o timestamp à mensagem enviada. Quando um processo q recebe a mensagem, ele computa o valor do seu relógio Cq e aplica e o incrementa antes de fazer timestamp do evento de recebimento da mensagem.
[pic]
Relógios Físicos

Na utilização de relógios físicos para sincronização todos os relógios do sistema são sincronizados para um mesmo padrão de tempo. Entre osalgoritmos mais populares para este tipo de solução estão:

• Algoritmo de Cristian – Usa método de sincronização externa, onde periodicamente cada máquina contata um servidor de tempo e requisita a hora, a máquina assume então a hora repassada pelo servidor.
• Algoritmo de Berkeley – Nesse algoritmo não é usado sincronização externa, em intervalos de tempo definidos o servidor de temporequisita a hora de cada máquina presente no sistema e então calcula uma média, simples ou ponderada, entre elas, a nova hora obtida é então repassada para todas as máquinas.
• Network Time Protocol – Os dois algoritmos vistos anteriormente são usados em um ambiente de intranet. O algoritmo Network Time Protocol (NTP) deve ser usado em ambiente de internet. Nele os servidores de tempo se conectam...
Ler documento completo

Por favor, assinar para o acesso.

Estes textos também podem ser interessantes

  • Sistemas distribuidos
  • Sistemas distribuidos
  • Sistemas distribuidos
  • Sistema distribuido
  • Sistema Distribuido
  • Sistemas Distribuidos
  • Sistemas distribuídos
  • Sistemas Distribuidos

Seja um membro do Trabalhos Feitos

CADASTRE-SE AGORA!