Sete Fatos que Você Deveria Conhecer Sobre HPC - High Performance Computing Nery Signorini Neto nery.signorini@mac.com Tecnologia de Informações e Organizações Instituto de Pesquisas Tecnológicas do Estado de São Paulo Avenida Prof. Almeida Prado, 532. Prédio 56 São Paulo SP Brasil 1. O que é HPC? Na última década, a definição de HPC - High Performance Computing mudou radicalmente. Em 1988, um artigo foi publicado no Wall Street Journal (NYT) intitulado Attack of the Killer Micros (tradução: O ataque do micro assassino) [NYTimes] que previa a ascensão do micro computador com inexpressivo poder de processamento, tornando os supercomputadores da época obsoletos. Naquela época, um computador custava USD 1 3K e processava 3M de operações de ponto flutuante 2 e um supercomputador custava cerca de USD 3M e processava 100M de operações de ponto flutuante. A grande questão levantada pelo artigo: Simplesmente não poderíamos conectar 400 computadores pessoais para obter o mesmo poder de processamento a um custo de USD 1,2M? [O Reilly]. Essa visão se tornou verdadeira de algumas maneiras, mas não totalmente. Como o artigo mencionado previu, o microcomputador ganhou poder de processamento sobre o supercomputador por 2 razões: Primeira: a tecnologia tem evoluído rapidamente na área dos computadores pessoais e a indústria de microprocessadores conseguiu, desde os anos oitenta, seguir a lei de Moore [Moore]. Segunda: talvez a mais importante, a emergente necessidade de processamento nos computadores pessoais impulsionado por aplicações gráficas 3D, interfaces gráficas de usuário, multimídia e jogos. A alta demanda por processamento mais rápido propiciou grandes investimentos no desenvolvimento e no barateando da tecnologia dos microprocessadores, e, como resultado, qualquer pessoa que utilize um computador pessoal, atualmente, já possui, de alguma maneira, um alto poder de processamento. Este fenômeno proporcionou o surgimento de algumas variações do acrônimo HPC (High Performance Computing), originalmente cunhado para supercomputadores, sendo eles: HPC (High Productive Computing) focado em alta produtividade, HPTC (High Performance Technical Computing) específico para trabalhos científicos, HPCS (High Performance Computing System) sistemas baseados em alta performance, HPC (High Performance Computer) variação de computing e Grid Computer (Computação em Malha). 1 USD Referência à moeda americana, dólar, US$. 2 Operação de ponto flutuante, floating-point operations ou per second ou FLOPS (acrônimo) Medida que serve para medir o desempenho de computadores, especialmente no campo de cálculos científicos que executam pesada utilização, é equivalente a instruções por segundo. eg.:1 petaflop = 10 15 = 1 quatrilhão de flops. 1.000.000.000.000.000 flops por segundo.
High Performance Computing inclui uma enorme gama de sistemas, softwares e hardwares, e alguns fornecedores até utilizam a palavra constelação [SUN], para descrever e quantificar o portfólio de produtos ofertados aos clientes deste segmento. A tecnologia HPC abrange desde o computador pessoal até grandes sistemas de computadores configurados em clusters 3 com processamento paralelo ou Grid Computing. Um cluster de alta performance inclui 2 ou mais computadores trabalhando em conjunto propiciando processamento paralelo ou distribuindo, dividindo e compartilhando os mesmos recursos e infra-estrutura computacional a todos os membros da associação. Na computação em malha, ou simplesmente Grid Computing, o alto desempenho é alcançado através do compartilhamento de recursos heterogêneos abrangendo outros servidores e outros clusters, de código aberto, distribuídos geograficamente e em alguns casos administrados e mantidos por organizações independentes umas das outras. O sistema (Grid) é diferente de um sistema de cluster normal por conseguir administrar o processamento solicitado realizando o balanceamento da carga de trabalho entre os participantes, mantendo os recursos independentes uns dos outros, a computação em malha possui 3 características básicas organizadas em um checklist proposto por Ian Foster [Foster], sendo eles: a) gerencia recursos que não podem ser submetidos a um controle central; b) utiliza padrões abertos e protocolos de mercado e c) permite coordenar o trabalho para entregar serviços de qualidade (não triviais) a seus usuários [Foster]. HPC é atingida através da utilização do alto poder de computação proveniente dos sistemas clusters e grids, provendo assim, capacidade de processamento virtualmente ilimitado para aplicações que antes necessitavam de múltiplos ambientes operacionais no objetivo de cooperar entre si para a solução de um problema único e comum apresentado. Tem por base à utilização de vários computadores interconectados uns aos outros provendo poder de processamento e compartilhando recursos comuns a todos. Este artigo tem como principal foco de estudo a computação de alto desempenho e procura identificar detalhes sobre o que significa alto poder de processamento ou alto desempenho e como esse desempenho pode ser alcançado, utilizado, quais são os principais fornecedores de mercado, quais as principais configurações, quais conceitos e particularidades de configurações disponíveis e suas principais utilizações. 2. Quem está fazendo? Exemplo de fornecedores que provê e desenvolve tecnologia específica para ser utilizada nos sistemas de alto desempenho, incluindo configurações específicas como cluster e grid computing. Como apontado por Ian Foster [Foster] o termo HPC pode sofrer algumas alterações devido à propaganda dos grandes fornecedores e suas estratégias comerciais com base na utilização do acrônimo high performance em seus portfólios, o que gera algumas variações em nomenclaturas, definições e características técnicas individuais para cada grande fornecedor. São eles: 3 Clusters Cluster pode ser definido como um sistema onde dois ou mais computadores trabalham de maneira conjunta para realizar processamento pesado.
SUN SOLARIS [SUN] A Sun possui uma grande quantidade de produtos para HPC, entre software, hardware e ferramentas. Esse portfólio é denominado Constelação - Sun Constellation Systems [SUN], sendo eles: Lustre: Sistema de arquivos paralelos de código aberto, baseado em objetos. Foi projetado para atender às demandas dos clusters de computação de alto desempenho. Sun Grid Engine: Gerencia a carga de trabalho dos componentes, é baseado em políticas pré-estabelecidas e faz provisionamento dinâmico de cargas de trabalho de aplicativos. Sun Blades: Sun x64 blade e rack servers são servidores de alto desempenho escaláveis e desenvolvidos especialmente para HPC. Sun Storage Unified Storage System: Sistema de armazenamento baseado em discos de alta capacidade, escalabilidade e alta disponibilidade. Microsoft [MICROSOFT] Possui um sistema operacional específico para ser utilizado em ambientes de alto desempenho. O Windows HPC Server 2008 está entre os 25 sistemas operacionais mais rápidos do mundo, com interface gráfica padrão windows, é bem semelhante ao windows server tradicional, porém possui diversas funcionalidades e programas específicos para gerenciamento de recursos no ambiente de alto desempenho e malha (grid). Como exemplo da utilização deste sistema operacional, existe o sistema ABE, em homenagem ao 16º. Presidente dos Estados Unidos, Abrahan Lincoln e que ocupa a 23ª. posição no ranking dos 500 computadores mais rápidos do mundo [TOP500] sendo composto por um cluster com 1200 servidores dell power edge 1955 configurados com 2 processadores Xeon 53xx quad-core e 8 GB de RAM, totalizando: 2.400 processadores e 9,8GB RAM que viabilizam um processamento de 88,3 teraflops (88.300.000.000.000 flops). [ABE TOP500]. HP [HP] Um dos líderes do mercado de computação de alta performance e possui um amplo portfólio de produtos e serviços para esse exigente mercado, que inclui: Servidores de alto desempenho; Servidores Blade; HPC Clusters environment; Armazenamento de discos, com alta disponibilidade e escalabilidade; Dispositivos de armazenamento de dados; Sistemas operacionais, softwares e ferramentas para administração e monitoração do ambiente HPC.
INTEL [INTEL] Possui amplo portfólio de produtos para servidores e desenvolve programas para evolução da tecnologia de alto processamento. Em 2/3 dos 500 supercomputadores mais rápidos do mundo [TOP500], aproximadamente 333 supercomputadores, são utilizados processadores Intel. São usuários dos processadores Intel, NASA, BMW, Phillips, Crèdit Suiss e Disney. Produtos: Placas para servidores Inter X38ML; Sistema de servidor Intel SR1560SF; Sistema de servidor Intel SR1500AL, SR1550Al e SR2500AL; Processador Intel Xeon sequência 3000, 5000 e 9000. IBM [IBM] É um dos líderes em soluções de alto desempenho, além de hardware (servidores, blades 4 e sistemas de armazenamento), software (sistemas operacionais e ferramentas) e serviços. Lançou um supercomputador em Junho de 2008 chamado Roadrunner [ROADRUNNER], um híbrido com processadores AMD opteron e cell chips utilizados pela Sony na fabricação do console de games PlayStation - PS3 5 executando o sistema operacional linux. O poder de processamento desse computador totaliza 1.026 quatrilhões de cálculos por segundo, sendo duas vezes mais potente que seu antecessor o BlueGene/L, conforme lista publicada em 2008/2009 dos 500 maiores supercomputadores pelo projeto TOP500 HPC [TOP500]. O novo supercomputador faz, em uma única semana, cálculos que o mais rápido computador de 10 anos atrás levaria aproximadamente 20 anos para finalizar. O Roadrunner será utilizado pelo Los Alamos National Laboratory [LANL] para trabalhar com problemas relacionados à segurança interna Americana (DOD 6 ), como por exemplo: testes e cálculos nucleares, previsões climáticas, cálculos balísticos e na pesquisa e desenvolvimento de novos sistemas de defesa e armas. 3. Como funciona? Grid Computing é formato pela incorporação de uma coleção heterogênea de computadores distribuídos geograficamente, em algumas situações administrados por organizações totalmente independente uma das outras, e tem como função organizar e balancear a demanda por processamento criando processos independentes do resto da malha, o processamento ocorre sem o controle local dos recursos computacionais. 4 Blades Hardware tipo de servidor compacto, multiprocessado, geralmente utilizado para virtualização. 5 PS3 Console de jobs da Sony, configuração de hardware com 80gb de HD, blue-ray e placa wireless. 6 DOD Department of Defense
As máquinas que compõem o grid podem ser simples computadores ou clusters com 2 ou mais computadores interligados. Figura 1: Exemplo de configuração de um Grid Basicamente um sistema de alta performance é composto de: Hardware: É composto de diversos computadores ou grupos de computadores (outros computadores ou outros clusters) interligados uns aos outros, simulando uma única rede, distribuídos geograficamente formando uma associação única, onde cada indivíduo contribui para a coletividade com seus recursos computacionais, Sistema Operacional: O sistema operacional deve permitir o compartilhamento de recursos computacionais entre múltiplos indivíduos, permitindo a troca de mensagens, comandos e informações entre eles. O sistema operacional para grid computing deve possuir diversas ferramentas para administração do ambiente, como por exemplo: gerenciar a segurança, monitorar todos os indivíduos do grupo, controlar e gerenciar semáforos, bibliotecas de software, códigos, dispositivos internos, externos, adicionar e remover novos computadores, prover informações sobre capacidade, desempenho e erros operacionais. Memória: A memória é um único bloco virtual, formado pelo compartilhamento de todas as memórias físicas de todos os indivíduos que participam da associação. A informação é mantida na memória virtual e é comum a todos os indivíduos; Sistema de armazenamento: Todos os dados devem estar consolidados em um único repositório, normalmente uma storage de alta capacidade com resiliência, que é acessado e manipulado por todos os indivíduos; Rede: Deve ser separada da rede corporativa, pois estará sendo utilizada por outros sistemas e pessoas que estão fora da organização que a administrada. Aplicações: Possibilita que a aplicação possa utilizar recursos computacionais de diversos indivíduos;
Escalabilidade: Deve ser altamente escalável, utilizando componentes padronizados disponíveis na indústria, reduzindo a complexidade da arquitetura; 4. Porque é importante? A utilização da computação de alto desempenho nos possibilita analisar e compilar grandes quantidades de informações em um curto período de tempo, viabilizando a interpretação e compilação de dados que levariam dezenas ou até centenas de anos para serem analisadas e concluídas no atual nível de evolução da tecnologia. Outras utilizações para computação de alto desempenho: Projeto Genoma (Mapeamento do DNA humano) Ajudou a mapear os 80 mil genes inicialmente identificados no DNA humano e a determinar suas sequências entre 3 milhões de bases químicas. HPC possibilitou a utilização do poder de processamento, de cálculos e de armazenamento, como base para se desenvolver uma série de ferramentas específicas que ajudarão os pesquisadores a analisar esses dados, tornando-os acessíveis para futuras pesquisas biológicas [CORNELL]. Prospecções para extração de petróleo É utilizado para cálculos de prospecção de novos poços, no processamento de informações estatísticas sobre o processo de transformação e refinação do petróleo bruto, no cálculo do processo de bateladas para diminuição da perda de material durante o processo de manufatura [PETROBRAS]. Modelagem de risco de portfólios financeiros Realização de análise de riscos do mercado financeiro, imobiliário e de seguros pelo processamento de diversas variáveis simultaneamente. A velocidade do processamento ajuda as empresas a terem agilidade e visibilidade durante suas operações [GENOME]. Estudo e análise da probabilidade de abalos sísmicos; Cálculos matemáticos para determinar a probabilidade de haver um tremor sísmico em determinada região, incluindo fatores ambientais e históricos. HPC ajuda as autoridades a antecipar abalos sísmicos, desenvolver protocolos de segurança e cronogramas de treinamento, regularmente, em áreas de alto risco [GSCI]. Estudos de aerodinâmica para carros de Fórmula 1; Cálculo da aerodinâmica dos carros de fórmula 1, com base na coleta das informações sobre o desempenho dos carros nos testes virtuais incluindo a utilização de protótipos e nos túneis de vento. HPC ajuda os engenheiros a projetar e a refinar os modelos aerodinâmicos dos carros [FERRARI]. Diagnóstico de Câncer de mama;
A Microsoft Portugal investiu na criação de um Laboratório de High Performance Computing (HPC). O HPC Lab tem como primeira iniciativa o apoio ao Projeto High Performance Computing Applied to Medical Data and Bioinformatics, que se destina a usar as tecnologias de HPC no apoio à investigação do câncer de mama [MS- HYPERCAMBIO]. 5. Quais são os aspectos importantes? Os principais pontos sobre a computação de alto desempenho é: Barreira do Petaflops: Com a utilização de Grids formados por clusters de computadores, já foi batida a barreira dos petaflops 7, o que possibilita poder de processamento virtualmente ilimitado com a adição de novos computadores. Custo Operacional: O hardware utilizado na composição dos supercomputadores é padrão básico de mercado utilizado atualmente pela indústria da microcomputação, geralmente em código aberto e não proprietário. Isso significa redução de custos. Bilhetagem: Assim como nos mainframes cálculos de mips 8 - o pagamento da infra-estrutura se dará pela quantidade de flops utilizados, sendo necessário apenas o pagamento pelo processamento utilizado. Escalabilidade: É fator fundamental que a arquitetura da infra-estrutura e seus componentes possuam escalabilidade e flexibilidade para incluir / remover computadores no cluster, variando a solução conforme demanda Agilidade: Como a arquitetura da solução é modular, uma expansão pode ser rápida e eficiente. 6. Para onde está indo? Historicamente, a computação de alto desempenho tem sido sinônimo de sistemas ou interfaces patenteados; atualmente, as tecnologias utilizadas para clusters de alto desempenho são baseado em tecnologia aberta, flexível e reutilizável, utilizando padrões da indústria já existentes que permitam a utilização dos mesmos componentes entre clusters de diversas configurações. Com a utilização de componentes e tecnologias abertas, os clusters deverão ser vistos com mais simplicidade e naturalidade, tornando a computação extrema mais acessível, fácil de ser instalada, de se utilizar e a baixos custos de aquisição e operacionalização. Moore [MOORE], em sua previsão de 1965, prognosticou que o poder de processamento dos microchips dobraria a cada 18 meses. 7 Petaflops veja Petascale, petaflosps e flops. 8 MIPS - Microprocessor without interlocked pipeline stages (Microprocessador sem estágios interligados de pipeline) valor de medida para processamento utilizado nos mainframes.
Figura 1: Lei de Moore Com a grande demanda por processamento e os investimentos dos principais fabricantes de chips, como Intel e AMD, Carl Anderson [ANDERSON] pesquisador da IBM, afirma que a Lei de Moore já não é mais válida e que o tempo de renovação da tecnologia está abaixo dos 18 meses previstos inicialmente por Moore. Sua afirmação é baseada em 3 inovações da indústria de microchips: a) Chips com conexões óticas; b) Processadores 3D e c) Processadores com sistemas aceleradores. Esse novo contexto acelera o poder de processamento dos clusters de alto desempenho. Outros fatores importantes para consolidar a tecnologia são: a) Consolidação de padrões e melhores práticas para a utilização de HPC; b) Criação de padrões únicos para medição da performance obtida e c) Aumento da segurança do ambiente clusterizado. 7. Quais são as implicações para o negócio? A utilização de HPC provê uma vantagem competitiva para as empresas [GARTNER] sendo na criação de novos produtos de inovação, na criação de protótipos, no tratamento de grande quantidade de informações, na análise e transformação de dados em informações gerenciais e na busca do gerenciamento da informação de maneira colaborativa com foco na produtividade. Sem dúvida uma grande contribuição da computação de alto desempenho é a disponibilização do poder de processamento na solução de um problema complexo comum a diversas pessoas. HPC pode ser utiliza para: Projetos de inovações e novos modelos de negócio.
Possibilita a criação de novos produtos como fator de inovação através da utilização de protótipos que podem ser gerados antecipadamente para análise de viabilidade e funcionalidade, também permite a evolução dos produtos já existentes no mercado e ajuda no refinamento de modelos de negócios já existentes. Pesquisas científicas. Projetos de pesquisas em diversas áreas, como por exemplo: área financeira, saúde, petroquímica, astrologia, matemática, química, física em geral se beneficiam do poder de processamento pela antecipação de estudos, análises e conclusões baseados em milhões de cálculos processados em tempo hábil. A utilização de HPC permite antecipar os resultados obtidos décadas ou centenas de anos. Referências Bibliográficas [NYTimes] New York Times, Markoff, Hohn. 1991. The Attack of the 'Killer Micros' http://www.nytimes.com/1991/05/06/business/the-attack-of-the-killer-micros.html [O Reilly] Dowd, Kevin, Severance Charles R., High Performance Computing, 2 nd Edition. Ed. O Reilly. [Foster] Foster, Ian, What is the Grid? A Three Point Checklist. [SUN] Sun Solares. Sun Constellation System HPC. http://www.sun.com/hpc, http://br.sun.com/practice/systems/hpc/ [MICROSOFT] Microsoft. Windows HPC Server 2008. http://www.microsoft.com/hpc/en/us/default.aspx [TOP500] Top500. HPC. http://www.top500.org. [ABE TOP500] Top500. NCSA. http://www.top500.org/system/8757 [PETROBRAS] Petrobrás usa Windows para computação de alto desempenho http://www.microsoft.com/brasil/revistams/anteriores/edicao_5/caso_petrobras.aspx [MS-HYPERCAMBIO] Microsoft Portugal. Hipercâmbio - High Performance Computing Applied to Medical Data and Bioinformatics. http://www.microsoft.com/presspass/press/2007/apr07/04-17portugallab.mspx [GSCI] GSCI - German Scientific Computing Initiative. PhD Project: Efficient Simulation of Earthquake Waves Using Modern HPC System, Dr. Martin Kser, Geophysik, LMU München. http://www.scicomp.uni-erlangen.de/data/v08n03a/job05.shtml [CORNELL] Cornell University. Cornell finds new human genes with HPC http://insidehpc.com/2007/11/23/cornell-finds-new-human-genes-with-hpc/
http://www.scientific-computing.com/news/news_story.php?news_id=616 [HP] HP. High Performance Computing. http://h20311.www2.hp.com/hpc/cache/274276-0-0-0-121.html, http://h18004.www1.hp.com/products/blades/bladesystem/index.html, http://h18004.www1.hp.com/products/servers/platforms/, http://h71028.www7.hp.com/enterprise/cache/595885-0-0-0-121.html. [INTEL] Intel. Intel HPC Development Center. http://www.intel.com/cd/ids/developer/asmo-na/eng/dc/hpc/index.htm [MOORE] Moore, Gordon E. Cramming more components onto integrated circuits. University of Denver. Mooers Law: In and Out of Context: http://spot.colorado.edu/~norcirc/mooers.html [ANDERSON] Anderson, Carl, IBM Fellow: Moore's Law Defunct. EETIMES. http://www.hpcwire.com/industry/academia/ibm-fellow-moores-law-defunct.html http://www.eetimes.com/news/latest/showarticle.jhtml;jsessionid=hpydq1zlyhypiqsndlsckha?articlei D=216403284 [FERRARI] Ferrari will test-drive HPC Server 2008 http://www.computerworld.com/action/article.do?command=viewarticlebasic&articleid=9117619 [GARTNER] Introducing the High-Performance Workplace: Improving Competitive Advantage and Employee Impact http://www.gartner.com, http://mediaproducts.gartner.com/reprints/microsoft/vol10/article4/article4.html [LANL] Los Alamos National Laboratory. http://www.lanl.gov/about.shtml