Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Universidade Lusófona
1. Introdução
Caracterização
C t i ã ddos Si
Sistemas
t Di
Distribuídos
t ib íd (SD)
Requisitos, arquitectura e funcionalidades
Exemplos de SDs
2 Arquitecturas
2. A it t e Modelos
M d l d de C
Comunicação
i ã Di
Distribuída
t ib íd
Arquitecturas de sistemas
Níveis de software: papel do Middleware
Interfaces e objectos
Modelos de interacção, de falhas e de segurança
3. Comunicação entre Processos Distribuídos
Características da comunicação entre processos
Invocação, parâmetros e heterogeneidade de dados
Técnicas de representação de dados e serialização
Comunicação cliente / servidor e multi
multi-ponto
ponto
► Componentes da Avaliação
A Assiduidade
A id id d é F
Fundamental
d t l
• Regulamento obriga a assistir a 75% das aulas
Prática 50%
• Mínimo
Mí i d
de 2 ttrabalhos
b lh com entrega
t ffaseada
d
Teórica 50%
• Frequência Final
Notas inferiores a 8 (sem arredondamento!) são eliminatórias
► Aprovação na Cadeira: nota final de 10 valores
As notas parcelares não são arredondadas
• Notas dos trabalhos, nota prática, nota teórica
Só a nota final é arredondada
• Arredondamento
A d d t só
ó é ffeito
it ddepois
i dde calculada
l l d a média
édi
► Tutoriais Importantes
SUN RPC
• http://docs.sun.com/app/docs/doc/816-1435/oncintro-fig-1?a=view
p pp g
Java RMI
• http://java.sun.com/docs/books/tutorial/rmi/index.html
JAX-WS Web Services
• http://www.netbeans.org/kb/docs/websvc/jax-ws.html
Etc…
Etc
Computação Distribuída 1.8 Licenciatura Eng.ª Informática
Introdução
► Exemplos de SDs
Aplicação Distribuída
► Multiprocessador
Executa uma única instância do SO residente na MC
A distribuição (paralelização) é gerida pelo SO ao nível da
linguagem de programação com suporte do hardware
• threads, locks, semáforos
• instruções indivisíveis
Memória partilhada
input/output
► Multicomputador
Cada processador executa uma instância distinta do SO mas
oferece uma imagem única às aplicações
Os programas podem ser executados em paralelo por todos os
processadores
A sincronização é gerida ao nível do Hardware e de cada SO
• Mecanismos de sincronização específicos (encadeamento de instruções,…)
• Single System Image
M M M M M M M
P P P P P P P
Input/output
programa
M – memória
P – processador
► Processadores desacoplados
C
Cada
d processador
d executa uma iinstância
â i didistinta
i d
do SO
SO, podendo
d d
ou não oferecer uma imagem de sistema único às aplicações
A distribuição
ç ég gerida exclusivamente p
por software
• Tradicionalmente gerida pelo SO
• Tem vindo a evoluir para o software
Tema da cadeira de CD
Rede de Dados
► Anos 70 – 80
Sistemas
Si t O
Operativos
ti
• VMS da DEC
• AOS/VS da Data General
• Unix (ATT,
( , Berkeley,
y, OSF))
Primeiros Sistemas Operativos Distribuídos
• Amoeba
• Mach3.0
• Chorus
► Anos 90 – 00
Enorme
E evolução
l ã ttecnológica
ló i d das TIC
• Redes de Computadores: aumento da largura de banda
• Capacidade de processamento: PCs, arquitecturas multiprocessador
Evolução dos Sistemas Operativos
• MAC/OS, Unix, Windows retomam conceitos de grandes sistemas (VMS…)
Desenvolvimento da computação na Web
• Sistemas abertos e ubíquos
Aparecimento de Plataformas de Middleware
• PVM, MQ Series, Tuxedo, Corba, Java, WebServices
• Webmethods, Vitria, Tibco
=► O suporte da distribuição migra para as plataformas
► A computação torna-se distribuída
Os SO continuam a fornecer funcionalidades essenciais
► Melhoria do desempenho
Repartição do processamento por vários computadores
► Partilha de Recursos
CPU, armazenamento, periféricos
► Maior tolerância a falhas
Aumento do factor de redundância
► Maior modularidade
Cada
C d sistema
i t iindividual
di id l é gerido
id iindependentemente
d d t t
► Acesso generalizado
Mesmos serviços acessíveis em todo o lado
► Melhoria de desempenho
Execução efectivamente paralela de secções independentes de
aplicações
São necessárias optimizações para tirar real partido da distribuição
► Maior disponibilidade
Aumento da fiabilidade através da redundância
► Melhor escalabilidade
Facilidade de adicionar elementos de forma incremental
► Melhor suporte da mobilidade
Independentes da localização geográfica
► Maior modularidade
A distribuição pressupõe a componentização das aplicações
► Custos inferiores
Preço e manutenção de servidores inferior ao de mainframes
Evolução do factor
de escala na Internet
► Detecção de falhas
Algumas falhas podem ser detectadas
• Ex: mecanismos de checksum detectam erros de transmissão
Outras não são detectáveis
• Ex: crash de um servidor ou congestão na rede de dados?
► Mascarar falhas
Depois de detectadas, algumas falhas podem ser mascaradas
• Ex: retransmissão de pacotes, utilizar cópia local dos dados
► Tolerância
T l â i a falhas
f lh
Capacidade de “tratar” um erro previamente identificado, continuando a
oferecer parte do serviço
Especificação do comportamento na ocorrência de falhas
• Ex: continuar com funcionalidade reduzida, utilizar redundância
► Recuperação de falhas
Envolve a capacidade
p de recuperar
p o estado do sistema antes da falha e
reconstitui-lo (roll-back)
Mecanismos complexos que envolvem a noção de transacção
Design”
g ((4th Edition),
) by
y Coulouris, Dollimore & Kindberg
g
intranet
ISP
backbone
satellite link
desktop computer:
server:
network link:
Local area
Web server network
email server
print
File server
other servers
the rest of
the Internet
router/firewall
Internet
Mobile
phone
Printer Laptop
Camera Host site
Objectivos:
► No final deste capítulo
capítulo, os alunos devem ficar a conhecer:
O conceito de distribuição e as suas motivações
As características essenciais dos sistemas distribuídos
Os requisitos da distribuição
• Heterogeneidade
• Abertura
• Segurança
g ç
• Escalabilidade
• Gestão de falhas
• Concorrência
• Transparência
► Trabalho individual complementar
Fornecer exemplos de Sistemas Distribuídos
Ler o 1º capítulo do livro “Distributed
Distributed Systems: Concepts and Design
Design” (4th
Edition), by Coulouris, Dollimore & Kindberg
► Livro de Referência
http://www.cdk4.net
► ANSA Project - Introdução
http://www.ansa.co.uk/ANSATech/89/TR0302.pdf
► OMG - Object Management Group
http://www.omg.org
► Corba
http://www.omg.org/gettingstarted/corbafaq.htm