Vous êtes sur la page 1sur 3

Algoritmo de Berkeley

NUNO CSAR SILVA MATTOS Faculdade de Cincias e Tecnologia Area1 Departamento de engenharia da computao CEP: 41.720-200 Salvador (BA) nunomecatronica@gmail.com

Abstract: Paper presented to the discipline of distributed systems such as research on the Berkeley algorithm. In this document are covered basics of timing in Distributed Systems and done a study on the mechanism of synchronous real-time clocks, this paper will present the algorithm Berkeley, one of which solve this problem. Keywords: Algorithm, Berkeley, synchronization, distributed systems. Resumo: Documento apresentado para a disciplina de Sistemas Distribudos como pesquisa sobre o algoritmo de Berkeley. Neste documento so abordados conceitos bsicos sobre temporizao em Sistemas Distribudos e feito um estudo sobre o mecanismo de sincronismo de relgios de tempo real, neste trabalho ser apresentado o algoritmo de Berkeley, como um dos que resolvem tal problema. Palavras chave: Algoritmo, Berkeley, Sincronizao, Sistemas distribudos.

1. Introduo Este artigo refere-se Temporizao e Sincronizao em Sistemas Distribudos. Um sistema centralizado pode ser sincronizado atravs de operaes de acesso direto a memria, e tambm usar chamadas de sistema para obter o tempo do sistema. Sendo assim, como todos os processos esto no mesmo ambiente, consequentemente possuem o mesmo relgio. Em um sistema distribudo, cada processo pode fazer parte de um sistema com um relgio prprio: tal sincronizao e controle de tempo exige certa complexidade. Vale a pena lembrar que sincronizao e temporizao no esto relacionados apenas ao tempo real absoluto. Para muitas aplicaes distribudas, basta que os processos envolvidos concordem com um tempo relativo para ser usado entre eles. Tal considerao importante, pois mostra que uma aplicao distribuda pode ser fechada em relao ao tempo absoluto - o que implica que mesmos resultados podem ser obtidos atravs de algoritmos mais simples. Ser apresentado um dos algoritmos considerados clssicos sobre o assunto. 2. Relgios Fisicos Do ponto de vista de Sistemas Distribudos, h dois tipos de relgios. Os relgios devem garantir as propriedades bsicas da noo de tempo: no devem

parar, devem marcar um senso de progresso e devem ser sempre crescentes. Em alguns sistemas (por exemplo, sistemas de tempo real), o tempo real importante. Para estes sistemas relgios fsicos externos so necessrios. Por razes de ecincia e redundncia, 13 mltiplos relgios fsicos so geralmente considerados desejveis, os quais trazem dois problemas: (1) Como ser feito a sincronizao deles com os relgios do mundo real, e (2) Como sincronizar os relgios entre si. No to simples medir o tempo, especialmente quando necessria alta preciso. Desde a inveno dos relgios mecnicos no sculo 17, o tempo tem sido medido astronomicamente. Com a inveno do relgio atmico em 1948, tornou se possvel medir o tempo precisamente atravs da contagem de transies do tomo de csio 133. Os fsicos deniram o segundo como sendo o tempo de que o tomo de csio 133 leva para fazer exatamente 9.192.631.770 transies. A escolha de 9.192.631.770 foi feita para fazer com que o segundo atmico fosse igual ao segundo solar no ano de sua introduo. Atualmente, cerca de 50 laboratrios em volta do mundo possuem o relgio de csio 133. Periodicamente, cada laboratrio diz ao Bureau international de IHeure (BIH) em Paris quantas vezes o seu relgio marcou. O BIH tira a mdia para produzir o Tempo Atmico Internacional, o qual recebe a sigla TAI. Embora o TAI seja altamente estvel, h um srio problema com ele; 86.400 segundos TAI agora cerca

de 3 mseg a menos do que um dia solar. O uso do TAI para manter o tempo poderia signicar que atravs do decorrer dos anos, o meio dia caria cada vez mais cedo, at que ocorreria nas primeiras horas da manh. BIH resolveu o problema atravs da introduo do leap seconds sempre que a discrepncia entre TAI e o tempo solar chega a 800 mseg. Esta correo aumenta o tempo do sistema baseado nos segundos TAI, mas ca em fase com o aparente movimento do sol. Isto chamado Universal Coordinated Time, mas abreviado como UTC. Para fornecer UTC para as pessoas que necessitam do tempo preciso, o National Institute of Standard Time (NIST) opera uma estao de rdio de ondas curtas com as letras WWV em Fort Collins, Colorado. WWV envia por broadcasts um pulso no comeo de cada segundo UTC. A exatido do WWV cerca de 1mseg, mas devido a uma atmosfera randmica que pode afetar o distancia do caminho do sinal, na prtica a preciso no melhor do que 10 mseg. Na Inglaterra, a estao MSF, operando de Rugby, Warwickshire, fornece um servio similar, como feito pelas estaes em outros pases. Muitos satlites tambm oferecem um servio UTC. O Geostationary Environment Operational Satellite pode fornecer o UTC com uma preciso de 0.5 mseg, e alguns outros satlites fazem ainda melhor. O uso de ondas curtas de rdio ou satlite requer um conhecimento preciso da posio relativa do transmissor ou receptor, de forma a compensar o tempo de propagao do sinal. Receptores de rdio de WWV, GEOS, e outras fontes UTC so comercialmente disponveis. UTC pode tambm ser obtido atravs do telefone NIST em Fort Collins, mas aqui tambm, a correo deve ser feita pelo caminho do sinal e velocidade do modem. No caso de um sistema eletrnico, o relgio fsico obtido a partir de um cristal de quartzo, que a cada intervalo de tempo libera um sinal eltrico. Um contador decrescente recebe esses sinais eltricos, decrescendo seu valor em 1 a cada sinal detectado. Quando o contador atinge zero, um sinal emitido (exemplo, pulso de clock) e seu valor resetado ao valor inicial. Outras formas tambm so possveis, como o uso de um contador crescente, ao invs de um decrescente. O intervalo de tempo em que o cristal de quartzo emite o sinal dependente de seu tamanho, formato, tipo de cristal e at mesmo da corrente aplicada a ele. Isso resulta que cada cristal possui seu tempo prprio - se sincronizado com outros cristais, eventualmente todos os cristais sairo de sincronia devido diferena da velocidade de emisso de sinais. Esse efeito denominado de Clock Skew.

3. Algoritmo de Berkeley O algoritmo de Berkeley serve para sincronizar os relgios fsicos de computadores dentro de uma rede fechada. Neste algoritmo um computador eleito para agir como mestre. Ao contrrio do algoritmo de Cristian, no qual o cliente busca sincronizar seu relgio com o servidor, neste o servidor toma a iniciativa em sincronizar os relgios dos clientes - neste contexto chamados de escravos. O mestre periodicamente requisita o tempo de todos os escravos, que retornam os valores atuais. Com base nos valores recebidos ele calcula o tempo mdio para normalizar os relgios da rede. O mestre, ao invs de retornar o valor absoluto e potencialmente ser incerto devido latncia do envio da mensagem para todos os escravos, envia a diferena de tempo relativa ao tempo de cada computador, podendo ser um valor tanto positivo como negativo. Para que o sistema seja tolerante a falhas a escolha do mestre realizada por eleio: caso o mestre falhe eleito um novo mestre para ocupar o posto, assim mantendo a funcionalidade. 4. Figuras

Figura 01: Relao entre a hora do relgio e a hora UTC quando as taxas de ciclos so diferentes.

Figura 02: (a) O daemon de tempo pergunta a todas as outras mquinas os valores marcados por seus relgios. (b) As mquinas respondem. (C) O daemon de tempo informa a todas como devem ajustar os seus relgios.

5. Referncias
[1] TANENBAUM, A.S., Distributed systems: principles and paradigms, Prentice Hall Int. Ed., 2002. [2] http://www.inf.puc-rio.br/~noemi/sd-09/aula7.pdf <ltimo acesso em 24/03/2012> [3] http://www.cin.ufpe.br/~avmm/arquivos/provas%20software/r esuminho3.pdf <ltimo acesso em 23/03/2012> [4] http://www.li.facens.br/~machado/so/materiais/slide9sd.pdf <ltimo acesso em 24/03/2012> [5] http://www.tlcnetworks.polito.it/anapaula/Aula_Cap06c.pdf <ltimo acesso em 24/03/2012> [6] http://lrodrigo.lncc.br/images/0/0c/TrabalhoSC.pdf ltimo acesso em 24/03/2012> <

[7] http://www.lasdpc.icmc.usp.br/disciplinas/posgraduacao/sistemas-distribuidos/2007/monografiasseminarios/ljr-tempo-20071206.pdf < ltimo acesso em 24/03/2012> [8] http://lasdpc.icmc.usp.br/disciplinas/graduacao/sistemasdistribuidos/2011/bcc-marcos-jose-santana/seminariosalunos/grupo%205/Temporizacao%20e%20Sincronizacao%20 -%20Monografia.pdf < ltimo acesso em 24/03/2012>