Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
2012.2
Sincronizao
1. Sincronizao de Relgios
2. Relgios Lgicos
3. Excluso Mtua
4. Posicionamento Global de ns
5. Algoritmos de Eleio
Sincronizao de relgios
Relgios so essenciais no uso de computao, seja
para medir o tempo ou identificar sequncias de eventos diversos.
Em sistemas centralizados, o tempo no ambguo, sendo
gerenciado em apenas 1 mquina e obtido por chamada ao ncleo; Em sistemas distribudos, obter um horrio comum a vrios computadores no trivial.
Alm disso h pequenas alteraes ao longo do dia, devido a turbulncias no ncleo da Terra; Necessrio definir nova medida para o tempo: Calculado o tempo de vrios dias, obtendo uma mdia do dia. Ao dividi-la por 86.400, obtm-se o segundo solar mdio .
10
12
Calcular o atraso com base na medida do tempo da transmisso atravs do uso do deslocamento e estimativa de atraso . Resultado melhorado usando histrico de mdias.
14
15
16
17
18
19
20
Sincronizao
1. Sincronizao de Relgios
2. Relgios Lgicos
3. Excluso Mtua
4. Posicionamento Global de ns
5. Algoritmos de Eleio
21
Sincronizao de Relgios
At inveno dos relgios mecnicos (sec. XVII):
Tempo medido com auxlio dos astros;
Sol nasce no horizonte a leste; Alcana uma altura mxima no cu, ao meio dia (trnsito solar ); Sol se pe no horizonte a oeste;
Intervalo entre 2 trnsitos solares consecutivos do Sol um dia solar; Portanto, se um dia possui 24 horas:
Cada hora possui 3600 segundos; Um segundo solar exatamente 1/86.400 de um dia solar.
22
Relgios Lgicos
At o momento foi considerada a sincronizao de relgios como naturalmente relacionada com a hora real. Lamport mostrou que, embora a sincronizao de relgios seja possvel, no precisa ser absoluta: necessrio sincronizar processos que no interagem entre si? No! Soluciona problemas relativos a ordem de eventos independentemente da hora real.
23
24
26
27
28
29
30
31
32
Sincronizao
1. Sincronizao de Relgios
2. Relgios Lgicos
3. Excluso Mtua
4. Posicionamento Global de ns
5. Algoritmos de Eleio
33
Contras
36
Contras
No protege contra starvation; Se muitos ns querem acessar o mesmo recurso, nenhum
n conseguir votos suficientes, e os recursos deixaro de ser usados; H uma probabilidade positiva (embora muito baixa) de
permitir a 2 ns acesso ao mesmo recurso, ao mesmo tempo (ou seja, no garantir a excluso mtua).
38
Funcionamento:
Quando processo deseja acessar um recurso compartilhado,
monta uma mensagem que contm o nome do recurso, seu nmero de processo e a hora corrente (lgica). Envia mensagem para todos processos, inclusive ele mesmo (similar a broadcast ou multicast); Quando um processo recebe uma mensagem de requisio de outro, executa uma ao de acordo com seu prprio estado em relao ao recurso:
40
42
43
44
45
Sincronizao
1. Sincronizao de Relgios
2. Relgios Lgicos
3. Excluso Mtua
4. Posicionamento Global de ns
5. Algoritmos de Eleio
46
Algoritmos de Eleio
Usados quando h necessidade de um n agir como
coordenador. So exemplos tradicionais de algoritmos de eleio:
Algoritmo do valento; Algoritmo de anel;
47
Algoritmos do Valento
Inventado por Garcia-Molina (1982);
Todos ns possuem um identificador; Sempre que um n qualquer P nota que o coordenador no
responde, P inicia uma eleio: 1. P envia uma mensagem ELEIO a todos os processos de nmeros mais altos; 2. Se nenhum responder, P vence a eleio e se torna o coordenador; 3. Se um dos processos de nmero mais alto responder, ele toma o poder e o trabalho de P est concludo. Dessa forma eleito o n com maior identificador!
48
Algoritmos do Valento
49
Algoritmos do Anel
Baseado na utilizao de anel (fsico ou lgico), mas
no usa ficha:
Quando qualquer processo nota que o coordenador no est
funcionando, monta uma mensagem ELEIO com seu prprio nmero e o envia a seu sucessor ou prximo que esteja em funcionamento; A cada etapa, o remetente adiciona seu nmero de modo a se tornar tambm um candidato eleio de coordenador; Ao chegar ao primeiro, este envia a mensagem COORDENADOR contendo o maior identificador da lista.
50
Algoritmos do Anel
52
53
54
55
56
57
58