Sei sulla pagina 1di 58

Sistemas Distribudo

2012.2

Prof. Andr Ribeiro Cardoso andrec@larces.uece.br

Prof. responsvel pela disciplina: Marcial Porto Fernandez marcial@larces.uece.br

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.

Sincronizao de relgios Relgios fsicos Medida do Tempo


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.

Sincronizao de relgios Relgios fsicos Medida do Tempo

Clculo do dia solar mdio


5

Sincronizao de relgios Relgios fsicos Medida do Tempo


Em meados de 1940:
Estabelecido que a rotao da Terra no constante: Devido desacelerao gradativa resultante de mars e atrito com atmosfera; H 300 milhes de anos o ano tinha 400 dias!
A Terra gira mais devagar, mas no alterou sua rbita. Logo, o tamanho do ano aparenta ser o mesmo, mas os dias ficaram mais longos!

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 .

Sincronizao de relgios Relgios fsicos Medida do Tempo


Em 1948 foi inventado o relgio atmico: Calcula o tempo atravs de contagens de transies do csio 133 (1 segundo solar mdio = 9.192.631.770 transies). Tal fato tornou possvel: Medir o tempo com maior preciso; Medi-lo independentemente das condies do globo terrestre e da atmosfera. Clculo da hora atmica internacional (TAI)pelo BIH.
7

Sincronizao de relgios Relgios fsicos Medida do Tempo


Problema: 86.400 segundos TAI equivalem a aproximadamente 3ms a menos que um dia solar mdio. Soluo: Segundos extras a cada 800ms acumulados

Sincronizao de relgios Relgios fsicos e GPS


Com base no TAI com correes de segundos foi estabelecido o sistema UTC (Universal Coordinated Time), que a base de toda a moderna medio de tempo.
O National Institute of Standard Time (NIST) fornece UTC atravs de rdios de ondas curtas (WWV) (accuracy +- 1mseg) Alm disso vrios satlites fornecem UTC (accuracy 0,5 mseg) O GPS faz triangulao usando satlites de modo a calcular as diferenas de tempo entre o UTC de cada satlite usado, calculando, assim, a localizao geogrfica do ponto.
9

Relgios Fsicos Alg. de sincronizao de relgios


Se uma das mquinas possui receptor WWV:
manter todas as outras mquinas sincronizadas com ela.

Se nenhuma possui receptor WWV:


cada uma cuida de seu prprio horrio; o problema passa a ser manter o horrio de todas mquinas o mais prximo possvel.

Foram propostos vrios algoritmos, todos seguindo as mesmas idias bsicas

10

Relgios Fsicos Alg. de sincronizao de relgios


Algoritmo: Todas mquinas possuem um temporizador que gera interrupes na taxa H vezes por segundo; Quando o temporizador expira, adicionar 1 unidade ao clock C conhecido por todas mquinas do sistema; Quando o tempo UTC for t o valor de clock de uma mquina p Cp(t). Em condies ideais:
Cp (t ) = t , para qualquer valor de p e t Cp (t ) = dC/dt = 1 Teoricamente Um timer com H = 60 obtem 216.000 ticks por hora Na prtica Erro relativo aproximado dos temporizadores 10-5 (215.998-216.002 por hora)
11

Relgios Fsicos Alg. de sincronizao de relgios

12

Relgios Fsicos Protocolo de tempo de rede NTP


Proposto por Cristian(1989), baseia-se em clientes consultarem um servidor de tempo. Funcionamento: 1. Cada mquina envia uma mensagem para o servidor de tempo (mquina com receptor WWV ou relgio de preciso), perguntando pelo tempo corrente 2. Servidor de tempo responde o mais rpido possvel, com uma mensagem contendo o tempo corrente 3. Quando o transmissor obtm uma resposta, ajusta seu clock. Problemas: O tempo no pode retroceder; H atraso no envio das mensagens.
13

Relgios Fsicos Protocolo de tempo de rede NTP


Soluo:
Corrigir a hora mudando o tempo gradativamente:
Atrasa atualizando a cada 9ms ao invs de 10ms; Adianta atualizando a cada 11ms ao invs de 10ms;

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

Relgios Fsicos Protocolo de tempo de rede NTP


Qual horrio prevalece?
Cada computador possui seu estrato. Relgio de referncia: 0; Servidor que possui o relgio de referncia: 1; Se servidor A possui estrato k, B obtm horrio de A, B possui estrato (k+1) Prevalece o horrio do servidor com menor estrato.

15

Relgios Fsicos Protocolo de tempo de rede NTP

16

Relgios Fsicos Algoritmo de Berkley


Ao contrrio do NTP, onde o servidor de tempo passivo, o algoritmo Berkeley consulta todas as mquinas de tempos em tempos, obtendo o horrio de cada mquina; Gera uma mdia de todas as horas, e informa a todos os computadores o deslocamento de tempo a ser feito
O servidor muda inclusive a prpria hora!

17

Relgios Fsicos Algoritmo de Berkley

18

Relgios Fsicos Sinc. e relgios fsicos em redes sem fio


Usa Sincronizao em broadcast de referncia (RBS) Um dos objetivos economia de energia; No adota que h dispositivos com hora real; Visa mera sincronizao (como Berkeley); No utiliza duas vias para sincronizao:
N transmite uma mensagem de referncia m; Cada n p registra a hora Tp,m em que recebeu m; Deslocamento de tempo entre ns p e q dado pela mdia aritmtica das diferenas de tempo de chegada de cada mensagem m trocadas entre p e q. Cada mquina mantm o deslocamento mdio de tempo entre si, no necessitando ajustar o relgio (economizando energia)! Pode-se aplicar outras tcnicas como regresso linear padro para minimizar efeito cumulativo pelo tempo.

19

Relgios Fsicos Sinc. e relgios fsicos em redes sem fio

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

Relgios Lgicos Problemas na ordenao

24

Relgios Lgicos Relgios lgicos de Lamport


Definida a relao acontece antes:
Se a e b so eventos do mesmo processo: Se a acontece antes de b : a b. Sendo a o envio da mensagem e b o recebimento da mensagem: a b. Se a b e b c, ento a c (propriedade transitiva). Se x e y acontecem em processos diferentes que no trocam mensagens, ento tanto x y quanto y x so falsas ! Esses processos so ditos concorrentes. Tempos so medidos em funo: se a b , C(a) < C(b)
25

Relgios Lgicos Arquit. relgios de Lamport

26

Relgios Lgicos Arquit. relgios de Lamport

27

Relgios Lgicos Relgios Lgicos de Lamport


Ordenao total de eventos: Uma operao multicast pela qual todas as mensagens so entregues na mesma ordem a cada receptor.
Cada mensagem ser enviada em multicast e sempre transportar a marca de tempo (lgico) de seu remetente; Mensagens so ordenadas em fila de cache local pela marca lgica de tempo; Quando uma mensagem recebida, a mesma adicionada a seu cache local, e uma mensagem de reconhecimento enviada em multicast; Mensagens s podem ser entregues aplicao aps reconhecimento de todos processos, apenas quando forem a primeira mensagem da fila;

28

Relgios Lgicos Uso em multicast ordenado

29

Relgios Lgicos Relgios Lgicos Vetorias


Tenta solucionar problemas de causalidade apresentados nos relgios de Lamport atravs do uso de relgios vetoriais. Cada processo Pi mantm um vetor VCi com as propriedades: 1. VCj[i] o nmero de eventos que ocorreram em Pi at o instante em questo; 2. Se VCj[j] = k, ento Pi sabe que k eventos ocorreram em Pj. Portanto, Pi conhece o tempo local de Pj.

30

Relgios Lgicos Causalidade em relgios lgicos Vetoriais

31

Relgios Lgicos Relgios Lgicos Vetoriais Imposio Causal

32

Sincronizao
1. Sincronizao de Relgios

2. Relgios Lgicos
3. Excluso Mtua

4. Posicionamento Global de ns
5. Algoritmos de Eleio

33

Sincronizao Excluso Mtua


Como garantir que o acesso concorrente de recursos
no gere situaes de inconsistncia de dados?

Atravs da Excluso Mtua, que, em S.D. pode ser


dividida em duas categorias: Baseadas em fichas;
Evita inanio (Starvation)

Fcil evitar deadlocks Baseadas em permisso.


Processo que quer recursos deve antes pedir permisso aos demais
34

Sincronizao Algoritmo Centralizado


Simula o que feito em um sistema
monoprocessador: Um processo eleito como coordenador; Sempre que um processo quiser acessar determinado recurso, necessrio pedir permisso para acessar o mesmo ao coordenador, atravs de uma mensagem; O coordenador permite acesso ao recurso atravs de uma mensagem de concesso, desde que nenhum outro processo esteja acessando o recurso neste momento.
35

Sincronizao Algoritmo Centralizado


Prs
Simples, fcil de estender e de implementar justo (FCFS) Inexistncia de inanio
Ponto nico de falha Processos no diferenciam coordenador inativo de permisso negada

Contras

36

Sincronizao Algoritmo descentralizado


Usar um algoritmo de votao em um sistema
baseado em DHT: Cada recurso replicado n vezes; Cada rplica possui um coordenador; Processo requisitante precisa receber voto majoritrio de coordenadores: m > n/2 Caso a permisso seja negada (processo obtm menos que m votos), o mesmo desistir do recurso por um perodo de tempo aleatrio, e far a tentativa novamente mais tarde.
37

Sincronizao Algoritmo descentralizado


Prs
Torna a soluo centralizada original menos vulnervel a
falhas de um nico coordenador; Possibilita uso de rplicas de recursos;

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

Sincronizao Algoritmo distribudo


Para muitos, um algoritmo correto segundo as leis
da probabilidade no bom o bastante (incluindo o professor).

Para resolver esse problema, pesquisadores


procuraram algoritmos distribudos determinsticos de excluso mtua.
Lamport apresentou o primeiro em 1978; Ricart e Agrawala o tornaram mais eficiente (1981).

Ser analisada a verso de Ricart e Agrawala.


39

Sincronizao Algoritmo distribudo


Requer ordenao total de todos os eventos no
sistema;
Para isso ser usado... Algoritmo de Lamport!

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

Sincronizao Algoritmo distribudo


Funcionamento (continuao):
1. Se o receptor no estiver acessando o recurso nem quer acess-lo,
devolve OK ao remetente 2. Se j tem acesso ao recurso, no responde e coloca requisio em uma fila; 3. Se receptor tambm quer acessar o recurso, mas ainda no possui a permisso, compara a marca de tempo da mensagem que chegou com a marca de tempo da mensagem que enviou a todos. A mais baixa vence.

O processo remetente aguarda recebimento de todas as


respostas; Quando houver permisso de todos, processo acessa o recurso; Processo libera o recurso enviando um OK a todos os processos
41

Sincronizao Algoritmo distribudo


Vantagens

Excluso mtua garantida; No h deadlock; No h starvation ; Nmero de mensagens: 2(n -1) //n=nmero de ns No existe nenhum ponto de falha nico

42

Sincronizao Algoritmo distribudo


Desvantagens
Ponto de falha nico foi substitudo por n pontos de falha; Deve usar comunicao multicast ou manter uma lista de
associao ao grupo em cada processo, incluindo processos que entram no grupo ou caem (funciona melhor com poucos processos que se mantm estveis); Trocou 1 gargalo por n gargalos;

Portanto : Mais lento, mais complicado, mais caro e menos


robusto que o original centralizado.

43

Sincronizao Algoritmo Token Ring


Baseado nas redes token ring estudadas em rede
de computadores, mas no necessariamente uma rede fsica: pode ser lgica

44

Sincronizao Excluso Mtua Comparao entre os 4 algoritmos


Baseado nas redes token ring estudadas em rede
de computadores, mas no necessariamente uma rede fsica: pode ser lgica

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;

Alm disso, existem solues para ambientes


especficos, como:
Algoritmos para Ad Hoc; Algoritmos para sistemas de grande escala (como P2P)

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

Ns 2 e 5 iniciam eleio simultaneamente


51

Eleies em ambientes s/fio


Necessrios em ambientes onde a troca de
mensagens no confivel e a topologia da rede muda com frequncia, como ad hoc.

Visa eleger o melhor lder em vez de apenas um


lder aleatrio (ex. o que possui maior bateria restante).

Ser adotado que a rede ad hoc mas os ns no


podem se mover.

52

Eleies em ambientes s/fio


Um n fonte P inicia a eleio enviando a
mensagem ELEIO a seus vizinhos;
Quando um n Q recebe a mensagem ELEIO pela
primeira vez, designa o remetente como seu pai e envia uma mensagem ELEIO a todos vizinhos exceto seu pai; Se Q recebe uma mensagem ELEIO de um n no-pai,

apenas confirma o recebimento;

53

Eleies em ambientes s/fio


Se todos vizinhos de um n R j possuem um pai, R
um n folha, portanto pode reportar de volta a Q, passando informaes teis.

Quando Q recebe todas as respostas, reporta a seu


pai qual o melhor dos recebidos por Q;

O n P recebe os melhores candidatos e decide pelo


melhor, informando a todos via broadcast.

54

Eleies em ambientes s/fio

55

Eleies em grande escala


H situaes em que necessrio trabalhar com
redes maiores e necessrio eleger maior quantidade de pares, ex.: Superpares em P2P

Requisitos a serem cumpridos por superpar:


1. Ns normais devem ter baixa latncia de acesso com
superpares; 2. Superpares devem estar uniformemente distribudos pela rede de sobreposio; 3. Deve haver uma poro predefinida de superpares em relao ao nmero total de ns na rede de sobreposio; 4. Cada superpar no deve precisar atender mais do que um nmero fixo de ns normais;

56

Eleies em sistemas grande escala Suppares com k de m bits como id


Uma soluo dada quando se usa m bits de
identificador, separar os k bits da extrema esquerda para identificar superpares; Ex.: log2(N) Superpares, m=8, k=3. p AND 11100000 = Superpar.

Problema: no garante posicionamento geomtrico


para organizar os superpares uniformemente pela rede

57

Eleies em sistemas grande escala Eleio de pares por fichas repulsoras


N fichas distribudas aleatoriamente entre os ns;
Nenhum n pode ter mais de uma ficha; Fichas possuem uma fora de repulso; Um n que mantiver a ficha por determinado tempo eleito
superpar.

58

Potrebbero piacerti anche