Baixe o app para aproveitar ainda mais
Prévia do material em texto
Sistemas Distribuidos Raphael Winckler de Bettio Histórico ● Histórico ● Conceitos ● Características ● Exemplos ● Discussão Histórico ● 1945 iniciou a era dos computadores modernos ● Apenas um computador ● Não eram interligados Histórico ● 1980 (Dois grandes eventos) – Desenvolvimento de MicroProcessadores ● Dez milhões de dólares → 1 instrução ● Mil dólares → 1 bilhão de instruções ● MainFrame x Celular – Invenção das Redes de Computadores ● Redes Locais (LANs) Histórico Comunicação Dentro de uma organização Histórico Computadores Programas Conceito ”Um sistema distribuido é aquele no qual os componentes localizados em computadores interligados em rede se comunicam e coordenam suas ações apenas passando mensagens”. Couloris, Dollimore e Kindberg Conceito ”Um sistema distribuido é um conjunto de computadores independentes que se apresenta a seus usuários como um sistema único e coerente”. Tanenbaum Conceito ● Diversos aspectos importantes – SD consiste em componentes autônomos (computadores) – Usuários (pessoas ou programas) acham que estão lidando com um único sistema. ● Significa que de uma forma ou outra os componentes devem colaborar ● Como estabelecer essa comunicação é o cerne dos Sistemas Distribuidos Conceito ● Características desejáveis: – Fácil acesso aos recursos – Ocultar ao máximo o fato dos recursos serem distribuidos (Transparência) – Capacidade de ser expandido (Escalabilidade) Acesso a Recursos ● Exemplos típicos – Impressoras – Armazenamento – Páginas Web – Redes Transparência ● Um SD é capaz de se apresentar aos usuários e aplicações como se fosse um único sistema de computador Internet Transparência ● Acesso ● Localização ● Migração ● Relocação ● Replicação ● Concorrência ● Falha Transparência - Acesso ● Acesso: Oculta diferenças na representação de dados no modo de acesso a um recurso – Páginas WEB Transparência - Localização ● Oculta o lugar onde o recurso está localizado Transparência - Migração ● Oculta que um recurso pode ser movido para outra localização Ontem Hoje Amanhã??? Transparência - Relocação ● Oculta que um recurso pode ser movido para uma outra localização enquanto em uso Transparência - Replicação ● Oculta que um recurso é replicado Transparência - Concorrência ● Oculta que um recurso pode ser compartilhado por diversos usuários concorrentes Transparência - Falha ● Oculta a falha e recuperação de um recurso Escalabilidade ● Pode ser medida em no mínimo três dimensões – Relação ao Tamanho – Termos Geográficos – Termos Administrativos Neuman, 1994 Escalabilidade - Tamanho ● Facilidade de adicionar mais recursos e usuários Internet 1,73 bilhões em 2009 Alguns cientistas em 1990 no CERN Escalabilidade - Geográficos ● Os recursos podem estar longe um dos outros Internet Escalabilidade - Administrativos ● Ainda pode ser fácil de gerenciar, mesmo que abranja muitas organizações administrativas diferentes. Internet Ciladas ● A rede é confiável ● A rede é segura ● A rede é homogênea ● A topologia não muda ● A latência é zero ● A largura de banda é infinita ● O custo de transporte é zero ● Há só um administrador Tanenbaum Tipos ● Sistemas de computação distribuídos – Computação em Cluster – Computação em Grade ● Sistemas de informação distribuídos – Processamento de Transações – Integração de aplicações empresariais ● Sistemas distribuidos pervasivos – Sistemas Domésticos – Sistemas eletrônicos para tratamento de saúde – Redes de sensores Cluster ● Tornaram-se populares quando a razão preço/desempenho dos computadores populares melhorou. ● Mais barato utilizar vários microcomputadores funcionando em conjunto do que um supercomputador ● Na maioria dos casos clusters são usados para processamento paralelo, ou seja, uma mesma aplicação rodando em vários computadores ao mesmo tempo Cluster Tomcat 10 usuários 100 usuários 1.000 usuários 1.000.000 usuários ???? Cluster Controlador Grade ● Alto grau de Heterogeneidade – Computadores, SO e serviços diferentes ● Diferentes recursos de uma organização são reunidos de forma a permitir a colaboração de um grupo de pessoas/instituições Grade ● SOA (Service Oriented Architecture) – Arquitetura Orientada a Serviços Analisar capacidade de Crédito C++ Verificar Dívidas Pendentes Java Liberar Dinheiro Cobol Novo Programa Grade Barramento de serviços Analisar capacidade de Crédito C++ Verificar Dívidas Pendentes Java Liberar Dinheiro Cobol Grade Barramento de serviços Processamento de Transações ● Atomicidade: Para o mundo exterior, a transação acontece como se fosse indivisivel Atualiza a tabela PESSOAS Atualiza a tabela ENDEREÇOS Atualiza a tabela SALDO Processamento de Transações Cartão de Crédito SubTransação Registro da Passagem SubTransação Transação Integração de Aplicações Empresariais ● Integrar sistemas independente de seus bancos de dados Banco de Dados Geral Cadastro de Pessoas Movimentação de Saldo Cadastro de Processos ... Integração de Aplicações Empresariais Middleware SD Pervasivos ● Caracterizados por: – Pequeno Tamanho – Alimentação por bateria – Mobilidade SD Pervasivos ● Sistemas Domésticos ● Sistemas Eletrônicos para Tratamento de Saúde ● Redes de Sensores Sistemas Domésticos Tratamento de Saúde ● BAN (Body area Network) ● Deve incomodar a pessoa o mínimo possível ● Deve funcionar quando a pessoa estiver em movimento sem que precise fios Redes de Sensores ● Em geral usa comunicação sem fio ● Possui milhares de nós relativamente pequenos ● Filme Twister – Caçadores de Furacões Exemplos ● Internet/Intranets – Visto durante a parte conceitual ● Computação Móvel – Visto durante a parte conceitual ● Computação em Núvem ● Emule/Kaaza ● Seti@Home Exemplos Computação em Nuvem ● Cloud Computing – Memória e Capacidade de Armazenamento em servidores compartilhados e interligados pela internet Exemplos – Peer-to-Peer Kaaza/eMule ● Peer-to-Peer – Descentralização de funções – Cada nó é server e cliente Exemplo SETI@HOME ● SETI Institute – Filme Contato – Explorar, Entender e Explicar a origem, natureza e a ”Prevalence” ● Estatistica de População ou Numero de casos. Discussão/Trabalho ● 5 tipos de recursos (hardware/software) que possam ser compartilhados ● Selecione 2 ”Ciladas” e explique como elas poderiam interferir em um SD. ● Emule/Kazza – Discutam as caracteristicas de Transparência ● Quais são as vantagens/desvantagens de um SD? Bibliografia ● Tanenbaum. Andrew S., Steen. Maarten Van. Sistemas Distribuidos – Princípios e Paradigmas. ● Coulouris George, Dollimore Jean, Kindberg Tim. Sistemas Distribuídos – Conceitos e Projeto Slide 1 Slide 2 Slide 3 Slide 4 Slide 5 Slide 6 Slide 7 Slide 8 Slide 9 Slide 10 Slide 11 Slide 12 Slide 13 Slide 14 Slide 15 Slide 16 Slide 17 Slide 18 Slide 19 Slide 20 Slide 21 Slide 22 Slide 23 Slide 24 Slide 25 Slide 26 Slide 27 Slide 28 Slide 29 Slide 30 Slide 31 Slide 32 Slide 33 Slide 34 Slide 35 Slide 36 Slide 37 Slide 38 Slide 39 Slide 40 Slide 41 Slide 42 Slide 43 Slide 44 Slide 45 Slide 46 Slide 47 Slide 48
Compartilhar