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

Sistemas Distribuídos
Sistemas Distribuídos Baseados em Objetos
Bruno M. Carvalho Sala: 3B2 Horário: 35T34
Sistemas distribuídos Metas de Projeto Prof. Diovani Milhorim
Sistemas Distribuídos
Redes de computadores I
Redes de computadores I
Bruno Rafael de Oliveira Rodrigues
Modelos de Comunicação em Sistemas Distribuídos
RPC Remote Procedure Call
Arquiteturas de Sistemas Distribuídos: Modelos de Comunicação
Comunicação Distribuída
Capítulo 4: Estado Global
MODELO DE REFERÊNCIA OSI
Sistemas Distribuídos
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 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
QoS para Realidade Virtual
Fabio Notare Martins Pontifícia Universidade Católica do Rio Grande do Sul Programa de Pós-Graduação em Ciências da Computação.
1 Comunicação Inter-Processos -> RMI -> RPC -> TCP -> UDP (Abstração de passagem de mensagem)
1 Arquitetura CORBA Repositório de Implementação Repositório de Interface cliente programa cliente proxy ORB Core ou invocação dinâmica servidor ORB Core.
1 Sistemas Distribuídos - SDI Caracterização de Sistemas Distribuídos. Introdução. Exemplos de Sistemas Distribuídos. Desafios.
Modelos Fundamentais -> Interação Falhas Segurança.
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.
Mobilidade Cláudia Ribeiro.
Obtenção de IP TCP UDP.
Middleware e Sistemas Distribuídos
REDUNDÂNCIA POR SOFTWARE
Sistemas Distribuídos
1 Modelos de Sistemas Distribuídos. Introdução - Dificuldades e ameaças para SD. Grande variação na utilização de SD )carga de trabalho e requerimentos.
Tópicos em redes e sistemas distribuídos B Carlos Oberdan Rolim Ciência da Computação.
Sistemas Distribuídos
Tópicos em redes e sistemas distribuídos Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Carlos Oberdan Rolim Ciência da Computação
Chamada Remota de Procedimentos
Sistemas Distribuídos
Concorrência e Java RMI
Conceitos de J2EE para a WEB
Protocolos de Recuperação
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
Prof. Carlos Roberto da Silva Filho, M. Eng.
1 Comunicação Inter-Processos -> RMI -> RPC -> TCP -> UDP (Abstração de passagem de mensagem)
Técnicas de Replicação
Testes de Software AULA 02 Eduardo Silvestri
Laboratório de Programação
Troca de Mensagens Programação concorrente
PROGRAMAÇÃO DISTRIBUÍDA Aula 02 Prof. Henrique Mongelli
Análise e Projeto de Sistemas
Linguagem de Programação IV Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Modelos de Comunicação em Sistemas Distribuídos
Modelos de Comunicação em Sistemas Distribuídos
Sistemas Distribuídos Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Projeto e Implementação de Sistemas de Arquivos
Conceitos Fundamentais e Convenções de Notação
Sistemas Distribuídos
Leandro Clementino Almeida.  Anos 50 - Sistemas Operacionais tipo Lote:  Aumentar a capacidade de processamento de programas  Usuário ia ao computador.
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.
Revisão Comunicação; Protocolo; Conceitos e Elementos de uma Rede;
Sincronização Lip Sync Sincronização cursor-voz Entre outras mídias.
CURSO JAVA BÁSICO Módulo 9 – slide 1 Módulo 10 Threads.
Estruturas de Sistemas Operacionais. Componentes Comuns do Sistema Administração de Processos Administração da Memória Principal Administração do Armazenamento.
Bruna Cavallero Martins Universidade Católica de Pelotas.
Transcrição da apresentação:

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.

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

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

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

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

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

Snapshots distribuídos

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

Nomes e endereços Nomes identificam objetos Nomes únicos globalmente × contexto de nomes Nomes “puros” × “impuros” Endereços são nomes usados por algum sistema de comunicação para entregar mensagens Nomes são resolvidos em endereços “Ciência da Computação é a ciência que resolve problemas adicionando níveis de indireção” Quais resoluções temos quando enviamos um email para lula@planalto.gov.br? Nomes podem ter seu significado mudado ao longo do tempo

Mapeamento/resolução 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 O servidor de nomes precisa usar um endereço bem conhecido

Servidores de nomes

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

Semântica de Bloqueio O send pode retornar quando: Se recebe um ack Quando o dado enviado está bufferizado Imediatamente Cada opção tem impactos de performance e interface Respose-and-reply × Notification/events

Operação remota Chamada/invocação remota de procedimento/método Marshalling/unmarshalling Bloqueio durante a execução Semântica de falhas Mecanismo básico usado no paradigma cliente/servidor Amplamente usada (ex Java RMI)

Usando multiplas threads com operações remotas

Comunicação em grupo Difusão de conteúdo Grupo de servidores especialmente streaming Grupo de servidores melhor disponibilidade e/ou performance 1 multicast ≠ n unicasts

Multicast para difusão de conteúdo

Group membership Serviço usado para construção de grupos de replicas Provê serviço de alto nível Entrega confiável de mensagens Visão do grupo Os membros do grupo sabem quem está no grupo Ordenação de mensagens O enviador recebe suas próprias mensagens

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)

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 absoluto

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