Sistemas Distribuídos

Slides:



Advertisements
Apresentações semelhantes
O Modelo OSI O RM-OSI é um modelo de referência p/ interconexão de sistemas abertos (open systems interconection) Padrão ISO 7498, publicado em 1984 Sistemas.
Advertisements

Bruno M. Carvalho Sala: 3B2 Horário: 35T34
Sistemas distribuídos Metas de Projeto Prof. Diovani Milhorim
Redes de computadores I
Redes de computadores I
Sistemas operacionais
Slides(aulas) Ref: Digital Communications Bernard Sklar 1a edição
Capítulo 2: Modelo de Computação distribuída
Capítulo 4: Estado Global
MODELO DE REFERÊNCIA OSI
PROTOCOLO CMB EM SISTEMAS DISTRIBUIDOS
Sistemas Distribuídos de Tempo Real
Sistemas Distribuídos
Maria Aparecida Castro Livi
Sistemas Distribuídos Walfredo Cirne & Fubica Brasileiro Aula 5: Modelos de Sistemas Distribuídos.
Sistemas Distribuídos
Sistemas Distribuídos
Sistemas Distribuídos
Sistemas Distribuídos
Sistemas Distribuídos Walfredo Cirne & Fubica Brasileiro Aula 3:Conceitos Básicos As figuras que.
Sistemas Distribuídos Walfredo Cirne & Fubica Brasileiro Aula 5: Modelos de Sistemas Distribuídos.
Sistemas Distribuídos
Sistemas Distribuídos
Sistemas Distribuídos Walfredo Cirne & Fubica Brasileiro Aula 4: Mais Conceitos Básicos As figuras que aparecem nesses slides são de Veríssimo&Rodrigues,
Modelos Fundamentais -> Interação Falhas Segurança.
(Linguagem de Modelagem Unificada)
Questões Resolvidas - A.C.-10/08/05
Modelo OSI OSI é um modelo de referência para interligação de sistemas abertos (open systems interconection) Padrão ISO 7498, publicado em 1984 Sistemas.
TIME, CLOCK’S and EVENTS
PROBABILISTC CLOCK SYNCHRONIZATION
Tópicos em Sistemas Distribuídos
Protocolo CMB em simulação distribuída
Middleware e Sistemas Distribuídos
SIANET- Um Simulador de IPv6 sobre redes ATM
Tópicos em redes e sistemas distribuídos B Carlos Oberdan Rolim Ciência da Computação.
Sistemas Distribuídos
Carlos Oberdan Rolim Ciência da Computação
Sistemas Distribuídos
Protocolos de Recuperação
O Network Time Protocol
Sistemas Distribuídos Introdução. Conceito Coleção de múltiplos processos que executam sobre uma coleção de processadores autônomos interligados em uma.
PROGRAMAÇÃO DISTRIBUÍDA Aula 01 Prof. Henrique Mongelli
1 Comunicação Inter-Processos -> RMI -> RPC -> TCP -> UDP (Abstração de passagem de mensagem)
Topologia Comunicação de dados Escola Secundaria Sebastião da Gama
SISTEMAS DISTRIBUÍDOS Transações Atômicas
Sistemas Operacionais
OMNeT++.
Laboratório de Programação
Troca de Mensagens Programação concorrente
PROGRAMAÇÃO DISTRIBUÍDA Aula 02 Prof. Henrique Mongelli
Diagrama de Colaboração. Diagramas de Interação Expressam informações bastante similares porém de maneira diferente Diagrama de seqüência: – Interação.
Análise e Projeto de Sistemas
CONECTIVIDADE Prof.: Alessandro V. Soares Ferreira
Sincronização de Clocks em Sistemas Distribuídos Alessandra Antunes Vargas UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL Programa de Pós-Graduação em Engenharia.
SISTEMAS OPERACIONAIS
Kewei Sun, Jie Qiu, Ying Li, Ying Chen IBM China Research Laboratory, Beijing, China. Network Operations and Management Symposium - NOMS 2008 Apresentado.
Concorrência em LF1 Paradigmas de Linguagens de Programação 20 de junho de 2006 Aline Timóteo Carlos Rodrigues Flávia Falcão Tiago Rolim.
Conceitos Fundamentais e Convenções de Notação
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
Directed Diffusion Universidade Federal do Rio de Janeiro Grupo de Teleinformática e Automação CPE Roteamento em Redes de Computadores Danilo Michalczuk.
Projetar Cápsulas Segunda parte. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar cápsulas | 2 Objetivos deste.
Sistemas Operacionais Multimídia. Sistemas de Arquivos Multimídia Duas abordagens para tratar mídias contínuas em sistemas de arquivos: –1a.: organização.
Interações entre objetos
Protocolos de Comunicação e Passagem de Mensagens
1 Especificação de Sistemas de Software e a UML. 2 Modelagem de sistema A modelagem de sistema auxilia o analista a entender a funcionalidade do sistema.
Sistemas Distribuídos
Estruturas de Sistemas Operacionais. Componentes Comuns do Sistema Administração de Processos Administração da Memória Principal Administração do Armazenamento.
Sistemas Distribuídos
Bruna Cavallero Martins Universidade Católica de Pelotas.
Alessandro D. R. Fazenda
Transcrição da apresentação:

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.

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 eip Um evento modifica o estado do processo p A história H é uma seqüência de tuplas contendo um evento eip e o estado de p após eip Uma execução (run) é um conjunto de histórias dos processos que forma o sistema distribuído

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

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

Estado global Especificação Como computar S internamente? Se no tempo t cada processo pi 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! Há protocolos de snapshot que resolvem este problema

Snapshots distribuídos

Tempo e relógios O que é o tempo real? O que é 1 segundo? 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

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

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

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

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 Depende da qualidade do relógio e das condições do ambiente (ex. temperatura) 0 ≤ 1-r ≤ (rf(tk+1) – rf(tk))/g ≤ 1+r

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

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 (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 NTP é o protocolo mais comum para isso

Propriedades de um relógio global Convergência (d): quão próximo os relógios estão sincronizados logo após uma resincronização Precisão (p): quão próximos os relógios se mantêm sincronizados entre si em qualquer tempo Exatidão (a): 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 (r): é a taxa instantâneo de desvio do relógio global

Propriedades de um relógio global

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

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

Estado global Especificação Como computar S internamente? Se no tempo t cada processo pi 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! Há protocolos de snapshot que resolvem este problema

Snapshots distribuídos

Tempo e relógios O que é o tempo real? O que é 1 segundo? 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

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

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

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

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 Depende da qualidade do relógio e das condições do ambiente (ex. temperatura) 0 ≤ 1-r ≤ (rf(tk+1) – rf(tk))/g ≤ 1+r

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

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 (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 NTP é o protocolo mais comum para isso

Propriedades de um relógio global Convergência (d): quão próximo os relógios estão sincronizados logo após uma resincronização Precisão (p): quão próximos os relógios se mantêm sincronizados entre si em qualquer tempo Exatidão (a): 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 (r): é a taxa instantâneo de desvio do relógio global

Propriedades de um relógio global