View
225
Download
0
Category
Preview:
Citation preview
8/8/2019 Aid Cap1 Conceitosfundamentais
1/24
Alexandre Fonte Material de Apoio a AD, ESTCB Edio 2010-20111
Aplicaes Distribudas
Licenciatura em Engenharia Informtica3 Ano 5 SemestreAno lectivo 2010-2011
8/8/2019 Aid Cap1 Conceitosfundamentais
2/24
Alexandre Fonte Material de Apoio a AD, ESTCB Edio 2010-20112
Intro. e Conceitos Fundamentais Sistemas Distribudos e Aplicaes
Distribudas
Caractersticas Chave Desafios a enfrentar em Aplicaes
Distribudas
Sumrio
8/8/2019 Aid Cap1 Conceitosfundamentais
3/24
Alexandre Fonte Material de Apoio a AD, ESTCB Edio 2010-2011
O que um Sistema Distribudo?
Um sistema distribudo um conjunto de vrioscomponentes de hardware (ns, hosts, mquinas oucomputadores) e software (processos, objectos,...): Que esto fisicamente distribudos Que possuem relgios independentes Que esto ligados atravs de uma infra-estrutura de
comunicaes (e.g., rede de computadores ou um bus, )
Que operam concorrentemente, cooperam e se coordenamentre si apenas pela troca de mensagens, para execuo deaplicaes distribudas
8/8/2019 Aid Cap1 Conceitosfundamentais
4/24
Alexandre Fonte Material de Apoio a AD, ESTCB Edio 2010-2011
Exemplo - Internet
intranetISP
desktop computer:
backbonesatellite link
server:
network link:
8/8/2019 Aid Cap1 Conceitosfundamentais
5/24
Alexandre Fonte Material de Apoio a AD, ESTCB Edio 2010-2011
Sistema Distrbudo
Caractersticas inerentes aos SistemasDistribudos: Concorrncia entre componentes
Necessidade de coordenao entre componentes
Falhas independentes dos componentes e das comunicaes Pode ser impossvel determinar se existe uma falha dum componente ou
do sistema de comunicaes
Necessidade de tratar das falhas
Falta de sincronismo Ausncia de um relgio global
No possvel usar os relgios locais de cada componente para ordenarglobalmente todos os eventos/tarefas
8/8/2019 Aid Cap1 Conceitosfundamentais
6/24
Alexandre Fonte Material de Apoio a AD, ESTCB Edio 2010-2011
Sistema Distribudo
Implicaes Nenhum componente tem uma viso exacta instantnea do
estado global de todo o sistema
Os componentes tm apenas uma viso parcial do estadoglobal do sistema Os componentes do sistemas esto distribudos e s podem cooperar
atravs da troca de mensagens, as quais levam um tempo no nulo apropagarem-se
Na presena de falhas, o estado global pode tornar-seincoerente, i.e., as vises parciais do estado global podem
tornar-se incoerentes. Por exemplo, rplicas de um objecto podem ficar incoerentes
8/8/2019 Aid Cap1 Conceitosfundamentais
7/24
Alexandre Fonte Material de Apoio a AD, ESTCB Edio 2010-2011
Exemplo - Sistema de EncaminhamentoExterior na Internet
Para clarificar temos o exemplo do EncaminhamentoExterior na Internet: Cada router possui apenas uma viso parcial da Internet, diferente da
viso dos restantes
Cada router apenas troca mensagens e informao deencaminhamento com os seus vizinhos
Cada router toma as suas prprias decises de encaminhamento Aps uma alterao no encaminhamento por seleco de uma melhor
rota ou queda de uma ligao, os routers na Internet podem demorar10-15 minutos a tomar conhecimento da alterao (incoerncia noestado do encaminhamento)
8/8/2019 Aid Cap1 Conceitosfundamentais
8/24
Alexandre Fonte Material de Apoio a AD, ESTCB Edio 2010-2011
O que ganhamos com adistribuio?
Principais Vantagens: Custo Inferior, ou pelo menos mais racional
vrias pequenas mquinas podem se mais baratas que uma s gigantesca Possibilidade de controlo de custos
Melhor Desempenho paralelismo real
Maior Disponibilidade se uma mquina falha, as outras podem continuar a oferecer um dado
servio
Maior Fiabilidade Maior a tolerncia a falhas
Flexibilidade e Adaptabilidade Decomposio de um sistema complexo num conjunto de sistemas mais
simples
Extensibilidade Crescimento incremental e modular
8/8/2019 Aid Cap1 Conceitosfundamentais
9/24
Alexandre Fonte Material de Apoio a AD, ESTCB Edio 2010-2011
O que ganhamos com a distribuio?
Melhor Desempenho!
8/8/2019 Aid Cap1 Conceitosfundamentais
10/24
Alexandre Fonte Material de Apoio a AD, ESTCB Edio 2010-2011
O que ganhamos com a distribuio?
Maior Disponibilidade! Exemplo: www.google.com (usando o comando dig www.google.com) www.google.com. 604800 IN CNAME www.l.google.com. www.l.google.com. 300 IN A 209.85.135.147 www.l.google.com. 300 IN A 209.85.135.99 www.l.google.com. 300 IN A 209.85.135.103 www.l.google.com. 300 IN A 209.85.135.104
Orador:Alexandr
e Fonte10
8/8/2019 Aid Cap1 Conceitosfundamentais
11/24
Alexandre Fonte Material de Apoio a AD, ESTCB Edio 2010-2011
O que ganhamos com a distribuio?
Maior Fiabilidade! Exemplo Servio DNS
Se houver umacatstrofe
em Portugal ou emCastelo Branco
possvel resolver nomespertencentes
ao domnio .ptou .ipcb.pt
8/8/2019 Aid Cap1 Conceitosfundamentais
12/24
Alexandre Fonte Material de Apoio a AD, ESTCB Edio 2010-2011
O que ganhamos com a distribuio?
Exemplo DNS continuao.
8/8/2019 Aid Cap1 Conceitosfundamentais
13/24
Alexandre Fonte Material de Apoio a AD, ESTCB Edio 2010-2011
Desvantagens dos DS
Desvantagens Software: Software mais difcil de desenvolver Rede: aumento da carga na rede, dificuldades nas
comunicaes afectar o desempenho do SD
Segurana: maior facilidade de acesso informao devido distribuio tambm implica necessidade de maior segurana Exemplo: carto matriz (caixadirecta.cgd.pt)
8/8/2019 Aid Cap1 Conceitosfundamentais
14/24
Alexandre Fonte Material de Apoio a AD, ESTCB Edio 2010-2011
Desafios
A modelao de Sistemas Distribudos envolvem algunsdesafios/objectivos:
Tornar os recursos acessveis Heterogeneidade Transparncia Abertura Escalabilidade Tratamento de falhas Entre outros (e.g., concorrncia e segurana)
Ser que vale a pena o esforo?
8/8/2019 Aid Cap1 Conceitosfundamentais
15/24
Alexandre Fonte Material de Apoio a AD, ESTCB Edio 2010-2011
Tornar os Recursos acessveis
O principal objectivo tornar fcil o acesso a recursosremotos e partilha-los de forma controlada e eficiente Vantagens econmicas Trabalho colaborativo Partilha de informao
Recursos podem ser quase tudo Impressoras, computadores, ficheiros, pginas web, redes, ...
8/8/2019 Aid Cap1 Conceitosfundamentais
16/24
Alexandre Fonte Material de Apoio a AD, ESTCB Edio 2010-2011
Lidar com a Heterogeneidade
Do hardware: telemveis, PDAs, portteis (laptops), workstations(desktops), servidores, multiprocessadores, clusters (agregados),grids,...
Diferentes caractersticas dos processadores, da memria, darepresentao 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,
Da Representao dos dados (e.g., inteiros) Dos sistema operativos: Windows, Unix/Linux, Mac OS, Symbian
OS, ...
Diferentes interfaces para as mesmas funcionalidades (e.g.,Berckeley Sockets e Java Sockets)
Das linguagens de programao (Java, C#, Ruby, ....)
8/8/2019 Aid Cap1 Conceitosfundamentais
17/24
Alexandre Fonte Material de Apoio a AD, ESTCB Edio 2010-2011
Transparncia
Capacidade para se apresentar como um sistemacomputacional nico.
Esconde o facto de que constitudo por vriosprocessos e recursos que esto fisicamente distribudospor mltiplos computadores.
Tipos de Transparncia Norma ISO: "Open Distributed Processing Reference Model. (1995).
8/8/2019 Aid Cap1 Conceitosfundamentais
18/24
Alexandre Fonte Material de Apoio a AD, ESTCB Edio 2010-2011
Tipos de Transparncia (1)
Acesso transparente Esconde a forma de acesso aos recursos Esconde diferenas na representao dos dados (e.g., especificas de
diferentes arquitecturas)
Localizao transparente Esconde a localizao dos processos e recursos A existncia de nomes lgicos para os recursos possui um papel importante
(e.g., www.facebook.com pode mudar de IP)
Migrao e Realocao transparente Esconde que o recurso movido para outra localizao. Esconde que o recurso pode ser movido para outra localizao durante a
sua utilizao
8/8/2019 Aid Cap1 Conceitosfundamentais
19/24
Alexandre Fonte Material de Apoio a AD, ESTCB Edio 2010-2011
Tipos de Transparncia (2)
Replicao transparente Esconde que o recurso est replicado Permite aumentar a disponibilidade e desempenho do sistema (e.g., n
replicas, prximas dos utilizadores)
Concorrncia transparente Esconde que um recurso (e.g., ficheiro, tabela de uma base de dados)
partilhando por vrios processos concorrentes
Falha transparente
Esconde a existncia de falhas e procedimentos de recuperao
8/8/2019 Aid Cap1 Conceitosfundamentais
20/24
Alexandre Fonte Material de Apoio a AD, ESTCB Edio 2010-2011
Abertura
Um sistema distribudo aberto (oferece servios que) segue regras standard(ou protocolos)que descrevem a sintaxe e semntica dos servios
Facilita a configurao, extenso e re-implementao do sistema
Sistemas abertos Possuem interfaces e modelos (incluindo protocolos de comunicao) bem
conhecidos (e.g., interfaces de servios especificados por uma IDL)
Evoluo controlada por organismos de normalizao ou consrcios industriais Assegura a interoperabilidade de componentes com diferentes implementaes E.g., UNIX, Linux, Openoffice. Curiosamente, o Mac OS X Leopard 10.5 apesar de cdigo fechado um
produto que possui certificao OpenBrand Unix 03
Sistemas proprietrios Podem ser modificados apenas pelo seu dono E.g., MS Window 7, Vista, XP, MS Office, Mac OS X Leopard, iWorks, etc
8/8/2019 Aid Cap1 Conceitosfundamentais
21/24
Alexandre Fonte Material de Apoio a AD, ESTCB Edio 2010-2011
Escalabilidade (1)
A escala de um sistema distribudo o mbito que esteabrange e o nmero de componentes
A escalabilidade de um sistema tem vrias facetas: dimenso (mais recursos e utilizadores,....) mbito geogrfico (rede local, pas, mundo, ...) mbito administrativo (uma organizao, inter-
organizaes)
Um sistema de pequena escala um sistema confinado a umaorganizao 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, ouenvolvendo muitas organizaes.
8/8/2019 Aid Cap1 Conceitosfundamentais
22/24
Alexandre Fonte Material de Apoio a AD, ESTCB Edio 2010-2011
Escalabilidade (2)
Os SD devem funcionar eficaz e eficientemente emescalas diferentes, desde pequenas Intranets at Internet
A Internet um exemplo de um sistema escalvel:
8/8/2019 Aid Cap1 Conceitosfundamentais
23/24
Alexandre Fonte Material de Apoio a AD, ESTCB Edio 2010-2011
Escalabilidade (3)
Arquitectura de um sistema escalvel tem algunsdesafios:
Controlar a diminuio de desempenho (algoritmoscom estruturas hierrquicas)
Prevenir que os recursos se esgotem (Endereos IP) Evitar congestionamento do desempenho (DNS;
sistemas descentralizados)
Controlar o custo dos recursos fsicos (estabeleceruma relao entre o nmero de utilizadores pormquina)
8/8/2019 Aid Cap1 Conceitosfundamentais
24/24
Alexandre Fonte Material de Apoio a AD, ESTCB Edio 2010-2011
Tratamento de Falhas
Os sistemas de computadores por vezes falham! Falhas de hardware ou software
Os programas podem produzir resultados oucomportamentos incorrectos ou parar antes de concluiruma tarefa
Deteco de falhas Algumas falhas podem ser detectadas. Checksums verificar se os dados esto correctos.
Tolerncia a falhas Propriedade de um sistema distribudo que lhe permite recuperar da
existncia de falhas sem introduzir comportamentos incorrectos. Umsistema deste tipo pode mascarar as falhas e continuar a operar, ouparar e voltar a operar mais tarde, de forma coerente, aps reparaoda falha.
Recommended