sistemas distribuídos walfredo cirne & fubica brasileiro aula 3:conceitos básicos as figuras...

24
Sistemas Distribuídos Walfredo Cirne & Fubica Brasileiro http://walfredo.dsc.ufcg.edu.br/cursos/2005/di stsis20052 Aula 3:Conceitos Básicos As figuras que aparecem nesses slides são de Veríssimo&Rodrigues, reproduzidas com o consentimento dos mesmos.

Upload: internet

Post on 17-Apr-2015

105 views

Category:

Documents


1 download

TRANSCRIPT

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

Sistemas DistribuídosWalfredo 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.

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

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

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

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 ei

p

– Um evento modifica o estado de p

• A história H é uma seqüência de tuplas contendo um evento ei

p e o estado de p após eip

• Uma execução (run) é um conjunto ordenado de eventos descrito por uma história

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

Eventos

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

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

Eventos e tempo

• t(e) é o tempo real em que e ocorreu

• Relógios locais e timestamps– Granularidade do relógio

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

Estado global

• Especificação– Se no tempo t cada processo está no estado Si

e as mensagens em transito no canal cij que liga pi a pj é S(cij), então o estado global é dado por S = {S1, S2, ... Sn} U {S(cij), 1≤I,j≤n, i ≠j}

• Como computar S internamente?– Troca de mensagens mudará o estado do

sistema!

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

Snapshots distribuídos

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

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

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

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

[email protected] é um nome ou um endereço?

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

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?

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

Troca de mensagens

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

mensagens– Confiabilidade

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

Primitivas bloqueantes vs não bloqueantes

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

Operação remota

• Chamada/invocação remota de procedimento/método– Marshalling/unmarshalling

– Passagem de parâmetros

– Semântica de falhas

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

Comunicação em grupo

• Serviços de uma plataforma de grupos– Filiação

• Visões• Propriedades

– Exatidão– Consistência

– Multicast• Confiabilidade• Ordenação

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

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)

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

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

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

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

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

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

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

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

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

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(ttk+1) – rf(ttk))/g ≤ 1+ para 0 ≤ ttk ≤ ttk+1

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

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

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

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 (rvp) a

partir do seu relógio local (rfp)

– Os relógios virtuais são criados de forma a estarem sincronizados

– São resincronizados de tempos em tempos

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

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

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

Propriedades de um relógio global