Grids Computacionais O Projeto OurGrid www.ourgrid.org Walfredo Cirne/Jacques Sauvé [email protected] Universidade Federal de Campina Grande © 2004 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice Drivers para grids Computacionais no domínio científico • Cientistas e engenheiros podem usar todo o poder computacional que você pode juntar para eles • Eles geram petabytes de informação e sempre querem ciclos, memória, ... • Demandas mais recentes: −Mais colaboração entre sites remotos −Muito mais dados dispersos Drivers para grids no domínio de negócios • Demandas para o CIOs −Melhorar confiabilidade −Aumentar a relevância da TI para o negócio −Reduzir a complexidade −Facilitar mudanças rápidas −Diminuir custos • Grids podem servir para o que está em negrito A missão em termos tecnológicos • Fornecer alta qualidade de serviço em sistemas distribuídos −Incluindo recursos dentro e fora da empresa • As dificuldades −Como agüentar largas escalas com grandes variações na demanda? −Como cruzar domínios administrativos com segurança? −Como lidar com o alto TCO de TI? −Como lidar com os novos provedores de serviço (e-Utilities)? Solução: O que queremos? • Desacoplar produção e consumo −Funções especializadas e serviços comuns podem se transformar em commodities • Acesso sob demanda aos recursos • Transparência O que é um Grid? Grid Computacional (Recursos) O que é um grid? • A figura anterior parece a Web?? −Sim, mas dentro da nuvem temos recursos e não informação • Semelhante a um “Grid Elétrico” −Não preciso ter um gerador de energia em casa para ter eletricidade −Posso fazer o mesmo com recursos computacionais? • Forte tendência de prover uma “orientação a serviços” −Casamento com Web Services Aplicações de grids • Supercomputação distribuída −Para agregar recursos computacional (ao mesmo tempo) para resolver problemas que não podem sê-lo num computador único • Computação de alta vazão (Scavenging grid) −Aproveita recursos livres (idle) para aumentar a vazão agregada de tarefas Aplicações de grids • Computação intensiva em dados −Foco em sintetizar nova informação a partir de dados mantidos em repositórios, BDs e bibliotecas digitais geograficamente distribuídos • Computação sob demanda −Uso de grid para satisfazer, no curto prazo, demandas de recursos que não podem ser satisfeitas localmente de forma barata • Computação colaborativa −Foco em grids que incluem formas intensivas de interação humano-humano Grids comerciais • Mais perto dos últimos dois tipos (on-demand, collaborative), mas ... − Aplicações de negócio rodam de forma contínua ... − Por longos períodos de tempo ... − E possuem requisitos mais fortes de QoS, segurança e contabilização • Virtualização de Ativos de TI • Marketing usa várias frases − “utility computing,” “e-business on demand,” “planetary computing,” “autonomic computing,” “enterprise grids” • Ainda não estamos perto de chegar a “The Grid” Obrigado. Estão convidados à palestra de desdobramento na qual falarei do projeto OurGrid. Solução de um problema real • Para terminar meu Ph.D., tive que rodar centenas de milhares de simulações independentes • Já que as simulações são independentes, esta é uma aplicação perfeita para o grid • Eu trabalhava num dos melhores laboratórios do mundo na pesquisa grid, mas não consegui usar o grid −“O grid” com todo seu middleware, ainda não existe A Motivação para MyGrid • Usuários de aplicações frouxamente acopladas poderiam de beneficiar do grid agora • Porém, não usam o grid hoje porque a infraestrutura do grid ainda não está implantada em larga escala • Que tal construirmos uma solução que não dependa de nenhuma instalação de infraestrutura grid? MyGrid • MyGrid permite que um usuário execute aplicações paralelas do tipo Bag-of-Tasks em quaisquer recursos a que tenha acesso −Aplicações Bag-of-Tasks são formadas de tarefas independentes • Seu grid consiste de todos os recursos a que você tem acesso −Não precisa de middleware de grid −Middleware de grid pode ser usado se estiver disponível Aplicações Bag-of-Tasks • Mineração de dados • Pesquisas massivas (como pesquisar por chaves de criptografia) • Varreduras de parâmetros • Simulações Monte Carlo • Fractals (tais como Mandelbrot) • Manipulação de imagens (ex. tomografia) • E muitas outras… O que é MyGrid? • Um broker (ou escalonador de aplicações) • Um conjunto de abstrações para esconder do usuário a heterogeneidade do grid Um Exemplo: fatoração com MyGrid • init mg-services put $PROC ./Fat.class $PLAYPEN • grid1 java Fat 3 18655 34789789798 output-$TASK • collect mg-services get $PROC $PLAYPEN output-$TASK • grid2 java Fat 18655 37307 34789789798 output-$TASK Definindo seu Grid pessoal proc: name = ostra.lsd.ufcg.edu.br attributes = lsd, linux type = user_agent proc: name = memba.ucsd.edu attributes = lsd, solaris type = grid_script rem_exec = ssh %machine%command copy_to = scp %localdir/%file %machine:%remotedir copy_from = scp %machine:%remotedir/%file %localdir [...] MyGrid pode usar quaisquer recursos … Home Machine Scheduler GridMachine Interface Globus Proxy UA Proxy Globus GRAM User Agent Grid Machine Grid Machine Grid Script ... ... Grid Machine Lidando com Firewalls, IP privados, e máquinas Space-Shared Scheduler (Home Mac.) User Agent Grid Script Globus Proxy Grid Machine Gateway Space-Shared Gateway Prova de conceito • Durante um período de 40 dias, executamos 600.000 simulações usando 178 processadores localizados em 6 domínios administrativos diferentes • Usamos apenas GridScript and escalonamento simples • MyGrid usou 16.7 dias para terminar • Minha máquina pessoal teria levado mais de 5 anos para fazer o mesmo • Aceleração de 116 com 178 processadores Pesquisa em HIV com MyGrid ? HIV-1 HIV-2 B,c,F O N M A B C D F G H J K prevalent in Africa prevalent in Europe and Americas majority in the world 18% in Brazil HIV protease + Ritonavir RMSD Subtype F Subtype B O Grid para a pesquisa HIV • 55 máquinas em 6 domínios administrativos nos EUA e Brasil −Máquinas acessadas via User Agent, UA + Grid Machine Gateway, UA + ssh tunnel, e Grid Scripts • Tarefa = 3.3 MB entrada, 1 MB saída, 4 a 33 minutos de execução dedicada • Executou 60 tarefas em 38 minutos • Aceleração de 29 usando 55 máquinas Status do MyGrid • Projeto realizado em parceria com HP • MyGrid é open source e está disponível em http://www.ourgrid.org/mygrid −Temos 150 downloads −Versão 2.0 liberada em fevereiro 2004 −Base do Grid PAUÁ, sendo desenvolvido pela HP Brazil • Aplicações paralelas Bag-of-tasks podem se beneficiar do Grid agora −Firewalls, IP privados e outros problemas do mundo real dificultaram muito a solução Colaboração/Interesse em MyGrid/OurGrid • HP Brazil R&D • Parceiros HP −LNCC, UniSantos, UniFor, Instituto Atlântico −CESAR/UFPE, Instituto Eldorado, IPT, AMR −PUCRS, UniSinos, UFRGS, USP • Outros −UnB, UFBA, UCS, UniCap, UFPB, USP, ... Demandas de Usuários MyGrid OurGrid −Pessoas querem acessar mais recursos do que aqueles a que têm acesso • Mais recursos GridDoc −Boa sinergia com Failure Spotter, um outro projeto colaborativoentre UFCG e HP • Facilidade de depuração • Mais segurança SWAN −Proteger recursos locais −Uso de uma máquina grid como plataforma de ataque • Modelo de programação mais rico Outras atividades conjuntas entre HP + UFCG • OurGrid Comunidade peer-to-peer baseada na troca de favores • Failure Spotter se foca no projeto, implementação e uso de Detetores de falhas em sistemas distribuídos assíncronos • Bottom Line provê soluções de baixa intrusão para a gerência de TI pela perspectiva do negócio −Business Impact Management usando métricas de negócio −Governância de TI Obrigado! Visite www.ourgrid.org © 2004 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice