Introdução aos Sistemas Distribuídos



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

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

trabalho Heitor Oliveira,Rafael Aleixo,Alex Rodrigues September 2013

Sistemas Distribuídos: Conceitos e Projeto Classificação de Sistemas Distribuídos e Middleware

Redes de Computadores I

Sistemas Distribuídos (DCC/UFRJ)

Distributed Systems Principles and Paradigms

Aula 03-04: Modelos de Sistemas Distribuídos

Departamento de Informática

2 Gerenciamento de Log 2.1 Definições básicas

Sistemas Distribuídos. Fundamentos. Nazareno Andrade. Universidade Federal de Campina Grande 02/2008

Introdução. Definição de um Sistema Distribuído (1) Definição de um Sistema Distribuído(2) Metas de Sistemas Distribuídos (2)

ICORLI INSTALAÇÃO, CONFIGURAÇÃO E OPERAÇÃO EM REDES LOCAIS E INTERNET

Sistemas de Nomes Planos

Introdução. Sistemas Distribuídos. Mas, o que é um sistema distribuído? Seriamente. Professor: Paulo Jorge Marques. Professora Práticas: Pinki Meggi

SISTEMAS DISTRIBUIDOS

Serviço de instalação e arranque da solução de armazenamento de rede HP StoreEasy 1000/3000

Sistemas Distribuídos

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

Faculdade Integrada do Ceará FIC Graduação em Redes de Computadores

Rede de Computadores (REC)

UNIVERSIDADE. Sistemas Distribuídos

Workflow Management Systems

Departamento de Informática

Sistemas Distribuídos

Curso: Redes II (Heterogênea e Convergente)

Questão 1. Benefícios. Benefícios. Desafios. Desafios. 1. Quais são os desafios e benefícios em potencial da computação distribuída?

Sistemas Distribuídos. Introdução

Redes - Internet. Sumário Aula 3,4 e 5 9º C } Estrutura baseada em camadas. } Endereços IP. } DNS -Domain Name System

Message Oriented Middleware (MOM)

Camadas de Serviço de Hardware e Software em Sistemas Distribuídos. Introdução. Um Serviço Provido por Múltiplos Servidores

DISTRIBUTED SYSTEMS ARCHITECTURES. Ian Sommerville, 8º edição Capítulo 12 Aula de Luiz Eduardo Guarino de Vasconcelos

Princípios de Sistemas Distribuídos. Tecnologias utilizadas em sistemas distribuídos Aula 5

GESTÃO DE SISTEMAS E REDES DOMAIN NAME SYSTEM

PADI Plataformas para Aplicações Distribuídas na Internet

Disciplina: Redes de Comunicação. Curso Profissional Técnico de Gestão e Programação de Sistemas Informáticos. Setembro 2013

Rede de Computadores

Qualidades. Atributos de Qualidade. Atributos de Qualidade. Categorias de Qualidades. Arquitecturas de Software

Ciência de Computadores Sistemas Distribuídos e Móveis

Disciplina de Redes de Computadores Estudo Dirigido para a Prova II Professor Dr Windson Viana de Carvalho

UTFPR - Sistemas Distribuídos Prof. Cesar Augusto Tacla. Anotações. Copyright Cesar Augusto Tacla

Redes de Computadores

Redes de Computadores. Arquitetura de Protocolos Profa. Priscila Solís Barreto

Concretização de um protocolo de difusão atómica em sistemas com ligações intermitentes

UFG - Instituto de Informática

Sistemas Distribuídos: Conceitos e Projeto Caracterização de Sistemas Distribuídos

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

Licenciatura em Engenharia Informática Sistemas Distribuídos I 2ª chamada, 6 de Julho de º Semestre, 2004/2005

SERVIÇO DE NOMES. Sistemas Distribuídos. Vinícius Pádua

Camadas de Software - o Middleware. Sistemas Distribuídos Capítulo 2: Modelos e Arquitecturas. Aplicações. Middleware.

Programação Distribuída

Invenções Implementadas por Computador (IIC) Patentes

Redes de Computadores e a Internet

Comunicação. Parte II

Introdução aos Sistemas Distribuídos

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular SISTEMAS DISTRIBUIDOS Ano Lectivo 2015/2016

Sistemas Distribuídos

Unidade 1. Conceitos Básicos

Service Oriented Architecture SOA

Redes Industriais. Alexandre Rocha Alysson Geisel

Prof. Samuel Henrique Bucke Brito

Sistemas Distribuídos Capítulos 3 e 4 - Aula 4

ANEXO V Edital nº 03508/2008

Componentes em Esquema de Tolerância a Faltas Adaptativa

Administração de Sistemas de Informação I

Oracle WebLogic Server 11g: Conceitos Básicos de Administração

Visão do Usuário da DSM

Modelos de Sistemas Distribuídos. . Requerimentos de Projeto para Arquiteturas Distribuídas

Análise comparativa sobre bases de dados para armazenamento e consulta de dados não estruturados no formato JSON.

Protocolo. O que é um protocolo? Humano: que horas são? eu tenho uma pergunta

Rede Local - Administração Serviços e Aplicações de Suporte

Sistemas Multimédia. Arquitectura Protocolar Simples Modelo OSI TCP/IP. Francisco Maia Redes e Comunicações

Infra-estrutura de Software

1. O DHCP Dynamic Host Configuration Protocol

Introdução. Capítulo 1

3. Faça uma breve descrição sobre a topologia da rede e o Active Directory-AD DISCIPLINA DE ARQUITETURA FECHADA WINDOWS SERVER

Arquitetura de Sistemas Operativos

Curso Profissional de Técnico de Gestão e Programação de Sistemas Informáticos. Sistemas Operativos - 2º Ano

Tutorial: Instalar uma Central telefónica baseada em Elastix

} Monolíticas Aplicações em um computador centralizado. } Em Rede Aplicações com comunicação em rede. } Distribuídas Comunicação e cooperação em rede


Redes de Computadores. 1 Questões de múltipla escolha. TE090 - Prof. Pedroso. 17 de junho de 2015

Tecnologia e Infraestrutura. Conceitos de Redes

Sistemas Distribuídos. Ricardo Ribeiro dos Santos

Chord. Tecnologias de Middleware. Fernando Martins - fmp.martins@gmail.com

Web Services e SOAP. Alexandre Zua CaldeiraTecnologias de Middleware 2006/ Faculdade de Ciências da Universidade de Lisboa

Visão Geral do Protocolo CANBus

Transcrição:

Introdução aos Sistemas Distribuídos September 22, 2009 Sumário Definição Exemplos Vantagens Potenciais Objectivos Obstáculos

Aplicação Distribuída O que é? É 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 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: Host Host Application Host Application Channel Host Host

Exemplos? Sistemas de Computação Distribuída Cluster Computing Master node Compute node Compute node Compute node Management Parallel libs Component of parallel Component of parallel Component of parallel Local OS Local OS Local OS Local OS Remote access network Standard network High-speed network Grid Computing

Sistemas de Informação Distribuída Monitores de transacções Reply Server Transaction Client Requests Reply TP monitor Request Request Reply Request Server Reply Server Integração de aplicações empresariais Client Client Communication middleware Server-side Server-side Server-side Sistemas Ubíquos Sistemas de cuidados médicos Tilt sensor ECG sensor PDA Motion sensors Transmitter GPRS/UMTS External storage body-area network (a) body-area network (b) Redes de sensores Sensor network Operator's site Sensor data is sent directly to operator (a) Operator's site Each sensor can process and store data Query Sensor network Sensors send only answers (b)

Outros Sistemas/Aplicações Distribuídas. Sistema de ficheiros da FEUP. Web e a Internet Sistema de transporte de email. Aplicações peer-2-peer. P.ex. Gnutella. Sistemas de controlo de edifícios. (Home automation) Sistemas fly-by-wire, drive-by-wire. Redes de telecomunicações. Redes de caixas bancárias automáticas (ATMs). 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.

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. Scalability: Algumas Técnicas (1/2) Distribuição processamento: Client FIRST NAME MAARTEN LAST NAME VAN STEEN E-MAIL STEEN@CS.VU.NL 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 Check form (b) Process form dados: Generic Countries 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 pc24

Scalability: Algumas Técnicas (2/2) Algoritmos 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. 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.

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. 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.

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. Abertura Assenta em 2 aspectos: 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.

Sistemas Distribuídos baseados em Middleware Application Same programming interface Application Middleware Network OS Common protocol Middleware Network OS Obstáculos Acesso à memória: 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.

Distributed Computing Fallacies (Sun People) Premissas que nem sempre se verificam 1. The network is reliable. 2. Latency is zero. 3. Bandwidth is infinite. 4. The network is secure. 5. The topology does not change. 6. There is one administrator. 7. Transport cost is zero. 8. The network is homogeneous. O termo network não deve ser interpretado como a rede apenas. Leitura Adicional Capítulo 1 de Distributed Systems, 2nd Ed. Arnon Rotem-Gal-Oz, Fallacies of Distributed Computing Explained, http: //www.rgoarchitects.com/files/fallacies.pdf