• Nenhum resultado encontrado

Sincronização Capítulo 6 – Parte 1 - Sistemas Distribuídos Cap 6 parte 1

N/A
N/A
Protected

Academic year: 2019

Share "Sincronização Capítulo 6 – Parte 1 - Sistemas Distribuídos Cap 6 parte 1"

Copied!
28
0
0

Texto

(1)
(2)

• Em um sistema distribuído, o tempo não é ambíguo.

• Quando um processo quer saber a hora, faz uma chamada de sistema, e o núcleo responde.

• Se o processo A perguntar a hora, e um pouco mais tarde o processo B também perguntar, o valor que B obtém será mais alto.

(3)

! "

#

• Em Unix, programas grandes são normalmente divididos em vários arquivos*fonte, de modo que uma alteração em um

arquivo*fonte requer que apenas um arquivo seja recompilado (e não todos).

(4)

! "

#

• Se o horário do arquivo*fonte input.c for 21:51 e o horário do arquivo*objeto input.o for 21:40, o arquivo input.c deve ser recompilado.

• Se o horário do arquivo*fonte output.c for 21:44 e o horário do arquivo*objeto output.o for 21:45, o arquivo output.c não será recompilado.

(5)

! "

#

• Imagine o que poderia acontecer se em um SD não houvesse nenhum acordo global sobre horários.

• Suponha que o horário do arquivo*fonte output.o for 21:44 e o horário do arquivo*objeto output.c tenha sido modificado mas recebeu o horário 21:43, porque o relógio estava um pouco atrasado.

21:44 21:45 21:46 21:47

21:42 21:43 21:44 21:45

Computador no qual o compilador executa

Computador no qual o editor executa

Criado output.o

Criado output.o

Horário de acordo com o relógio local

(6)

! "

#

make não chamará o compilador e o programa binário executável resultante conterá uma

mistura de arquivos*objeto dos arquivos*fonte antigos e dos fonte novos.

• Provavelmente falhará e o programador ficará confuso tentando entender o que há de errado no código.

21:44 21:45 21:46 21:47

Computador no qual o compilador executa

Criado output.o

Horário de acordo com o relógio local

(7)

$

• Com a invenção do relógio atômico em 1948, tornou*se possível medir o tempo com muito mais exatidão.

• O segundo é o tempo que um átomo de Césio 133 leva para fazer 9.192.631.770 transições.

• Esse número foi escolhido de modo a fazer com que o segundo atômico fosse igual ao segundo solar médio no ano em que foi lançado.

(8)

% $

• Seja C o valor do relógio 'ideal' (hora UTC)

• Seja Cp o valor do relógio no computador p

• Se t é o tempo no relógio em sincronia com a hora UTC, então temos o tempo em p dado por Cp(t)

& para todo p e para todo t:

(9)

$

• A defasagem do relógio (def) denota a magnitude de diferença entre as

frequências de dois relógios é dada por:

def = C’p(t) – 1

• O deslocamento em relação (desloc) à uma hora específica t é dada por:

(10)

$

'

(

• Considere um SD com 2 máquinas (1 e 2). Ambas possuem um relógio físico não ideal. Após a inicialização sincronizada das duas máquinas, passados 5 segundos (UTC) o relógio da máquina 1 marcava 5,001s e o relógio da máquina 2 marcava 4,997s.

a) Calcule a função que determina o tempo dos relógios das máquinas 1 e 2.

b) Calcule o deslocamento temporal dos relógios 1 e 2.

(11)

$

'

(

a) Calcule a função que determina o tempo dos relógios das máquinas 1 e 2.

Primeiro devemos esboçar o gráfico temporal:

Como todos os relógios inicializaram

sincronizados, logo o tempo zero é igual para ambos os relógios.

(12)

$

'

(

Relembrando.... como obter a equação de uma reta??

A equação de uma reta qualquer é dada por:

y = ax + b

Neste exercício, a reta azul (relógio da máquina 1) é dada por:

Cp1(t) = a1t +b1

Neste exercício, a reta vermelha (relógio da máquina 2) é dada por: a) Calcule a função que determina o tempo dos relógios das

(13)

13

$

'

(

Como descobrir os coeficientes da reta (a1 e b1)?

• A reta é formada por inúmeros pontos formados por (t, Cp1(t));

• Quando t = 0, Cp1 (0) = 0, logo substiuindo esse ponto na equação da reta, temos:

0 = a1.0 + b1 Logo ) * +

• Quando t = 5,001, Cp1 (0) = 5, logo substiuindo esse ponto na equação da reta, temos:

5 = a1 (5,001) + 0

a) Calcule a função que determina o tempo dos relógios das máquinas 1 e 2.

Logo a equação da reta que descreve o relógio da

máquina 1 é dada por:

(14)

$

'

(

Como descobrir os coeficientes da reta (a2 e b2)?

• A reta é formada por inúmeros pontos formados por (t, Cp2(t));

• Quando t = 0, Cp2 (0) = 0, logo substiuindo esse ponto na equação da reta, temos:

0 = a2.0 + b2 Logo )/ * +

• Quando t = 4,997, Cp2 (0) = 5, logo substiuindo esse ponto na equação da reta, temos:

a) Calcule a função que determina o tempo dos relógios das máquinas 1 e 2.

Logo a equação da reta que descreve o relógio da

(15)

$

'

(

b) Calcule o deslocamento temporal dos relógios 1 e 2.

deslocp1(t) = Cp1 - t

deslocp1(t) = 5,001 – 5

deslocp1(t) = 0,001s

deslocp2(t) = Cp2 - t

deslocp2(t) = 4,997 – 5

(16)

$

'

(

c) Calcule a defasagem temporal dos relógios 1 e 2.

Cp2(t) = 1,0006 t

0006 , 1 2 = dt dCp Cp1(t) = 0,9998 t

9998 , 0 1 = dt dCp

defp1(t) = 0,9998 – 1

defp1(t) = – 0,0002s

defp2(t) = 1,0006 – 1

(17)

$ % 0

• Uma abordagem comum a muitos protocolos é deixar que os clientes consultem um servidor de tempo.

• Este pode fornecer a hora corrente . Porém ao receber a hora exata e considerando o atraso da mensagem, a hora

fornecida estará desatualizada.

• A solução é achar uma boa estimativa para esses atrasos e corrigir a hora recebida.

Algoritmo de Cristian

(18)

$

%

• A máquina A enviará uma requisição ao servidor do tempo B com uma marca de tempo registrará a hora em que recebeu a requisição (T2).

(19)

$

%

• Considera*se que os atrasos de propagação de A para B é o mesmo de B para A, logo:

T2 – T1 T4 – T3

• O deslocamento de A em relação a B pode ser estimado como:

2

)

(

)

(

2

3 4 1

2

T

T

T

T

dT

dT

(20)

$

%

1 "

2

• Algoritmo usado para a sincronização interna de um grupo de computadores.

• 'Servidor de tempo' é ativo ) e coleta os valores de relógios de outras máquina

daemon do tempo calcula a média de horário de todas as máquinas: Hora atual é resultante de uma média.

• O daemon do tempo envia à todas as máquinas o total de tempo em que os relógios devem adiantar/atrasar.

(21)
(22)

3

• Até aqui, consideramos que a sincronização de relógios está naturalmente relacionada com a hora real.

(23)

3

3

• Para sincronizar relógios lógicos, Lamport definiu uma relação

denominada .

• A expressão → ) é lida como “a acontece antes de b” e

significa que todos os processos concordam que primeiro ocorre um evento e, depois um evento ).

• A relação acontece antes pode ser observada em duas situações:

a) Se e ) são eventos do mesmo processo, e ocorre antes de

), então → ) é verdadeira.

b) Se é o evento de uma mensagem sendo enviada por um

(24)

3

3

• Uma mensagem não pode ser recebida antes de ser enviada, ou até ao mesmo tempo que é enviada, visto que ela leva uma

quantidade de tempo finita, diferente de zero, para chegar.

• A relação → ) é transitiva, portanto se → ) e ) → , então → .

(25)

3

3

• Considere 3 processos representados na figura a seguir:

• Os processos executam em

máquinas diferentes, cada uma com seu próprio relógio, que funciona com sua própria velocidade.

• Como podemos ver, quando o relógio pulsa 6 vezes no

processo P1, pulsou 8 vezes no processo P2 e 10 vezes no

(26)

3

3

• Considere 3 processos representados na figura a seguir:

• No tempo 6, o processo P1 envia a mensagem ao processo P2.

(27)

3

3

• Considere 3 processos representados na figura a seguir:

• No tempo 60, o processo P3

envia a mensagem e chega em P2 aos 56s.

• No tempo 56, o processo P2

envia a mensagem e chega em P1 aos 54s.

(28)

3

3

• Considere 3 processos representados na figura a seguir:

• A solução de Lamport resulta diretamente da relação

“acontece antes”.

Imagem

Gráfico temporal do relógio 1 Gráfico temporal do relógio 2 Gráfico temporal UTC

Referências

Documentos relacionados

De acordo com o método de equivalência patrimonial, as parcelas atribuíveis à Companhia sobre o lucro ou prejuízo líquido do exercício desses investimentos são registradas

Em sua primeira parte apresenta a riqueza criada pela Companhia, representada pelas receitas (receita bruta das vendas, incluindo os tributos incidentes sobre ela, as outras receitas

Conhecimento de Programas e Normas Técnicas de Produção Orgânica ou de Produção Integrada de Flores e Plantas Ornamentais. Conhecimento de Programas e Normas Técnicas

outras categorias de Servidores, tais como: encarregados da realização da licitação de obras, contratação, recebimento e aprovação de projetos; Auditores e servidores de Órgãos

R E S U M O : Com base no conhecimento de que a tuberculose pulmonar é freqüente complicação evolutiva da silicose (caracterizando a sílicotuberculose), foi realizado estudo visando

Trata-se de um instrumento composto por 16 itens, que tem como objectivo avaliar as expectativas e auto percepção de empregabilidade dos alunos do Ensino Superior

H 1 : não é possível empregar técnicas como equações volumétricas e Redes Neurais Artificiais para obter estimativas volumétricas em plantios comerciais de

d) CONSTRAINT CURSO_ALUNO_FK FOREIGN KEY (CURSO) REFERENCES CODCURSO e) CONSTRAINT FOREIGN KEY (CURSO) CURSO_ALUNO_FK REFERENCES CODCURSO AULA 14.. A empresa ABC Ltda resolveu