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

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

Sistemas Distribuídos Walfredo Cirne & Fubica Brasileiro Aula 3:Conceitos Básicos As figuras que.

Apresentações semelhantes


Apresentação em tema: "Sistemas Distribuídos Walfredo Cirne & Fubica Brasileiro Aula 3:Conceitos Básicos As figuras que."— Transcrição da apresentação:

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

2 Conceitos Fundamentais e Convenções de Notação

3 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 de 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 ordenado de eventos descrito por uma história

4 Eventos Eventos podem ser locais ou podem ser trocas de mensagem –Eventos ordenados e concorrentes

5 Eventos e tempo t(e) é o tempo real em que e ocorreu Relógios locais e timestamps –Granularidade do relógio

6 Estado global Especificação –Se no tempo t cada processo 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!

7 Snapshots distribuídos

8 Propriedades de um sistema Safety –Alguma coisa ruim não pode acontecer Liveliness –Alguma coisa boa vai acontecer Timeliness –Adicionam requisitos de tempo real às propriedades de liveliness

9 Nomes e endereços Endereços são úteis para localizar componentes do sistema distribuído Nomes, além de serem mais fáceis de serem lembrados –São independentes do protocolo e da localização do componente –Podem ter seu significado mudado ao longo do tempo Nomes únicos globalmente e contexto de nomes Nomes puros vs impuros Níveis de abstração é um nome ou um

10 Mapeamento de nomes Serviços de nomes traduzem nomes em endereços –Binding Associa um nome a um endereço –Lookup Recupera (resolve) um endereço a partir de um nome –Unbiding Desassocia um nome a um endereço Como descobrir o endereço do servidor de nomes?

11 Troca de mensagens Mecanismo básico de interação em sistemas distribuídos –Endereçamento, protocolo de comunicação e formato das mensagens –Confiabilidade

12 Primitivas bloqueantes vs não bloqueantes

13 Operação remota Chamada/invocação remota de procedimento/método –Marshalling/unmarshalling –Passagem de parâmetros –Semântica de falhas

14 Comunicação em grupo Serviços de uma plataforma de grupos –Filiação Visões Propriedades –Exatidão –Consistência –Multicast Confiabilidade Ordenação

15 Principais componentes de um protocolo de multicast Serviço de transporte –Roteamento –Tolerância a omissões –Controle de fluxo Ordenação Gerência de filiação (incluindo recuperação de falhas)

16 Tempo e relógios O que é o tempo real? –Função monotônica contínua e crescente O que é 1 segundo? –Várias definições Divisor de um dia solar Relógios atômicos A linha do tempo –timestamps –duração de intervalos –Timers e relógios locais

17 O papel do tempo Crucial na ordenação de eventos Dois usos principais em sistemas distribuídos –Gravar e observar a localização de eventos na linha do tempo seqüênciamento de eventos que formam um estado global –Forçar o futuro posicionamento de eventos na linha do tempo sincronização

18 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 vs tempo absoluto

19 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 ( )

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

21 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

22 Relógios globais Um relógio global é construído através da sincronização de relógios locais –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

23 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 (sincronização interna) Exatidão ( ): quão próximos os relógios estão sincronizados em relação a uma linha de tempo absoluta de referência (sincronização externa) Taxa ( ): é a taxa instantâneo de desvio

24 Propriedades de um relógio global


Carregar ppt "Sistemas Distribuídos Walfredo Cirne & Fubica Brasileiro Aula 3:Conceitos Básicos As figuras que."

Apresentações semelhantes


Anúncios Google