O que é? É uma aplicação que consiste em 2 ou mais processos que executam em diferentes processadores que não partilham memória.

Documentos relacionados
trabalho Heitor Oliveira,Rafael Aleixo,Alex Rodrigues September 2013

Introdução aos Sistemas Distribuídos

Sumário. Introdução aos Sistemas Distribuídos. Comunicação Via Mensagens. Aplicação Distribuída. Definição. Exemplos. Vantagens Potenciais

Sistemas Distribuídos

Índice FCA - EDITORA DE INFORMÁTICA XV

Tecnologias de Distribuição e Integração. Quais as preocupações a ter com um sistema distribuído?

Características de Sistemas Distribuídos

Replicação. Modelos de Consistência.

Sistemas Distribuidos. Prof. Walter Gima

Sistemas Distribuídos

Sistema de Software Distribuído

Programação Distribuída. Metas de um Sistema Distribuído

SISTEMAS DISTRIBUÍDOS

Sistemas Distribuídos

Canais de Comunicação

Sistemas Distribuídos Aspectos de Projeto de SD. Aspectos de Projeto em SD. Transparência 14/03/12. ! Transparência; ! Abertura; !

Redes de Computadores I

Sistemas Distribuídos. Plano de Curso. Plano de Curso 04/03/12 ! EMENTA:

Características de Sistemas Distribuídos

Tolerância a Falhas. Sumário. Acordo Distribuído. December 18, Grupos de Processos

Introdução aos Sistemas Distribuídos

Arquitetura de sistemas distribuídos

Sistemas Distribuídos

Sistemas Distribuídos

Alternativas para a Interoperabilidade entre Sistemas de Informação Universitários

Conceitos de Sistemas Distribuídos

Replicação. Protocolos. June 2, 2010

Sistemas Distribuídos. Ricardo Ribeiro dos Santos

Sistemas Distribuídos

Sistemas Distribuídos

Sistemas Distribuídos

Sistemas Distribuídos

Sistemas Distribuídos

Desenvolvimento de Aplicações Distribuídas

Capítulo II Modelos de Programação Distribuída (parte 2)

Arquitectura de Sistemas Paralelos e Distribuídos Modelos de Sistemas

Informática UFRGS. Programação com Objetos Distribuídos (C. Geyer) Java Comunicação 1

Sumário. 1 Caracterização de Sistemas Distribuídos 1. 2 Modelos de Sistema Redes de Computadores e Interligação em Rede 81

INTRODUÇÃO AOS SISTEMAS DISTRIBUÍDOS. Prof. Cesar Augusto Tacla

Sistemas Distribuídos

Nomes. Sumário. November 2, O Problema. Conceitos Fundamentais. Espaço de Nomes. Rsolução de Nomes

Arquitecturas de Sistemas Distribuídos

UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA. Sistemas Distribuídos

Introdução aos Sistemas Distribuídos

Sistemas distribuídos. Prof. Emiliano Monteiro

Sistemas Distribuídos

AULA 03: PROCESSAMENTO PARALELO: MULTIPROCESSADORES

Arquiteturas. capítulo

Sistemas Distribuídos Aula 10

Tolerância a Falhas. Sumário. December 18, Introdução e Terminologia. Modelos de Falha

Sistemas Distribuídos

Introdução à Computação: Sistemas de Computação

UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA. Sistemas Distribuídos

PROVIDING DEPENDABILITY FOR WEB SERVICES

Informática Básica. Licenciatura em Ciência da Informação. Tito Carlos S. Vieira. Tito Carlos S. Vieira

Tolerância a Falhas. June 2, 2010

Message Oriented Middleware (MOM)

Redes de Computadores e Aplicações Camada de aplicação IGOR ALVES

Sistemas Distribuídos baseados em Coordenação. Pedro Ferreira DI - FCUL

Sistemas Operacionais Distribuídos

Fundamentos de Sistemas de Operação (FSO)

Projeto de Sistemas Distribuídos. Considerações

Função Fundamental do SO

Sistema Distribuído. Sistema Distribuído. Aplicações Distribuídas. Conceitos Básicos

Computação Distribuída

Engenharia de Software

Implementação da Especificação de Tempo Real Java para o EPOS

SISTEMAS DISTRIBUÍDOS

Sistemas Distribuídos

Visão do Usuário da DSM

Protocolo Request-Reply

TM X SM. Replicação de Variáveis Compartilhadas. Protocolo de Atualização Síncrono ORCA

Introdução à passagem de mensagens e sistemas distribuídos

Projeto de Sistemas Distribuídos. Considerações

Introdução. capítulo

Chamada Remota de Procedimento (RPC)

Conceitos avançados de programação. Módulo 8 Programação e Sistemas de Informação Gestão e Programação de Sistemas Informáticos

Departamento de Informática

Bases de Dados. Parte I: Conceitos Básicos

Vamos fazer um pequeno experimento

Sistema de arquivos Distribuidos

SISTEMAS DISTRIBUÍDOS

PROGRAMA DE DISCIPLINA

SISTEMAS DISTRIBUÍDOS

Invocação Remota. Prof. Leonardo Barreto Campos. 1/29

Redes de Computadores

Arquiteturas para SGBD. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Redes de Computadores. A arquitectura protocolar TCP/IP

Sistemas Operacionais Abertos. Prof. MSc. André Yoshimi Kusumoto

(Broadcast - um emissor envia a mensagem para todos os nós do sistema) Multicast um emissor, um grupo de processos como receptores

Sistemas Operacionais II

21108 Sistemas Distribuídos Teste Formativo

falhas em sistemas distribuídos

SISTEMAS DISTRIBUÍDOS ARQUITETURAS. Slides cedidos pela Professora Aline Nascimento

AULA ANTERIOR: MODELOS FUNDAMENTAIS

Transcrição:

Sumário: Introdução aos SD (Uma) Definição dum sistema distribuído (SD). Exemplos de SDs. Potenciais vantagens de SDs. Objectivos no desenvolvimento de SDs. Dificuldades/obstáculos no desenvolvimento de SDs. Middleware e outras infraestruturas para desenvolver SDs. 1 O que é? Aplicação Distribuída É uma aplicação que consiste em 2 ou mais processos que executam em diferentes processadores que não partilham memória. Um corolário desta definição é: Os processos duma aplicação distribuída comunicam entre si através da troca de mensagens. Process Process 2

Comunicação Via Mensagens Uma mensagem é uma sequência de bits: O formato e o significado duma mensagem são especificados pelo protocolo de comunicação. O transporte duma mensagem dum processo fonte para o processo destino é assegurado por uma rede de comunicação: Application Application Channel 3 Exemplos? 4

Arquitecturas de Aplicações Distribuídas A maioria baseia-se na arquitectura cliente-servidor: Sistema de ficheiros. Aplicações de bases de dados. A Web. Outras usam uma arquitectura mais distribuída (peer-to-peer) Bittorrent. Aplicações do tipo Computer Supported Collaborative Work (CSCW). O sistema de correio electrónico. 5 Potenciais Vantagens Acesso a e partilha de recursos distribuídos geograficamente. Desempenho: possibilidade de mobilizar múltiplos computadores para resolver um problema. Expansibilidade (scalability): utilizadores (pessoas/processos); geográfica; administrativa. Disponibilidade e tolerância a falhas. 6

Scalability: Obstáculos Centralização: processamento; dados; algoritmos. Sincronismo da comunicação. Comunicação por difusão (broadcast). Segurança e (falta de) confiança. 7 Scalability: Algumas Técnicas (1/2) Distribuição: processamento: FIRST NAME MAARTEN LAST NAME VAN STEEN E-MAIL STEEN@CS.VU.NL Client N E T R A A M Server (a) Check form Process form Client Server FIRST NAME MAARTEN LAST NAME VAN STEEN E-MAIL STEEN@CS.VU.NL MAARTEN VAN STEEN STEEN@CS.VU.NL dados: Generic Check form (b) Countries Process form int com edu gov mil org net jp us nl Z1 sun yale acm ieee ac co oce vu Z2 eng cs eng jack jill keio nec cs Z3 ai linda cs csl flits fluit robot 8 pc24

Scalability: Algumas Técnicas (2/2) Alogritmos distribuídos: O estado global do sistema é desconhecido. As decisões são tomadas usando a informação disponível localmente. Avarias em alguns componentes não devem comprometer a correcção do algoritmo. Relógios se disponíveis podem não estar sincronizados. Comunicação assíncrona. Replicação e caches: + reduz latência da comunicação; + distribui o processamento; - levanta problemas de consistência. 9 Tolerância a Falhas: Obstáculos e Técnicas Detecção de falhas não é fácil: Não é possível distinguir um computador lento dum avariado. Pode não ser possível determinar se um servidor de facto executou uma operação antes dum crash. Chegar a acordo na presença de avarias nem sempre é possível (na teoria, e... na prática). De facto, é um corolário do anterior. Algumas técnicas usadas são: Transacções; Replicação. 10

Objectivos na Concepção duma Aplicação Distribuída Concretizar as vantagens mencionadas. Transparência (da distribuição): esconder de utilizadores e programadores de aplicações a natureza distribuída da aplicação. Abertura (Openness): 2 significados capacidade do sistema/aplicação ser implementado de maneiras diferentes; expansibilidade do sistema/aplicação no que respeita à sua funcionalidade. 11 Algumas Facetas da Transparência da Distribuição acesso acesso através das mesmas operações quer o recurso seja local ou remoto; localização acesso sem conhecimento da localização dos recursos; concorrência acesso como se os recursos não fossem partilhados; avarias acesso aos recursos independentemente da ocorrência de avarias; replicação acesso como se os recursos não fossem replicados. Há pelo menos dois níveis de transparência: em relação aos utilizadores; e em relação aos programadores de aplicações. 12

Grau de Transparência da Distribuição Too much of a good thing is a bad thing (ou, o que é de mais é erro). Nem sempre há interesse em esconder a localização dos recursos: Por exemplo, uma impressora. Esconder avarias na rede ou em computadores nem sempre é possível (em teoria e na prática): não é possível distinguir um computador lento dum avariado; pode não ser possível determinar se um servidor de facto executou uma operação antes dum crash. 13 Assenta em 2 aspectos: Abertura em interfaces bem definidos e públicos: garantindo a portabilidade das aplicações; em protocolos normalizados: garantindo a interoperabilidade. No mínimo, um sistema distribuído deverá ser independente da heterogeneidade do seu ambiente de execução, i.e.: plataformas (HW + SO); linguagens de programação. 14

Sistemas Distribuídos baseados em Middleware Application Same programming interface Application Middleware Common protocol Middleware Para que o middleware assegure transparência duma forma aberta, as interfaces têm que ser: completas; neutras. 15 Acesso à memória: Obstáculos tipicamente, apontadores só têm significado no espaço de endereçamento dum processo. Heterogeneidade. Garantir acordo ao nível semântico é bem mais difícil. Latência: IPC via rede tem uma latência muito maior do que no mesmo computador e normalmente não é majorável. Inexistência dum tempo global. Falhas parciais: Num sistema distribuído, alguns componentes podem falhar enquanto outros continuam a funcionar. 16

Outras (anteriores) Implementações Distributed Operating System Network Operating System Machine A Machine B Machine C Machine A Machine B Machine C Distributed applications Distributed applications Distributed operating system services services services services Network Network 17 Comparação entre Implementações Nota: De acordo com a definição dada, multiprocessadores não qualificam como uma plataforma para sistemas distribuídos, pelo que a 1 a coluna coluna serve apenas como termo de comparação. 18