Você está na página 1de 6

Sumário

Definição
Introdução aos Sistemas Distribuídos
Exemplos

Vantagens Potenciais
September 21, 2008

Objectivos

Aplicação Distribuída Comunicação Via Mensagens

I Uma mensagem é uma sequência de bits:


O que é?
I O formato e o significado duma mensagem são
É uma aplicação que consiste em 2 ou mais especificados pelo protocolo de comunicação.
processos que executam em diferentes I O transporte duma mensagem dum processo fonte para o
processadores que não partilham memória. processo destino é assegurado por uma rede de
Um corolário desta definição é: comunicação:
Host Host

Os processos duma aplicação distribuída Application

comunicam entre si através da troca de


mensagens.
Host
Channel
Application

Process Process
Host Host
Sistemas de Computação Distribuída

Exemplos? Cluster Computing


Master node Compute node Compute node Compute node

Management Component Component Component


application of of of
parallel parallel parallel
Parallel libs application application application

Local OS Local OS Local OS Local OS

Remote access Standard network


network
High-speed network

Grid Computing

Sistemas de Informação Distribuída Sistemas Ubíquos


Monitores de transacções Sistemas de cuidados médicos
Server Tilt sensor External
Reply storage

Transaction Request ECG sensor Transmitter


Requests PDA
Request GPRS/UMTS
Client Motion sensors
TP monitor Server
application
Reply
Reply
Request body-area network body-area network
(a) (b)
Reply Server

Redes de sensores Sensor network

Integração de aplicações empresariais Operator's site

Client Client Sensor data


application application is sent directly
to operator

(a)

Communication middleware
Each sensor
can process and Sensor network
store data
Operator's site
Server-side Server-side Server-side
Query
application application application

Sensors
send only
answers
(b)
Outros Sistemas/Aplicações Distribuídas. Arquitecturas de Aplicações Distribuídas

I Sistema de ficheiros da FEUP. I A maioria baseia-se na arquitectura cliente-servidor:


I Web e a Internet I Sistema de ficheiros.
I Aplicações de bases de dados.
I Sistema de transporte de email. I A Web.
I Aplicações peer-2-peer. P.ex. Gnutella. I Outras usam uma arquitectura mais distribuída
I Sistemas de controlo de edifícios. (Home automation) (peer-to-peer )
I Sistemas fly-by-wire, drive-by-wire. I Bittorrent.
I Aplicações do tipo Computer Supported Collaborative Work
I Redes de telecomunicações. (CSCW).
I Redes de caixas bancárias automáticas (ATMs). I O sistema de correio electrónico.

Potenciais Vantagens Scalability : Obstáculos

I Acesso a e partilha de recursos distribuídos


geograficamente. I Centralização:
I Desempenho: I processamento;
I possibilidade de mobilizar múltiplos computadores para I dados;
resolver um problema. I algoritmos.
I Expansibilidade (scalability ): I Sincronismo da comunicação.
I “utilizadores” (pessoas/processos); I Comunicação por difusão (broadcast).
I geográfica; I Segurança e (falta de) confiança.
I administrativa.
I Disponibilidade e tolerância a falhas.
Scalability : Algumas Técnicas (1/2) Scalability : Algumas Técnicas (2/2)
Distribuição
processamento: Client
M
Server

FIRST NAME
LAST NAME
E-MAIL
MAARTEN
VAN STEEN
STEEN@CS.VU.NL T
R
A
A
I Alogritmos distribuídos:
E
N
I O estado global do sistema é desconhecido.
(a)
Check form Process form I As decisões são tomadas usando a informação disponível
Client Server
localmente.
FIRST NAME
LAST NAME
MAARTEN
VAN STEEN
MAARTEN
VAN STEEN
I Avarias em alguns componentes não devem comprometer
E-MAIL STEEN@CS.VU.NL STEEN@CS.VU.NL
a correcção do algoritmo.
Check form Process form
I Relógios se disponíveis podem não estar sincronizados.
(b)
I Comunicação assíncrona.
I Replicação e caches:
dados: Generic Countries
+ reduz latência da comunicação;
Z1
+ distribui o processamento;
int com edu gov mil org net jp us nl

sun yale Z2
- levanta problemas de consistência.
acm ieee ac co oce vu

eng cs eng jack jill keio nec cs


Z3
ai linda cs csl flits fluit

robot pc24

Tolerância a Falhas: Obstáculos e Técnicas Objectivos na Concepção duma Aplicação Distribuída

I Detecção de falhas não é fácil:


I Não é possível distinguir um computador lento dum I Concretizar as vantagens mencionadas.
avariado. I Transparência (da distribuição):
I Pode não ser possível determinar se um servidor de facto I “esconder” de utilizadores e programadores de aplicações
executou uma operação antes dum crash. a natureza distribuída da aplicação.
I Chegar a acordo na presença de avarias nem sempre é I Abertura (Openness): 2 significados
possível (na teoria, e ... na prática). I capacidade do sistema/aplicação ser implementado de
I De facto, é um corolário do anterior. maneiras diferentes;
I Algumas técnicas usadas são: I expansibilidade do sistema/aplicação no que respeita à sua
I Transacções; funcionalidade.
I Replicação.
Algumas Facetas da Transparência da Distribuição Grau de Transparência da Distribuição

acesso acesso através das mesmas operações quer o recurso


seja local ou remoto;
I Too much of a good thing is a bad thing (ou, o que é de
localização acesso sem conhecimento da localização dos mais é erro).
recursos; I Nem sempre há interesse em esconder a localização dos
concorrência acesso como se os recursos não fossem recursos:
partilhados; I Por exemplo, uma impressora.
avarias acesso aos recursos independentemente da I Esconder avarias na rede ou em computadores nem
ocorrência de avarias; sempre é possível (em teoria e na prática):
replicação acesso como se os recursos não fossem
I não é possível distinguir um computador lento dum
avariado;
replicados. I pode não ser possível determinar se um servidor de facto
executou uma operação antes dum crash.
I Há pelo menos dois níveis de transparência:
I em relação aos utilizadores;
I e em relação aos programadores de aplicações.

Abertura Sistemas Distribuídos baseados em Middleware

Application Same Application


I Assenta em 2 aspectos:
I em interfaces bem definidos e públicos:
programming
I garantindo a portabilidade das aplicações;
interface
I em protocolos normalizados:
I garantindo a interoperabilidade.
I No mínimo, um sistema distribuído deverá ser Middleware Middleware
Common
independente da heterogeneidade do seu ambiente de Network OS Network OS
execução, i.e.: protocol
I plataformas (HW + SO);
I linguagens de programação.
I Para que o middleware assegure transparência duma
forma aberta, as interfaces têm que ser:
I completas;
I neutras.
Obstáculos Distributed Computing Fallacies (Sun People)

Premissas que nem sempre se verificam


I Acesso à memória:
I tipicamente, apontadores só têm significado no espaço de 1. The network is reliable.
endereçamento dum processo.
2. Latency is zero.
I Heterogeneidade.
3. Bandwidth is infinite.
I Garantir acordo ao nível semântico é bem mais difícil.
I Latência: 4. The network is secure.
I IPC via rede tem uma latência muito maior do que no 5. The topology does not change.
mesmo computador e normalmente não é majorável. 6. There is one administrator.
I Inexistência dum tempo global. 7. Transport cost is zero.
I Falhas parciais: 8. The network is homogeneous.
I Num sistema distribuído, alguns componentes podem
falhar enquanto outros continuam a funcionar. O termo network não deve ser interpretado como a rede
apenas.

Leitura Adicional

I Capítulo 1 de Distributed Systems, 2nd Ed.


I Arnon Rotem-Gal-Oz, Fallacies of Distributed Computing
Explained, http:
//www.rgoarchitects.com/Files/fallacies.pdf