Aid Cap1 Conceitosfundamentais

download Aid Cap1 Conceitosfundamentais

of 24

Transcript of Aid Cap1 Conceitosfundamentais

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