Sistemas ditribuidos
ALGORITMOS DE SINCRONIZAÇÃO DE RELÓGIOS
ALGORITMO DE BERKELEY
CORBA
SOA
DISCIPLINA SISTEMAS DISTRIBUÍDOS
1. Algoritmos de Sincronização de Relógios
1.1. Definição
Relógios são importantes para o bom funcionamento de sistemas computacionais tão quanto são para nossas vidas.
Sistemas Distribuídos não possuem um relógio global, porém em alguns sistemas é necessário um controle do tempo através dos seus nós, que é conseguido através de automação da sincronização dos relógios, utilizada para garantir que esse controle seja feito simultaneamente. Se comparado esse mesmo trabalho sendo feito por um humano, ou seja manualmente, existiriam diferenças de, no mínimo, segundos; se comparado a execução de instruções em um processador poderia levar nanossegundos; e se comparado a transmissão de mensagens pode levar centenas de microssegundos. Além disso, os relógios tendem a se desnivelar com o tempo, pois correm com velocidades ligeiramente diferentes, e a sincronização permite que esse desnivelamento não seja tão considerável.
Essa sincronização de eventos executados em sistemas distribuídos é considerara mais complexa, se comparada com a existente em sistemas centralizados, pois possuem as características destacadas abaixo :
* As informações são distribuídas em múltiplas unidades ao longo do sistema;
* Os processos tomam decisões baseados em informações locais;
* O relógio global não existe ou é impreciso.
A necessidade de sincronização de relógios em sistemas distribuídos acontece também, pois, a aplicação de um único processo centralizado torna o sistema não confiável quando acontecem falhas no conjunto. Cada unidade pertencente do sistema possui um relógio local que, devido a características próprias possui um desvio em relação ao relógio definido como