290 likes | 390 Views
Tópicos em redes e sistemas distribuídos B. Carlos Oberdan Rolim Ciência da Computação. Grid Computing. Motivação. Anos 70 -> mainframe: computação centralizada Anos 80 -> descentralização, uso de redes locais criou Ilhas computacionais nas instituições
E N D
Tópicos em redes e sistemas distribuídos B Carlos Oberdan Rolim Ciência da Computação
Motivação • Anos 70 -> mainframe: computação centralizada • Anos 80 -> descentralização, uso de redes locais criou Ilhas computacionais nas instituições • Baixo nível de utilização: estações de trabalho passam maior tempo ociosas • Distribuição desproporcional de carga de trabalho: alguns servidores passam ocupados a maior parte do tempo enquanto outros não • Necessidade de alto poder de processamento atual e tende a aumentar no futuro • Necessidade de ambiente dinâmico, auto-ajustável, com alta disponibilidade, com escalável, TCO adequado
Motivação • Como cientistas podem fazer para trocar informações de forma transparente entre instituições ? • Como proporcionar a demanda de recursos necessários pelas aplicações ? • Como melhor aproveitar os recursos disponíveis? • Como integrar diferentes tipos de recursos = Ambiente heterogêneo? • Como gerenciar a enorme quantidade de recursos existentes?
Motivação • Observações sobre clusters a) limitação de número de nodos pelo sistemab) escalabilidade do desempenho: aplicação precisa estar preparadac) overhead das atividades de gerenciamento do próprio cluster: ganho não linear – aproveitamento de somente 80% da capacidade do poder de cada máquina envolvidad) desempenho depende da característica da aplicação. Escrita em excesso degrada performancee) Flexibilidade de configuração: é permitido existir diferentes sistemas operacionais ?f) Diferentes protocolos podem ser usados ?g) Sistema de arquivo: existe sistema de volume lógicos (virtuais) ?h) Recursos de gerenciamento: pode-se gerenciar o cluster de forma descentalizada ?j) transparência: não obrigar usuário a alterar seus sistemas para tirar proveito da solução
Passo evolutivo Grid Computing !!!
Grid: um novo modelo computacional • É uma evolução da computação distribuída • Analogia a rede elétrica tradicional que fornece energia de forma transparente e sob demanda • Tem como objetivo criar a ilusão de um e poderoso computador virtual através da interconexão de vários sistemas heterogêneos que compartilham recursos entre si • Tem como proposta ser uma infra-estrutura de computação que atende às necessidades computacionais dos usuários abstraindo os detalhes de como esse atendimento é realizado • Distribuição geográfica dos sistemas, exigindo recursos administrativos e gerenciais que permitam autonomia entre os diversos sites • Sistemas heterogêneos • Altamente escalável • Ambiente completamente dinâmico. Adaptativo, ocorre a autoconfiguração quando um nodo entra ou sai do ambiente • Foco das aplicações é o compartilhamento de recursos em grande escala • Surge o conceito de Organizações virtuais
Organização virtual • Paradigma administrativo de redes virtuais organizacionais • Rede é um tipo organização dinâmico e cooperativo criada para explorar as oportunidades do mercado • Rede baseia-se em competências especializadas onde cada membro contribui com conhecimento especifico para melhora do todo • Mudança na hierarquia rígida das organizações tradicionais. Hierarquia tende a desaparecer para haver cooperação de múltiplos especialistas de diversas áreas
Organização virtual • Propõe o uso compartilhado de recursos pela organização • Capacidade de organização de diferentes comunidades com diferentes propósitos e diferentes políticas • Membros de uma organização podem participar de outra organização • Virtualização de recursos: homogeneização dos recursos usados pela organização
Organização virtual Estrutura de organização virtual
Definição de grid • “É um ambiente computacional distribuído paralelo que tem como objetivo alcançar a interoperabilidade entre as organizações virtuais, através da habilidade de cooperação, de compartilhamento e agregação de recursos computacionais geograficamente distribuídos de forma a disponibilizá-los como recursos e serviços.”
Exemplo de uma grid complexa interligando diferentes organizações
Estrutura de uma grid Camada de aplicações Portais de acesso e programas que exploram a potencialidade das grids Serviços orientados aos usuários Ambiente de programação em grid Middleware Serviços básicos como gestão de recursos distribuidos Elementos básicos Recursos computacionais como servidores, desktops e seus sistemas operacionais
Arquitetura da grid • Estrutura: é responsável diretamente pelo compartilhamento e gerenciamento de acesso aos recursos da grade. • Conectividade: é responsável pela definição dos protocolos que são utilizados na comunicação entre os recursos da grade • Recursos: é a camada responsável pelo monitoramento e controle de recursos. Serve como uma camada intermediária entre as camadas superiores e as mais baixas • Coletividade: proporciona mecanismos para que aconteça o compartilhamento e a alocação de recursos de forma global dentro da grade. Esses mecanismos estão relacionados diretamente ao gerenciamento das organizações virtuais existentes no ambiente. • Aplicação: é a camada onde ficam as aplicações que fazem o uso das funcionalidades proporcionadas pela grade computacional. Comparação do modelo de camadas da arquitetura de grades computacional em relação à arquitetura Internet
O que a grid pode fazer ? • Compartilhamento de processamento • Execução de tarefas paralelamente • Tarefas são “quebradas” em pequenas partes (jobs) e estas então alocadas para execução em diferentes computadores • No final o resultado de cada um desses jobs é recuperado e então o resultado final obtido
O que a grid pode fazer ? • Balanceamento de recursos: a carga de execução das tarefas é distribuída igualmente entre as máquinas componentes da grid • Aproveitamento de recursos não utilizados: as máquinas que estão ociosas (por exemplo, durante a madrugada ou no horário do almoço) podem ser utilizadas para execução de tarefas)
O que a grid pode fazer ? • Compartilhamento de disco • São criados “data grids” que são vistos como grandes unidades de armazenamento. • Os dados são gravados de forma distribuída entre os diferentes componentes da grid • Grid mantém controle sobre como recuperar e gravar os dados • Usuário tem acesso aos dados de forma transparente
O que a grid pode fazer ? • Confiança na execução de trabalhos críticos • Tarefas críticas podem ser executadas em mais de um local de forma simultânea, caso algum dos locais falhe ou o resultado não seja o desejável o resultado do outro local é utilizado
O que a grid pode fazer ? • Gerenciamento de grandes ambientes de forma simplificada e centralizada: no momento em que um equipamento é conectado na grid ele passa a ser visto como um nodo da rede. Suas características são abstraídas • O gerente ou a aplicação preocupa-se em acessar nodos e não equipamentos específicos
Exemplos de uso de grid • Projeto SETI@Home: projeto pioneiro de uso de grade computacional em grande escala e tem por finalidade a busca de vida inteligente fora da terra. Url: http://setiathome.berkley.edu
Exemplos de uso de grid • ChessBrain: busca criar um supercomputador virtual capaz de jogar xadrez utilizando a capacidade ociosa de milhares de máquinas.Url: http://www.chessbrain.net
Exemplos de uso de grid • Climaprediction: através do uso da capacidade ociosa de computadores busca fazer a simulação do sistema climático para facilitar a maior compreensão dos fenomemos envolvidos nas mudanças do climaUrl: http://www.climaprediction.net • Grid.org: concentra vários projetos filantrópicos que fazem uso de grade computacional. Entre os projetos está um relacionado a cura do câncer.Url: http://www.grid.org/projects/cancer
Exemplos de uso de grid • Distributed.net: é formado por milhares de computadores distribuídos em todo o mundo. Tem o poder computacional equivalente a mais de 160.000 computadores pentium 266Mhz trabalhando 24 horas por dia. Entre os mais interessantes resultados obtidos por esse projeto está a quebra de um algoritmo de criptografia do laboratório RSA com chave de 56 bits considerado imune a quebras em 212 dias, a quebra da chave do DES-II-1 em 40 dias e também a quebra de criptografia com chave de 64 bits em 1757 dias. Url: http://www.distributed.net • FightAIDS@Home: é um projeto que visa efetuar simulações de novas drogas contra a ADIS através da ociosidade de computadores voluntários. Url: http://www.fightaidsathome.org • Folding@home: projeto destinado ao processamento de proteínas do corpo humano, essa área é considerada chave nas pesquisas da moderna biofísica molecular. Url: http://www.stanford.edu/group/panedgroup/folding
Exemplos de uso de grid Exemplos de grid de alto desempenho • Teragrid é um dos maiores projetos de grade. Foi criado pelo laboratório de Argone e financiado pelo Departamento de Energia dos Estados Unidos. Interliga 8 centros de computação de alto desempenho. Sua capacidade é de mais de 20 trilhões de pontos flutuantes por segundo. Isso equivale a 8 vezes a velocidade do mais poderoso super-computador atual.Url: http://www.teragrid.org • Eurogrid: projeto custeado por países da Comissão Européia. Visa dar suporte a computação de alto desempenho a projetos como BioGrid (pesquisas biomoleculares), MeteoGrid (pesquisas meteorológicas), CAEGrid (projetos de engenharia baseados em Computer Aided Engineering), HPC Research grid (projetos de simulações físicas).Url: http://www.eurogrid.org
Exemplos de uso de grid • Exemplos de grid de alto desempenho (continuação) • DataGrid: projeto europeu que visa proporcionar computação de alto desempenho para pesquisadores europeus tanto acadêmicos quanto da indústria.Url: httpd://www.eu-datagrid.org • DOE Science grid: projeto criado pelo DOE dos EUA para projetos de pesquisa relacionados com a área de energia.Url: http://doesciencegrid.org • Nasa Information Power Grid: desenvolvido pela Nasa para auxiliar no desenvolvimento de pesquisas e simulações espaciais.Url: http://www.ipg.nasa.gov
Exemplos de uso de grid Exemplos de uso de grid no Brasil • Grid Rio: projeto que envolve instituições acadêmicas do estado do Rio de JaneiroUrl: (http://easygrid.ic.uff.br/grid/GridRio.html) • CBPF: projeto experimental para uso de grade computacional em simulações físicas.Url: http://www.cbpf.br • GRADE: projeto desenvolvido pelo Laboratório Nacional de Computação Científica (LNCC). Tem por objetivo a construção de uma grade composta por cluster distribuídos geograficamente.Url: http://www.lncc.br • Grid-M: projeto para desenvolvimento de grid para dispositivos móveis e embarcados UFSCURL: http://grid.lrg.ufsc.br
Softwares para grid • Globus • Unicore • Legion • Condor • Gridbus