Escolar Documentos
Profissional Documentos
Cultura Documentos
Sistemas Distribudos
Hlio Crestana Guardia 2013
A. S. Tanenbaum, M. Van Steen. Sistemas Distribudos: Princpios e paradigmas - Cap 1 Introduo / 1/44
Sistemas Distribudos
! Evoluo dos sistemas computacionais: ! Microprocessadores de alta capacidade ! Redes de comunicao de alta velocidade ! Criao de sistemas computacionais compostos por grandes quantidades de computadores, interligados por redes de alta velocidade ! Surgimento dos sistemas distribudos, em oposio aos sistemas centralizados
A. S. Tanenbaum, M. Van Steen. Sistemas Distribudos: Princpios e paradigmas - Cap 1 Introduo / 2/44
Sistemas Distribudos
Definio: um Sistema distribudo um conjunto de computadores independentes que se apresenta a seus usurios como um sistema nico e coerente. Couloris: "we define a distributed system as one in which hardware or software components located at networked computers communicate and coordinate their actions only by passing messages.
A. S. Tanenbaum, M. Van Steen. Sistemas Distribudos: Princpios e paradigmas - Cap 1 Introduo / 3/44
Sistemas Distribudos
Exemplos: -! WWW, Web search, -! Comrcio eletrnico (e-commerce), E-learning, -! Facebook, Twitter, Gmail, -! Google drive, Dropbox e similares, -! Amazon Web Services, Computao em nuvem, -! Massively multiplayer online games -! Financial trading: real-time access to information sources (events, delivered reliably and in a timely manner to large numbers of clients) -!
A. S. Tanenbaum, M. Van Steen. Sistemas Distribudos: Princpios e paradigmas - Cap 1 Introduo / 5/44
Hlio Crestana Guardia - 2013
(*) Coulouris, et. al. Distributed Systems: concepts and Design. Assison Welsey, 2012.
A. S. Tanenbaum, M. Van Steen. Sistemas Distribudos: Princpios e paradigmas - Cap 1 Introduo / 6/44
A. S. Tanenbaum, M. Van Steen. Sistemas Distribudos: Princpios e paradigmas - Cap 1 Introduo / 8/44
Sistemas Distribudos
A. S. Tanenbaum, M. Van Steen. Sistemas Distribudos: Princpios e paradigmas - Cap 1 Introduo / 9/44
A. S. Tanenbaum, M. Van Steen. Sistemas Distribudos: Princpios e paradigmas - Cap 1 Introduo / 10/44
Compartilhamento de recursos
! Exemplos de recursos: computadores, impressoras, unidades de armazenamento, dados, arquivos, pginas WWW, redes de computadores, ! Conectividade provida por sistemas distribudos tambm favorece colaboraes entre os usurios e trocas de arquivos, de mensagens, de documentos e de diferentes tipos de mdia ! Trabalho cooperativo, atravs de groupware, tambm possibilitado Aspectos:
! Segurana: autenticaes dos acessos e confidencialidade das informaes transmitidas ! Perfis: personalizao x privacidade
A. S. Tanenbaum, M. Van Steen. Sistemas Distribudos: Princpios e paradigmas - Cap 1 Introduo / 11/44
Hlio Crestana Guardia - 2013
Transparncia da distribuio
! Transparncia em um Sistema Distribudo est associada capacidade de apresentar-se aos usurios e s aplicaes como se fosse um nico sistema computacional ! Diferentes tipos de transparncia podem ser buscados:
! Acesso ! Localizao ! Migrao ! Relocao ! Replicao ! Concorrncia ! Falhas
A. S. Tanenbaum, M. Van Steen. Sistemas Distribudos: Princpios e paradigmas - Cap 1 Introduo / 12/44
Hlio Crestana Guardia - 2013
Tipos de Transparncia
Transparncia de localizao tipicamente apoiada por mecanismos de nomeao, que tambm favorecem a transparncia de migrao, de relocao e de replicao.
A. S. Tanenbaum, M. Van Steen. Sistemas Distribudos: Princpios e paradigmas - Cap 1 Introduo / 13/44
Hlio Crestana Guardia - 2013
Grau de transparncia
! Transparncia total nem sempre possvel ou desejada ! Por exemplo, uma aplicao pode tornar-se mais eficiente se considerar os atrasos nas transmisses de longa distncia, e fizer outra atividade nesse perodo, ao invs de escond-los ! Transparncia de replicao implica necessidade de manter rplicas consistentes, podendo gerar atrasos ! Informaes de contexto (como localizao) podem auxiliar na seleo de recursos. Ex: impresso local.
A. S. Tanenbaum, M. Van Steen. Sistemas Distribudos: Princpios e paradigmas - Cap 1 Introduo / 14/44
Abertura (Openness)
Sistema Distribudo aberto oferece servios de acordo com regras padronizadas que descrevem a sintaxe a semntica desses servios. Caractersticas: ! Servios especificados atravs de interfaces bem definidas (Interface definition Language IDL):
! nomes, tipos, parmetros, valores de retorno, excees, etc. ! permitem diferentes implementaes da mesma funcionalidade
! Portabilidade: executar aplicao, sem modificao, em dif. sistemas ! Suporte heterogeneidade de Hardware, de Plataforma e de Linguagem ! Interoperabilidade com servios de outros sistemas abertos, independentemente do ambiente em que so implementados
A. S. Tanenbaum, M. Van Steen. Sistemas Distribudos: Princpios e paradigmas - Cap 1 Introduo / 15/44
Hlio Crestana Guardia - 2013
Abertura (Openness)
Separao entre poltica e mecanismo ! Sistema deve ser organizado como coleo de componentes relativamente pequenos e facilmente substitudos ou adaptados ! Busca-se evitar o desenvolvimento de sistemas que so logicamente separados mas implementados na forma de um grande sistema monoltico (bloco nico) ! Importante haver especificaes no s das interfaces de nvel mais alto mas tambm das partes internas
! Facilidade de configurao, expanso e substituio de partes importante
A. S. Tanenbaum, M. Van Steen. Sistemas Distribudos: Princpios e paradigmas - Cap 1 Introduo / 16/44
Escalabilidade
Dimenses: ! Escalabilidade de tamanho: possibilidade de incrementar o nmero de recursos e de usurios ! Escalabilidade geogrfica: possibilidade de ampliar a rea fsica de alcance do sistema ! Escalabilidade administrativa: possibilidade de gerenciamento, mesmo com muitas organizaes administrativas diferentes
Em sistemas paralelos, escalabilidade de desempenho est relacionada possibilidade de aumento de desempenho medida que novos recursos so adicionados (Hlio)
A. S. Tanenbaum, M. Van Steen. Sistemas Distribudos: Princpios e paradigmas - Cap 1 Introduo / 17/44
A. S. Tanenbaum, M. Van Steen. Sistemas Distribudos: Princpios e paradigmas - Cap 1 Introduo / 19/44
A. S. Tanenbaum, M. Van Steen. Sistemas Distribudos: Princpios e paradigmas - Cap 1 Introduo / 20/44
A. S. Tanenbaum, M. Van Steen. Sistemas Distribudos: Princpios e paradigmas - Cap 1 Introduo / 21/44
A. S. Tanenbaum, M. Van Steen. Sistemas Distribudos: Princpios e paradigmas - Cap 1 Introduo / 22/44
Escalabilidade: tcnicas
(1/3)
Tcnicas p/ escalabilidade: ocultao de latncias, distribuio e replicao. ! Ocultar latncias de comunicao (latency hiding):
! Evitar bloquear o processamento espera de comunicao ! Sobrepor processamento com transmisses ! Reduzir o volume de comunicao, por exemplo, movendo parte do processamento do servidor para o cliente
A. S. Tanenbaum, M. Van Steen. Sistemas Distribudos: Princpios e paradigmas - Cap 1 Introduo / 23/44
Escalabilidade: tcnicas
! Distribuio: consiste em particionar um componente e espalhar suas partes pelo sistema.
(2/3)
A. S. Tanenbaum, M. Van Steen. Sistemas Distribudos: Princpios e paradigmas - Cap 1 Introduo / 24/44
Escalabilidade: tcnicas
! Replicao:
(3/3)
! uso de mltiplas cpias de componentes favorece a disponibilidade e o balanceamento de carga ! proximidade de cpia dos componentes tambm favorece a reduo da latncia de comunicao
Falso!
A. S. Tanenbaum, M. Van Steen. Sistemas Distribudos: Princpios e paradigmas - Cap 1 Introduo / 26/44
Tipos de SD:
! Voltados obteno de alto desempenho (high-performance computing) ! Abordagens: computao em cluster (Cluster Computing), computao em grade (Grid Computing) ou em nuvem (Cloud) Computao em Cluster:
! Grupo de computadores de alto desempenho interligados numa rede local ! Ambiente homogneo: mesmo SO e (comumente) mesmo hardware ! Uso de um nico n de gerenciamento, que distribui requisies para ns de processamento (middleware para programao MPI). Ex: Linux-based Beowulf clusters: n de gerenciamento + ns de processamento ! Sistema de imagem nica (Single System Image): abordagem simtrica, com uma nica imagem do sistema. Ex: MOSIX: prov execuo e uso dos recursos de forma transparente.
A. S. Tanenbaum, M. Van Steen. Sistemas Distribudos: Princpios e paradigmas - Cap 1 Introduo / 28/44
Hlio Crestana Guardia - 2013
Tipos de SD:
A. S. Tanenbaum, M. Van Steen. Sistemas Distribudos: Princpios e paradigmas - Cap 1 Introduo / 29/44
Tipos de SD:
! Recursos heterogneos ! Disperso sobre diferentes organizaes ! Comunicaes comumente envolvem a passagem por redes de longa distncia ! Para possibilitar colaboraes, criam-se organizaes virtuais, que definem usurios globais para os recursos
A. S. Tanenbaum, M. Van Steen. Sistemas Distribudos: Princpios e paradigmas - Cap 1 Introduo / 30/44
Hlio Crestana Guardia - 2013
Tipos de SD:
! Camada Base (fabric layer): interface para recursos locais em um site ! Camada de Conectividade (connectivity): protocolos de comunicao para as transaes. Inclui mecanismos de segurana, como autenticaes e delegaes ! Camada de Recursos (resource): trata do gerenciamento de cada recurso ! Camada Coletiva (collective): manipula acesso a mltiplos recursos ! Camada de Aplicaes: aplicaes para a grade. Middleware (funcionalidades providas pelas camadas inferiores) permite uso da grade
A. S. Tanenbaum, M. Van Steen. Sistemas Distribudos: Princpios e paradigmas - Cap 1 Introduo / 31/44
Tipos de SD:
! Grande parte dos sistemas distribudos atualmente so middlewares para integraes de sistemas empresariais. ! Comum quando substituio de sistema legado invivel. ! Comunicaes normalmente ocorrem na forma de requisies de clientes para servidores. Acesso a banco de dados comum. ! Requisies podem ser agrupadas na forma de transaes. ! Requisies de uma transao so executas na totalidade ou nenhuma executada. ! Transaes foram sendo aperfeioadas, separando componentes de Bancos de Dados de componentes de processamento. ! Modelo deu origem aos sistemas de integrao de aplicaes empresariais (Enterprise Application Integration).
A. S. Tanenbaum, M. Van Steen. Sistemas Distribudos: Princpios e paradigmas - Cap 1 Introduo / 32/44
Hlio Crestana Guardia - 2013
A. S. Tanenbaum, M. Van Steen. Sistemas Distribudos: Princpios e paradigmas - Cap 1 Introduo / 33/44
A. S. Tanenbaum, M. Van Steen. Sistemas Distribudos: Princpios e paradigmas - Cap 1 Introduo / 34/44
Transaes: propriedades
Transaes so compostas de conjuntos de operaes sobre bancos de dados, manipulaes de objetos, etc., e devem satisfazer as propriedades denominadas ACID: ! Atomicidade: todas as operaes devem ser bem-sucedidas ou nenhuma deve ser realizada. Quando uma transao falha, o estado do objeto associado permanece inalterado. ! Consistncia: uma transao estabelece uma transio vlida, embora estados intermedirios invlidos possam ocorrer ao longo de sua realizao. ! Isolamento: transaes concorrentes no interferem entre si. Efeito equivalente operao sequencial. ! Durabilidade: aps efetivao de uma transao, efeitos so permanentes. Mudanas de estado tambm devem persistir em situaes de falha.
A. S. Tanenbaum, M. Van Steen. Sistemas Distribudos: Princpios e paradigmas - Cap 1 Introduo / 35/44
Hlio Crestana Guardia - 2013
Transaes aninhadas
! Transaes podem ser subdivididas e executadas de forma aninhada ! Subtransaes favorecem diviso de processamento entre diversos recursos. ! Uma vez efetivada, contudo, uma subtransao pode ser revertida se a transao de nvel superior falhar. Durabilidade vale apenas para transaes de nvel mais alto.
A. S. Tanenbaum, M. Van Steen. Sistemas Distribudos: Princpios e paradigmas - Cap 1 Introduo / 36/44
A. S. Tanenbaum, M. Van Steen. Sistemas Distribudos: Princpios e paradigmas - Cap 1 Introduo / 37/44
A. S. Tanenbaum, M. Van Steen. Sistemas Distribudos: Princpios e paradigmas - Cap 1 Introduo / 38/44
A. S. Tanenbaum, M. Van Steen. Sistemas Distribudos: Princpios e paradigmas - Cap 1 Introduo / 39/44
! Chamadas podem ser executadas tambm sobre mtodos de objetos remotos (Remote Method Invocation RMI) ! Desvantagens de RPC e RMI:
! Necessidade de chamador e chamado estarem ativos no momento da chamada ! Necessidade de conhecer mecanismo de referenciao
A. S. Tanenbaum, M. Van Steen. Sistemas Distribudos: Princpios e paradigmas - Cap 1 Introduo / 40/44
A. S. Tanenbaum, M. Van Steen. Sistemas Distribudos: Princpios e paradigmas - Cap 1 Introduo / 41/44
Tipos de SD:
! Gerao emergente de sistemas distribudos composta de ns pequenos, mveis e comumente embarcados em um sistema maior Caractersticas comuns (no necessariamente se aplicam a todos os ns):
! ! ! ! Ns de pequeno porte com energia fornecida por baterias Ns so mveis e comunicao ocorre via redes sem fio Ausncia de controle administrativo humano Necessidade de descobrir o ambiente e estabelecer comunicaes
Questes:
! ! ! ! ! !
A. S. Tanenbaum, M. Van Steen. Sistemas Distribudos: Princpios e paradigmas - Cap 1 Introduo / 44/44
A. S. Tanenbaum, M. Van Steen. Sistemas Distribudos: Princpios e paradigmas - Cap 1 Introduo / 45/44
Redes de Sensores
! Redes de sensores so usadas para processamento de informaes ! Redes consistem de dezenas a centenas, ou milhares, de ns relativamente pequenos ! Comunicao ocorre usando redes sem fio ! Energia para funcionamento dos ns provida por baterias ! Recursos limitados, capacidade de comunicao limitada e restries de energia requer eficincia em sua operao ! Redes de sensores podem ser vistas como bancos de dados distribudos ! Consultas sobre o estado do ambiente monitorado podem ser solicitadas aos sensores Abordagens de operao: ! Sensores no cooperam, mas simplesmente enviam dados para servidor de base de dados centralizado ! Sensores podem agregar dados antes de encaminh-los
A. S. Tanenbaum, M. Van Steen. Sistemas Distribudos: Princpios e paradigmas - Cap 1 Introduo / 46/44
Hlio Crestana Guardia - 2013
Redes de Sensores
Questes: ! Desejvel recursos para processamento dos dados na prpria rede ! Processamento na rede pode envolver o encaminhamento dos dados ! Organizao hierrquica, na forma de uma estrutura em rvore, comum para agregao e encaminhamento dos dados Problemas: ! Como organizar dinamicamente uma rede de encaminhamento? ! Como agregar os dados? ! Como tratar falhas de comunicaes?
A. S. Tanenbaum, M. Van Steen. Sistemas Distribudos: Princpios e paradigmas - Cap 1 Introduo / 47/44
Redes de Sensores
A. S. Tanenbaum, M. Van Steen. Sistemas Distribudos: Princpios e paradigmas - Cap 1 Introduo / 48/44