A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Sistemas Distribuídos Francisco Brasileiro Aula 3: Princípios Básicos As figuras que aparecem nesses slides são de Veríssimo&Rodrigues, reproduzidas com.

Apresentações semelhantes


Apresentação em tema: "Sistemas Distribuídos Francisco Brasileiro Aula 3: Princípios Básicos As figuras que aparecem nesses slides são de Veríssimo&Rodrigues, reproduzidas com."— Transcrição da apresentação:

1 Sistemas Distribuídos Francisco Brasileiro Aula 3: Princípios Básicos As figuras que aparecem nesses slides são de Veríssimo&Rodrigues, reproduzidas com o consentimento dos mesmos.

2 Notações formais É normalmente conveniente tratar com processos ao invés de processadores –Um sistema distribuído é composto por N processos que executam em M processadores –Processadores são conectados por canais de comunicação A evolução do sistema é modelada por uma sequência de eventos e i p –Um evento modifica o estado do processo p A história H é uma seqüência de tuplas contendo um evento e i p e o estado de p após e i p Uma execução (run) é um conjunto de histórias dos processos que forma o sistema distribuído

3 Eventos Eventos podem ser locais ou podem ser trocas de mensagem Eventos ordenados e concorrentes

4 Precedência [Lamport] Se a e b são eventos no mesmo processo e a precede b, então a b Se a é o envio da mensagem m e b é a recepção da mensagem m, então a b Se a b e b c, então a c

5 Estado global Especificação –Se no tempo t cada processo p i está no estado S i e as mensagens em transito no canal c ij que liga p i a p j é S(c ij ), então o estado global é dado por S = {S 1, S 2,... S n } U {S(c ij ), 1i,jn, i j} Como computar S internamente? –Troca de mensagens mudará o estado do sistema! –Há protocolos de snapshot que resolvem este problema

6 Snapshots distribuídos

7 Tempo e relógios O que é o tempo real? –Função monotônica contínua e crescente [Newtoniano] O que é 1 segundo? –Divisor de um dia solar –Relógios atômicos A linha do tempo –timestamps –duração de intervalos Relógios

8 O papel do tempo Gravar e observar a localização de eventos na linha do tempo –seqüênciamento de eventos que formam um estado global –medir a duração entre dois eventos Forçar o futuro posicionamento de eventos na linha do tempo –sincronização

9 Medindo tempo em sistemas distribuídos Como medir durações distribuídas? Como reconciliar diferentes linhas do tempo? –Ex. qual o tempo de transmissão de uma mensagem? Tempo global × tempo real

10 Relógios locais físicos O hardware (rf) implementa uma função monotônica discreta e crescente que mapeia o tempo real t em um tempo de relógio rf(t) Imperfeições de relógios físicos –Granularidade (g) –Taxa de desvio ( )

11 Propriedades de um relógio físico Granularidade –Relógios físicos avançam em ticks (t k ) g = rf(t k+1 ) – rf(t k ) Taxa de desvio –Depende da qualidade do relógio e das condições do ambiente (ex. temperatura) 0 1- (rf(t k+1 ) – rf(t k ))/g 1+

12 Para que serve um relógio local? Prover timestamps para eventos locais Medir durações locais –Qual o erro causado pela taxa de desvio? – é tipicamente na ordem de Definir timeouts Medir durações de atraso round-trip

13 Relógios globais Um relógio global é construído através da sincronização de relógios locais por um protocolo de sincronização de relógio –Cada processo p cria um relógio virtual (rv p ) a partir do seu relógio local (rf p ) –Os relógios virtuais são criados de forma a estarem sincronizados –São resincronizados de tempos em tempos –NTP é o protocolo mais comum para isso

14 Propriedades de um relógio global Convergência ( ): quão próximo os relógios estão sincronizados logo após uma resincronização Precisão ( ): quão próximos os relógios se mantêm sincronizados entre si em qualquer tempo Exatidão ( ): quão próximos os relógios estão sincronizados em relação a uma linha de tempo absoluta de referência –Requer um dispositivo de sincronização externa (ex. GPS) em algum lugar do sistema Taxa de desvio ( ): é a taxa instantâneo de desvio do relógio global

15 Propriedades de um relógio global

16 Eventos Eventos podem ser locais ou podem ser trocas de mensagem Eventos ordenados e concorrentes

17 Precedência [Lamport] Se a e b são eventos no mesmo processo e a precede b, então a b Se a é o envio da mensagem m e b é a recepção da mensagem m, então a b Se a b e b c, então a c

18 Estado global Especificação –Se no tempo t cada processo p i está no estado S i e as mensagens em transito no canal c ij que liga p i a p j é S(c ij ), então o estado global é dado por S = {S 1, S 2,... S n } U {S(c ij ), 1i,jn, i j} Como computar S internamente? –Troca de mensagens mudará o estado do sistema! –Há protocolos de snapshot que resolvem este problema

19 Snapshots distribuídos

20 Tempo e relógios O que é o tempo real? –Função monotônica contínua e crescente [Newtoniano] O que é 1 segundo? –Divisor de um dia solar –Relógios atômicos A linha do tempo –timestamps –duração de intervalos Relógios

21 O papel do tempo Gravar e observar a localização de eventos na linha do tempo –seqüênciamento de eventos que formam um estado global –medir a duração entre dois eventos Forçar o futuro posicionamento de eventos na linha do tempo –sincronização

22 Medindo tempo em sistemas distribuídos Como medir durações distribuídas? Como reconciliar diferentes linhas do tempo? –Ex. qual o tempo de transmissão de uma mensagem? Tempo global × tempo real

23 Relógios locais físicos O hardware (rf) implementa uma função monotônica discreta e crescente que mapeia o tempo real t em um tempo de relógio rf(t) Imperfeições de relógios físicos –Granularidade (g) –Taxa de desvio ( )

24 Propriedades de um relógio físico Granularidade –Relógios físicos avançam em ticks (t k ) g = rf(t k+1 ) – rf(t k ) Taxa de desvio –Depende da qualidade do relógio e das condições do ambiente (ex. temperatura) 0 1- (rf(t k+1 ) – rf(t k ))/g 1+

25 Para que serve um relógio local? Prover timestamps para eventos locais Medir durações locais –Qual o erro causado pela taxa de desvio? – é tipicamente na ordem de Definir timeouts Medir durações de atraso round-trip

26 Relógios globais Um relógio global é construído através da sincronização de relógios locais por um protocolo de sincronização de relógio –Cada processo p cria um relógio virtual (rv p ) a partir do seu relógio local (rf p ) –Os relógios virtuais são criados de forma a estarem sincronizados –São resincronizados de tempos em tempos –NTP é o protocolo mais comum para isso

27 Propriedades de um relógio global Convergência ( ): quão próximo os relógios estão sincronizados logo após uma resincronização Precisão ( ): quão próximos os relógios se mantêm sincronizados entre si em qualquer tempo Exatidão ( ): quão próximos os relógios estão sincronizados em relação a uma linha de tempo absoluta de referência –Requer um dispositivo de sincronização externa (ex. GPS) em algum lugar do sistema Taxa de desvio ( ): é a taxa instantâneo de desvio do relógio global

28 Propriedades de um relógio global


Carregar ppt "Sistemas Distribuídos Francisco Brasileiro Aula 3: Princípios Básicos As figuras que aparecem nesses slides são de Veríssimo&Rodrigues, reproduzidas com."

Apresentações semelhantes


Anúncios Google