Computação exascale: entenda como AMD e Intel estão planejando o futuro - TecMundo
A informática é uma área que evolui constantemente. As maiores evidências são nossos computadores e smartphones, que em alguns anos receberam uma série de inovações e alcançaram patamares antes inimagináveis para aparelhos tão pequenos.
Contudo, o maior avanço neste segmento se dá nos supercomputadores, os quais podem realizar uma infinidade de cálculos por segundo. Para você que desconhece o termo, nós estamos falando de máquinas gigantescas, as quais são compostas por inúmeros chips.
Rodando sistemas operacionais baseados no Linux, estes monstros de processamento são utilizados para fins bem específicos: acadêmicos, industriais, governamentais, pesquisas científicas e até fins secretos (casos em que as empresas não informam as atividades).
Recentemente, nós comentamos sobre um chip da AMD de computação heterogênea, o qual poderá ser usado em máquinas que atingem a casa dos exaflops. Entretanto, não é só a AMD que está trabalhando no desenvolvimento de tecnologias desse tipo. Nomes como Intel, IBM e NVIDIA também se destacam quando o assunto é o futuro computacional.
Hoje, nós vamos explicar um pouco mais sobre os supercomputadores, a computação exascale, os planos de algumas fabricantes, as possibilidades dessas máquinas e como isto poderá impactar nossas vidas no futuro.
Supercomputadores são incríveis
Quando falamos em máquinas denominadas com o prefixo "super", você deve estar ciente que não estamos falando de PCs com processadores Intel Core i7 ou placas de vídeo GeForce — então, não, não roda Crysis. É preciso ter ciência que computadores dessa magnitude não têm serventia para usar em casa. Com arquiteturas próprias, eles não servem para rodar programas ordinários.
Dito isso, vamos entender como funciona a medida de "poder computacional" dos supercomputadores. Ao contrário do que muitos podem pensar, valores como o clock dos processadores ou a quantidade de memória de um PC não são suficientes para denotar as capacidades de uma máquina.
Para quantificar o desempenho de componentes de hardware (e dos computadores como um todo), a indústria elegeu a unidade FLOPS como padrão. A sigla vem de "FLoating-point Operations Per Second" (Operações de Ponto Flutuante por Segundo), sendo usada para indicar a quantidade de cálculos que podem ser realizados em um único segundo.
Atualmente, a máquina mais poderosa do mundo fica na China. O Tianhe-2 — ou simplesmente TH-2 — é um supercomputador que foi desenvolvido por mais de mil profissionais, entre engenheiros e cientistas, o qual foi capaz de alcançar, em meados de 2014, a incrível marca dos 33 PFLOPS (petaflops).
Em números, isso quer dizer que ele pode calcular 33.000.000.000.000.000 (são quadrilhões de) pontos flutuantes em um único segundo. Para conseguir fazer tudo isso, o TH-2 conta com 32 mil processadores Intel Ivy Bridge Xeon e 48 mil Xeon Phi, além de 4.096 unidades de processamento Galaxy FT-1500 — chips desenvolvidos pela NUDT, uma universidade chinesa.
As CPUs da Intel trabalham com a arquitetura x86, enquanto que as unidades Galaxy usam a arquitetura OpenSPARC. Contando todos os processadores, o TH-2 tem um total de 3.120.000 núcleos. Como o desenvolvimento se deu muitos anos antes do lançamento, essa supermáquina ainda trabalha com DDR3, mas isso não impediu que ela alcançasse um patamar impressionante de performance.
Como você pode conferir pelos números, essas supermáquinas realizam cálculos em uma velocidade inimaginável, daí o porquê do trabalho com sistemas próprios, focados especialmente nas atividades de cada computador. E ainda que possamos presumir que esses computadores já chegaram ao limite, é importante evidenciar que a evolução não para.
Um quintilhão de operações por segundo!
É neste ponto que chegamos aos computadores exascale, que vêm sendo abordados em notícias mais recentes. O termo americano em questão é usado para denominar a escala de capacidade de processamento. Uma máquina petascale é capaz de alcançar performance acima de 1 PETAFLOP, enquanto que outra exascale pode superar a casa de 1 EXAFLOP.
Sabe aquele computador chinês que nós comentamos acima? Então, para ter uma noção do quão poderosa será a geração exascale, basta pensar que eles podem realizar trinta e duas vezes mais cálculos no mesmo intervalo de tempo. Em um segundo, um supercomputador dessa magnitude poderá realizar um quintilhão (1.000.000.000.000.000.000) de operações.
Nossa, TecMundo, mas é preciso evoluir até esse ponto? Não dá pra calcular tudo nos computadores que existem hoje? De fato, as supermáquinas existentes hoje já são muito robustas e têm feito grandes progressos em várias áreas, mas, se você pensar bem, um computador que pode realizar 32 vezes mais cálculos pode poupar um bom tempo.
Vamos supor que o TH-2 levaria 32 dias para realizar uma determinada simulação de alguma tarefa. Agora, imagine se fosse possível realizar a mesma operação em apenas 1 dia. A ideia de incrementar o desempenho desses computadores é justamente conseguir poupar tempo e obter resultados práticos sem precisar aguardar muito mais tempo.
Aumentar o número de processadores não resolve?
Se você reparou bem nessa história de supercomputadores, talvez tenha notado que a performance absurda deles só é possível quando combinados milhares de processadores. Pensando dessa forma, é possível que tenha pintado uma dúvida: se colocar mais chips numa mesma máquina não seria possível alcançar a computação exascale hoje?
De fato, pensando no TH-2 da China, a ideia de juntar mais de 2 milhões de processadores talvez chegasse em um nível de desempenho próximo ao quintilhão de cálculos almejado. Contudo, criar um sistema capaz de unir o desempenho de todos esses componentes seria uma tarefa absurda, mesmo com um grupo gigante de profissionais, e quase impossível, considerando o tamanho físico do computador.
Além disso, é preciso considerar que o consumo de energia seria absurdamente elevado, impossibilitando o funcionamento da máquina. De acordo com um artigo da Intel, fazer o Tianhe-1A (a versão antiga desta supermáquina chinesa) trabalhar em exascale requisitaria mais de 1,6 gigawatts de potência — o suficiente para 2 milhões de casas.
A Intel tem novos processadores e ideias
O número de supercomputadores aumenta cada vez mais e a principal fornecedora de processadores é a Intel. A fabricante investe pesado em tecnologias para esse tipo de máquina, de modo que ela já vem planejando chegar à computação exascale faz um bom tempo.
Com o avanço constante em seus processadores para o mercado de desktops e servidores, a Intel vem usando algumas ideias inteligentes para desenvolver os chips do futuro que equiparão essas máquinas superpoderosas. A linha de chips Xeon Phi many-core é a grande aposta da empresa.
Com o codinome Knight's Landing, esta nova série de produtos usará os núcleos dos processadores Silvermont, com fabricação de 14 nanômetros. Uma das diferenças, entretanto, é a inclusão de um novo conjunto de instruções: o AVX512. Além disso, a possibilidade de trabalhar com quatro threads por núcleo é algo que deve ajudar na HPC (computação de alto desempenho).
Segundo rumores, os processadores Knight's Landing poderão ter até 72 núcleos, os quais conseguem dividir as tarefas em paralelo e entregar até 3 TFLOPS por soquete. Segundo a notícia do ZDNet, um rack com 42 unidades pode entregar até meio petaflop e consumir apenas 1 watt para alcançar 16 gigaglops — uso extremamente eficiente da energia.
A Intel ainda não deu muitos detalhes sobre seus planos para a computação exascale, mas já deixou claro que os chips virão da evolução constante da atual linha de produtos que ela vem fornecendo para os tantos supercomputadores equipados com processadores Xeon.
Os chips gráficos estão aqui para melhorar essa história!
Uma coisa interessante é que apesar de processadores de vídeo serem projetados para trabalhar com jogos e tarefas de renderização, eles acabam se saindo muito bem para processar dados em outras situações. Com tecnologias como o OpenCL e o CUDA, placas da AMD e NVIDIA vem sendo usadas em diversas situações.
A vantagem dos processadores de vídeo é justamente a forma como acontece a subdivisão de tarefas entre os milhares de núcleos, que garantem a aceleração nos cálculos gerais em quaisquer tarefas. Obviamente, um computador com esse tipo de tecnologia conta com uma arquitetura diferenciada e, com isso, existe a necessidade de softwares apropriados.
Em se tratando de supercomputação, a linha de produtos Tesla da NVIDIA ganha destaque e, conforme a empresa já anunciou em sua página oficial, essas monstras equiparão as novas máquinas da IBM. Uma será para o Laboratório Nacional de Oak Ridge (Summit) e a outra para Laboratório Nacional de Lawrence Livermore (Sierra).
Com o investimento do Departamento de Energia dos Estados Unidos, a NVIDIA está trabalhando em novos aceleradores Tesla para equipar os computadores Summit e Sierra. Segundo o que é informado pela fabricante, o poder combinado de várias placas que equiparão estes dois supercomputadores alcançará um pico de poder de processamento entre 100 e 300 PFLOPS.
Os processadores heterogêneos podem ser uma solução mais viável e poderosa
Alguns dos grandes fatores limitadores no avanço dos supercomputadores são as arquiteturas existentes e as limitações dos processadores. As soluções gráficas que comentamos acima devem ajudar muito, mas há outras saídas. Com o investimento constante no desenvolvimento de novos chips, empresas como Intel, AMD e IBM têm alcançado resultados impressionantes.
Todavia, pensando em longo prazo — e já mirando na computação exascale —, seria interessante conseguir reduzir o tamanho dessas máquinas, que geralmente ocupam salas gigantescas e demandam uma quantidade absurda de energia elétrica.
Você lembra que falamos sobre um processador heterogêneo da AMD lá no começo do texto? Pois é, uma das soluções deve ser justamente a migração para este novo tipo de processamento. Não sabe o que é a computação heterogênea? Nós vamos explicar.
Trata-se de um tipo de lógica em que diferentes arquiteturas são usadas em um mesmo componente para conseguir melhor desempenho em determinadas tarefas. É o caso dos chips que já trazem chip gráfico embutido podendo trabalhar com OpenCL e dos dispositivos FPGA, aceleradores que podem ter suas funções reprogramadas conforme a necessidade.
Uma das líderes neste segmento é a AMD, que vem apresentando avanços significativos com suas APUs (unidades de processamento acelerado). Mesclando CPU e GPU num mesmo item, a fabricante desenvolveu uma série de chips que está em uso tanto em notebook quanto em desktops. Agora, já pensou como seria uma APU dessas num supercomputador?
Pois é, a AMD tem um plano para esse tipo de componente e agora, além do plano, ela tem pouco mais de 32 milhões — novamente provenientes do Departamento de Energia dos Estados Unidos — para trabalhar em um sistema de arquitetura heterogênea (HSA) baseado em APUs com uma geração de memórias com nova interface.
E mais: a ideia do órgão americano é investir em soluções que possam ser usadas futuramente em aplicações comerciais. De acordo com a informação da AMD, os estudos ainda estão em fase inicial, com previsão de produtos chegando ao mercado entre 2020 e 2023.
Considerando essas informações, fica muito mais fácil entender o que é o tal chip da AMD que apareceu uns dias atrás aqui no TecMundo. Trata-se de um monstrinho que vai ter 32 núcleos, chip gráfico (de uma geração que ainda vai ser desenvolvida) e 32 GB de memória RAM tridimensional, a qual será baseada em uma interface que deve vir da evolução do HBM.
Quando tudo isso estará disponível?
Considerando que estamos falando de tecnologias que dependem de uma série de acertos na evolução de vários componentes de hardware, podemos dizer que é quase impossível prever com exatidão a chegada dos computadores exascale.
Entretanto, se formos fazer o cálculo pela Lei de Moore, levando em conta que o primeiro computador petascale saiu em meados de 2006 (e considerando que até 2015 o poder computacional dobrou a cada 18 meses), podemos presumir que a primeira máquina exascale vai chegar por volta de 2021 ou 2022.
A previsão da AMD é um quadro um pouco maior, que vai de 2020 até 2023. Enquanto que a Intel já arriscou palpite de que consegue lançar uma máquina exascale ainda em 2018. Seja qual for o caso, é importante ter em mente que esses chips não chegarão até o público, já que se destinam exclusivamente a cálculos avançados.
Entretanto, os resultados alcançados por essas máquinas podem significar melhorias na vida das pessoas, já que temos computadores dedicados à busca de curas para doenças, pesquisas espaciais e outras tantas que visam melhorar a vida do ser humano. Enfim, é bom saber que várias empresas estão trabalhando neste segmento e o infinito é a meta! Que venha o futuro!