Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouGabrielhenrique Cid Alterado mais de 10 anos atrás
1
Sistemas Distribuídos Walfredo Cirne & Fubica Brasileiro http://walfredo.dsc.ufcg.edu.br/cursos/2005/distsis20052 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 –fubica@dsc.ufcg.edu.br é um nome ou um endereço?fubica@dsc.ufcg.edu.br
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 10 -5 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
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.