Você está na página 1de 16

1

Material de suporte s aulas de SD1 (Nuno Preguia) Copyright DI FCT/ UNL / 1


Sistemas distribudos I
Captulo 1
Introduo
Material de suporte s aulas de SD1 (Nuno Preguia) Copyright DI FCT/ UNL / 2
Nota prvia
A estrutura da apresentao semelhante e utiliza algumas das
figuras do livro de base do curso
G. Coulouris, J. Dollimore and T. Kindberg,
Distributed Systems - Concepts and Design,
Addison-Wesley, 4th Edition, 2005
2
Material de suporte s aulas de SD1 (Nuno Preguia) Copyright DI FCT/ UNL / 3
Organizao do captulo
Definio, exemplos
Caractersticas essenciais dos sistemas distribudos
Desafios: heterogeneidade, abertura, segurana, escala, falhas,
concorrncia, transparncia
Material de suporte s aulas de SD1 (Nuno Preguia) Copyright DI FCT/ UNL / 4
Definio de sistema distribudo
Um sistema distribudo um conjunto de componentes hardware (ns,
hosts, mquinas ou computadores) e software interligados atravs de uma
infra-estrutura de comunicaes (geralmente uma rede de computadores
ou um bus especial, ), que cooperam e se coordenam entre si apenas
pela troca de mensagens, para execuo de aplicaes distribudas (pelos
diferentes computadores)
Assim, no mbito desta cadeira, no estamos interessados nos sistemas
que cooperam e se coordenam pela partilha de memria comum
3
Material de suporte s aulas de SD1 (Nuno Preguia) Copyright DI FCT/ UNL / 5
Exemplo: servios na Internet
intranet
ISP
desktop computer:
backbone
satellite link
server:

network link:

Web (HTTP), E-mail


(SMTP); instant-
messaging (e.g.Icq); VoIP
(e.g.Skype); etc.
Material de suporte s aulas de SD1 (Nuno Preguia) Copyright DI FCT/ UNL / 6
Exemplo: servios em intranets
the rest of
email server
Web server
Desktop
computers
File server
router/firewall
print and other servers
other servers
print
Local area
network
email server
the Internet
Internet +
impresso; sistemas de
ficheiros; etc.
4
Material de suporte s aulas de SD1 (Nuno Preguia) Copyright DI FCT/ UNL / 7
Exemplo: servios em ambientes de computao
mvel
Computao mvel: execuo de tarefas em dispositivos portteis durante
o movimento do utilizador ou em locais diferentes do habitual ambiente de
trabalho
Mltiplos dispositivos portteis
Diversas redes sem fios: GSM, UMTS, Wi-Max, Wi-Fi, Bluetooth
Laptop
Mobile
Printer
Camera
Internet
Host intranet
Home intranet
WAP
Wireless LAN
phone
gateway
Host site
Internet/Intranet +
descoberta automtica;
localizao; adaptao dos
dados; execuo remota; etc.
Material de suporte s aulas de SD1 (Nuno Preguia) Copyright DI FCT/ UNL / 8
Exemplos
Os servios a funcionarem sobre a Internet
E-mail, Web (HTTP), instant-messaging, VoIP, ftp, Kazaa, etc.
Os servios a funcionarem sobre Intranets
Redes isoladas fisicamente, redes isoladas logicamente (private virtual network),
ligao Internet atravs de firewalls, etc.
E-mail, servidor de ficheiros, servidor de impresso, servios internos da
empresa, etc.
Os servios a funcionarem em ambientes de computao mvel
Idnticos aos anteriores
Servios baseados na localizao, adaptao dos dados, etc.
5
Material de suporte s aulas de SD1 (Nuno Preguia) Copyright DI FCT/ UNL / 9
Exemplos (cont.)
Sistemas de controlo de processos industriais em fbricas (por exemplo,
linhas de montagem)
Dispositivos ou mquinas especiais controlados atravs de conjuntos de
computadores embebidos (por exemplo: um avio ou um carro, uma
fbrica)
Clusters de computadores interligados atravs de redes de alta velocidade
para clculo paralelo
Material de suporte s aulas de SD1 (Nuno Preguia) Copyright DI FCT/ UNL / 10
Exemplo: computao ubqua
Computao ubqua
Cada utilizador tem mltiplos dispositivos computacionais
Dispositivos computacionais no ambiente, associados a objectos e
coisas
Dispositivos
Dispositivos portteis tradicionais (computadores, telemveis, etc.)
Dispositivos embebidos
Redes de sensores (dispositivos de muito pequena dimenso com
sensores)
Exemplos:
Numa casa: luzes, frigorfico, TV, etc.
No supermercado: RF-ids, etiquetas electrnicas
6
Material de suporte s aulas de SD1 (Nuno Preguia) Copyright DI FCT/ UNL / 11
Aplicaes mais comuns
Servios de informao/entretenimento via Internet
Sistemas de messaging (correio electrnico, Instant Messaging,
etc.)
Controlo de processos industriais (fbricas, ) e de equipamentos
(avies, navios, etc.)
Automatizao de processos dentro e entre as empresas e
organismos pblicos
Facturao, relaes com os utilizadores, instalaes, reparaes,
sistemas de sade, impostos, ...
Gesto de stocks, encomendas, vendas, entregas, ... (B2B, C2B, ...)
Gesto de documentos, groupware, ...
Sistemas financeiros e bancrios
Transaces globais entre bancos, home-banking, caixas automticas,
etc
Material de suporte s aulas de SD1 (Nuno Preguia) Copyright DI FCT/ UNL / 12
Motivaes dos Sistemas Distribudos
Partilha dos recursos distribudos pelos diferentes utilizadores
Exemplos: impressores, ficheiros
Distribuio da carga melhoria do desempenho
Tolerncia a falhas
Flexibilidade e adaptabilidade
Decomposio de um sistema complexo num conjunto de sistemas mais
simples
Acesso generalizado sem restries de localizao
Acessibilidade ubqua (suporte para utilizadores fixos, mveis)
7
Material de suporte s aulas de SD1 (Nuno Preguia) Copyright DI FCT/ UNL / 13
Vantagens potenciais
Custo inferior, ou pelo menos mais racional
vrias pequenas mquinas em vez de uma s gigantesca
Melhor desempenho
paralelismo real
Maior disponibilidade
se uma mquina falha, as outras podem continuar
Extensibilidade
crescimento incremental
Simplicidade associada modularidade fsica
pode ter processadores dedicados a funes
pode ser distribudo de acordo com a organizao utilizadora
Ubiquidade e mobilidade
pode ser utilizado independentemente da localizao
Material de suporte s aulas de SD1 (Nuno Preguia) Copyright DI FCT/ UNL / 14
Caractersticas fundamentais
Execuo concorrente de componentes paralelismo real
Necessidade de coordenao entre os vrios componentes
Falhas independentes das componentes e das comunicaes
Impossvel determinar se existe uma falha dum componente ou do
sistema de comunicaes
Necessidade de tratar as falhas
Ausncia de relgio global existem limites para a preciso da
sincronizao dos relgios locais
Impossvel usar relgios locais para ordenar globalmente todos os
eventos
8
Material de suporte s aulas de SD1 (Nuno Preguia) Copyright DI FCT/ UNL / 15
Implicaes
Nenhuma componente tem uma viso exacta instantnea do
estado global de todo o sistema
Os componentes tm uma viso parcial do estado global do sistema
Os componentes do sistemas esto distribudos e s podem cooperar
atravs da troca de mensagens, as quais levam um tempo no nulo a
propagarem-se
Na presena de falhas, o estado global pode tornar-se incoerente,
i.e., as vises parciais do estado global podem tornar-se
incoerentes
Por exemplo, rplicas de um objecto podem ficar incoerentes
Material de suporte s aulas de SD1 (Nuno Preguia) Copyright DI FCT/ UNL / 16
Desafios
Heterogeneidade
Abertura
Transparncia
Concirrncia
Segurana
Escala
Tratamento das falhas
9
Material de suporte s aulas de SD1 (Nuno Preguia) Copyright DI FCT/ UNL / 17
Heterogeneidade
Do hardware: telemveis, PDAs, portteis (laptops), workstations
(desktops), servidores, multiprocessadores, clusters (agregados), grids,...
Diferentes caractersticas dos processadores, da memria, da representao
dos dados, dos cdigos de caracteres,...
Das redes de interligao e dos protocolos de transporte: Redes mveis
(GSM, UMTS, CDMA), Wi-Max, WLANs, wired LANs, WANs, ..., TCP/IP, ....
Do sistema de operao: Windows, Unix/Linux, Mac, Simbian, ...
Diferentes interfaces para as mesmas funcionalidades
Das linguagens de programao....
Construir um sistema do tipo single image system, integrado, coerente,
etc. geralmente um desafio gigantesco
Material de suporte s aulas de SD1 (Nuno Preguia) Copyright DI FCT/ UNL / 18
Middleware
Sistemas operativos
Interfaces heterognea
Servios bsicos
Sistema de
comunicaes
Sistema de operao
Sistema de
comunicaes
Sistema de operao
Sistema de
comunicaes
Sistema de operao
N computadores interligados
Sistema middleware
Aplicao distribuda
Sistema middleware
Interface homognea
Servios mais complexos (invocao
remota: RMI, Web-services, Corba;
comunicao em grupo: Horus, etc)
Verdadeira interoperabilidade requer
idnticos interface e protocolos
10
Material de suporte s aulas de SD1 (Nuno Preguia) Copyright DI FCT/ UNL / 19
Mquina virtual
Objectivo: permitir executar os mesmos programas em mquinas
com diferentes caractersticas
Fornece um ambiente de execuo local uniforme,
independentemente do hardware e sistema de operao
Programas escritos numa nica linguagem (JavaVM) ou em mltiplas
linguagens (Microsoft CLR)
Num sistema distribudo permite simplificar o deployment de uma
aplicao e a utilizao de cdigo mvel (applets, agentes)
Material de suporte s aulas de SD1 (Nuno Preguia) Copyright DI FCT/ UNL / 20
Abertura
A abertura de um sistema determina o modo como pode ser
estendido e re-implementado
Sistemas abertos
Interfaces e modelo (incluindo protocolos de comunicao)
conhecidos
Evoluo controlada por organismos de normalizao independentes
ou consrcios industriais
Permite a interoperao de componentes com diferentes
implementaes
Sistemas proprietrios
Podem ser modificados pelo seu dono
Outras questes
Middleware suportando vrias linguagens / Middleware integrado com
uma s linguagem de programao
11
Material de suporte s aulas de SD1 (Nuno Preguia) Copyright DI FCT/ UNL / 21
Transparncia
A transparncia (da distribuio) a propriedade relativa a esconder
ao utilizador e ao programador das aplicaes a separao fsica dos
elementos que compem um sistema distribudo
Simplicidade e flexibilidade so objectivos
Em certas circunstncias, a transparncia indesejvel
Implementao complexa e desempenho baixo
Pode levar a inflexibilidade
A transparncia pode manifestar-se em diversos nveis e de vrias
formas
Material de suporte s aulas de SD1 (Nuno Preguia) Copyright DI FCT/ UNL / 22
Alguns tipos de transparncia
Esconde a reconfigurao para melhorar o desempenho Desempenho
Esconde as falhas e o processo de recuperao Falhas
Esconde que o recurso pode ser usado por vrios
utilizadores
Concorrncia
Esconde que o recurso replicado Replicao
Esconde a mudana de localizao dos recursos e clientes Mobilidade
Esconde a localizao de um recurso Localizao
Esconde as diferenas no modo de acesso a um recurso Acesso
12
Material de suporte s aulas de SD1 (Nuno Preguia) Copyright DI FCT/ UNL / 23
Concorrncia
O acesso simultneo a um recurso por vrios clientes pode causar
problemas
Necessrio sincronizar as operaes para que os dados
permaneam consistentes
Num nico computadores, solues possveis so o uso de semforos,
monitores, transaces
Necessrio implementar tcnicas de sincronizao num sistema
distribudo
Material de suporte s aulas de SD1 (Nuno Preguia) Copyright DI FCT/ UNL / 24
Segurana
Necessidade de proteger os recursos e informao gerida num
sistema distribudo
Recurso tm valor para os seus utilizadores
Segurana tem trs componentes:
Confidencialidade: indivduos no autorizados no podem obter
informao
Integridade: dados no podem ser alterados ou corrompidos
Disponibilidade: acesso aos dados deve continuar disponvel
Aspectos envolvidos
Autenticao dos parceiros
Canais seguros
Preveno de ataques de negao de servio (denial of service
attacks)
Autenticao das plataformas de hardware/software
Segurana na presena de cdigo mvel
13
Material de suporte s aulas de SD1 (Nuno Preguia) Copyright DI FCT/ UNL / 25
Escala
A escala de um sistema distribudo o mbito que o mesmo
abrange assim como o nmero de componentes.
A escala de um sistema tem vrias facetas:
recursos e utilizadores
mbito geogrfico (rede local, pas, mundo, ...)
mbito administrativo (uma organizao, inter-organizaes)
Um sistema de pequena escala um sistema confinado a uma
organizao pequena / mdia, com poucos utilizadores e poucos
componentes.
Um sistema de grande escala um sistema com muitos recursos ou
utilizadores, ou cobrindo uma rea geogrfica significativa, ou
envolvendo muitas organizaes.
Material de suporte s aulas de SD1 (Nuno Preguia) Copyright DI FCT/ UNL / 26
Escala
A escala de um sistema distribudo o mbito que o mesmo
abrange assim como o nmero de componentes.
A escala de um sistema tem vrias facetas:
recursos e utilizadores
mbito geogrfico (rede local, pas, mundo, ...)
mbito administrativo (uma organizao, inter-organizaes)
Um sistema de pequena escala um sistema confinado a uma
organizao pequena / mdia, com poucos utilizadores e poucos
componentes.
Um sistema de grande escala um sistema com muitos recursos ou
utilizadores, ou cobrindo uma rea geogrfica significativa, ou
envolvendo muitas organizaes.
52.131.889
fonte:
http://www.zakon.org/robert/
internet/timeline
285.139.107 Jul. 2004
5.560.866 56.218.000 Jul. 1999
0 130.000 Jul. 1989
0 188 Dez. 1979
Servidores Web Computadores Data
14
Material de suporte s aulas de SD1 (Nuno Preguia) Copyright DI FCT/ UNL / 27
Sistema escalvel
Um sistema capaz de escalar (escalvel) um sistema que
continua eficaz quando h um aumento significativo do nmero de
recursos e utilizadores
i.e., em que no necessrio alterar a implementao dos
componentes e da forma de interaco das mesmas
Num sistema escalvel, as seguintes propriedades devem ser
verdadeiras:
Os recursos envolvidos devem aumentar linearmente com a dimenso
do sistema
O aumento na dimenso dos dados/recursos no deve levar a uma
diminuio significativa do desempenho a reduo no deve ser
superior a O(log n)
Possvel aproximao: recurso a estruturas hierrquicas (ex.: DNS)
Material de suporte s aulas de SD1 (Nuno Preguia) Copyright DI FCT/ UNL / 28
Como lidar com a escala ?
Para reduzir o nmero de pedidos tratados por cada componente
Diviso de um componente em partes e sua distribuio
Replicao e caching (problema da consistncia entre rplicas e
caches)
Para reduzir dependncias entre componentes
Meios de comunicao assncronos
Para simplificar o sistema
Uniformidade de acesso aos recursos e dos mecanismos de
cooperao, sincronizao, etc.
Meios de designao universais (independentes da localizao e dos
recursos)
Para permitir a aumento de escala
Flexibilidade e adaptabilidade dos mecanismos
15
Material de suporte s aulas de SD1 (Nuno Preguia) Copyright DI FCT/ UNL / 29
Avarias, erros e falhas
Os componentes de um sistema podem falhar, i.e., comportar-se
de forma no prevista e no de acordo com a especificao devido
a erros (por exemplo a presena de rudo num canal de
comunicao ou um erro de software) ou avarias (mecanismo que
que entra em mau funcionamento)
Num sistema distribudo, as falhas so geralmente parciais (num
componente do sistema) e independentes
Um componente em falha pode induzir uma mudana de estado
incorrecta noutro componente, levando eventualmente o sistema a
falhas, i.e., a ter um comportamento no de acordo com a sua
especificao.
Material de suporte s aulas de SD1 (Nuno Preguia) Copyright DI FCT/ UNL / 30
Como lidar com as falhas
Detectar falhas
Possvel: e.g.: mensagens corrompidas atravs de checksums
Pode ser impossvel: Falha (crash) num computador remoto
Desafio: Funcionar atravs da suspeio das falhas
Mascarar falhas (aps a sua deteco)
Exemplos: retransmisso de mensagens, redundncia
16
Material de suporte s aulas de SD1 (Nuno Preguia) Copyright DI FCT/ UNL / 31
Como lidar com as falhas
Tolerar falhas
Definio do comportamento na presena de falhas
Continuar a funcionar de acordo com a especificao recorrendo a
componentes redundantes
Parar o sistema at falhas serem resolvidas
Recuperao de falhas
Mesmo num sistema que tolere falhas necessrio recuperar os
componentes falhados. Porqu?
Problema: recuperar estado do servio, considerando que algumas
operaes podem ter sido parcialmente executadas
Material de suporte s aulas de SD1 (Nuno Preguia) Copyright DI FCT/ UNL / 32
Para saber mais
G. Coulouris, J. Dollimore and T. Kindberg,
Distributed Systems Concepts and Design,
Addison-Wesley, 4th Edition, 2005
Captulo 1.

Você também pode gostar