Crédito: sefa ozel/E+ via Getty Images
A questão do que constitui um supercomputador tecnicamente depende de quais tecnologias são de ponta em qualquer época — mas é tudo uma questão de rendimento. O termo “supercomputação” tem uma longa história. Foi registrado pela primeira vez por volta de 1930 para se referir a “máquinas estatísticas” na Universidade de Columbia “com o poder mental de 100 matemáticos qualificados”. No entanto, a ideia de um supercomputador cristalizou-se inicialmente em torno da distribuição de uma carga de trabalho em mais de um chip ou sistema.
Em alto nível, um supercomputador é exatamente o que parece – ou seja, um computador muito mais poderoso que um desktop que merece o superlativo. O que torna os supercomputadores interessantes não é apenas o quão poderosos eles são em relação aos computadores menores e mais baratos, mas o nível de inovação e engenharia necessários para trazê-los à existência.
Essa merda é louca Processamento Paralelo
O primeiro computador geralmente considerado um supercomputador é o CDC 6600, projetado por Seymour Cray e lançado em 1964.
O venerável CDC 6600, um ícone naquela época e agora.Crédito: Cray Inc./Jitzere Couperus (Flickr) – Creative Commons Atribuição 2.0 Genérica
O CDC 6600 da Cray funcionava a 10 MHz, graças à sua dependência de transistores construídos a partir de um material totalmente novo: o silício. Os gabinetes do sistema foram dispostos em forma de sinal de mais “+” para minimizar a distância dos fios e maximizar o desempenho. Mais tarde, seria considerado um precursor do design RISC (Reduced Instruction Set Computing), graças à sua dependência de um conjunto de instruções mais mínimo em comparação com outros chips de sua época e à sua ênfase na velocidade do clock como meio de alcançar alto desempenho.
Máquinas como o CDC 6600 e o posterior Cray-1 eram sistemas de processador único para os padrões modernos. Mas extrair o máximo desempenho do hardware da época significava lidar com dois vilões familiares: calor e atraso. À medida que os transistores ficaram menores, eles se aproximaram, o que veio com a necessidade correspondente de descarregar o calor da eletricidade. Enquanto isso, a expansão dos designs de chips cresceu em complexidade às custas da latência. Para lidar com isso, os construtores de supercomputadores começaram a integrar sistemas de resfriamento diretamente nas matrizes computacionais e a alterar seus projetos para limitar atrasos relacionados ao comprimento dos fios.
Melhor, mais rápido, mais forte
Ultrapassar os limites do desempenho da computação sempre exigiu que os fabricantes investissem para enfrentar desafios profundos. Um dos mais difíceis? Conectando tudo e fazendo com que trabalhar.
Em 2013, Roy Longbottom, engenheiro aposentado da Agência Central de Computação do Governo do Reino Unido, comparou o desempenho do Cray-1 com máquinas como o Raspberry Pi. Longbottom escreveu:
Em 1978, o supercomputador Cray 1 custava US$ 7 milhões, pesava 10.500 libras e tinha uma fonte de alimentação de 115 quilowatts. Foi, de longe, o computador mais rápido do mundo. O Framboesa Pi [first gen] custa cerca de US$ 70 (placa CPU, gabinete, fonte de alimentação, cartão SD), pesa alguns gramas, usa uma fonte de alimentação de 5 watts e é mais de 4,5 vezes mais rápido que o Cray 1.”
Mais recentemente, ele revisitou esta comparação com o hardware Pi atualizado, escrevendo: “Em 2020, a média de Livermore Loops, Linpack e Whetstone MFLOPS do Pi 400 atingiu 78,8, 49,5 e 95,5 vezes mais rápido que o Cray 1.” O Pi 5 provavelmente expandiria ainda mais essa melhoria, graças à mudança do Cortex-A72 para o Cortex-A76 e ao aumento da velocidade do clock.
Décadas de avanços em tudo, desde tecnologias de interconexão até nós de fabricação de semicondutores, permitiram que hardware de computação de uso geral oferecesse desempenho centenas de vezes mais rápido do que os primeiros supercomputadores mais rápidos. Hoje, por exemplo, os smartphones têm milhares de vezes mais poder de computação do que os mainframes que alimentaram a Apollo 11. Os supercomputadores modernos sincronizam dados entre centenas de milhares e milhões de núcleos de CPU e GPU.
O supercomputador do Oak Ridge National Lab, Frontier, é equipado com chips AMD Epyc e GPUs AMD Instinct.Crédito: Oak Ridge Leadership Computing Facility
No momento, o supercomputador mais rápido do mundo é o supercomputador exascale Frontier, localizado no Laboratório Nacional de Oak Ridge, no Tennessee. (E ainda deve parte de sua herança de design ao sistema OG Cray.) Frontier combina 9.472 chips AMD Epyc 7713 (606.208 núcleos no total) com 37.888 GPUs AMD Instinct MI250X (8.335.360 núcleos) em 74 gabinetes. O conjunto é conectado com cerca de 140 quilômetros de fibra óptica e fio de cobre e resfriado com quatro bombas de 350 cavalos de potência. O resfriamento do sistema com água em vez de ar permitiu que os arquitetos do sistema empacotassem os componentes principais com muito mais densidade.
Uma comparação entre o Cray-1 e o Raspberry Pi 5 ilustra como os tremendos problemas de escala e resfriamento que antes exigiam engenheiros avançados, colocação meticulosa de componentes e um mercado previsto para dezenas de sistemas (mais de 80 Cray-1s foram eventualmente vendidos a um preço de US$ 5 a 8 milhões em dólares de 1977) não foram apenas resolvidos, mas resolvidos de forma tão abrangente que computadores de placa única com 100x o desempenho do Cray-1 foram vendidos por 0,00019% de seu preço de lançamento.
Com relação ao problema de “ligar tudo”, há muito mais coisas acontecendo do que apenas a dificuldade física de conectar placas de controle ou racks de servidores. As melhorias no software e nos custos operacionais gerais têm sido críticas para o sucesso dos supercomputadores. Mas eles também traçam a linhagem dos supercomputadores à medida que evoluem para diferentes tipos que resolvem problemas diferentes.
Para que são usados os supercomputadores?
Os supercomputadores apresentam seu melhor desempenho com cargas de trabalho que não podem ser executadas de maneira econômica ou em termos de tempo ou custo em sistemas menores, porque a taxa de transferência é um gargalo. Às vezes é uma questão de discutir um zilhão de variáveis; outros problemas exigem extrema precisão com números muito pequenos e muito grandes.
Por exemplo, a previsão do tempo e as simulações de ciências da terra foram ampliadas lindamente para serem executadas em sistemas do tamanho de supercomputadores. A indústria do petróleo e do gás tem feito uso extensivo destes sistemas para modelar a física das ondas sísmicas e prever melhor a localização das reservas de combustíveis fósseis. Projetado pela Intel e Cray Inc., o supercomputador Aurora no Argonne National Lab, investigará a física da fusão na esperança de que ela possa ser feita não apenas com energia positiva, mas também prática.
Os supercomputadores também têm sido utilizados para modelização económica, para realizar investigação farmacêutica e para testar virtualmente armas nucleares sem exigir os tipos de detonações atómicas do mundo real realizadas por vários países antes do Tratado de Proibição Parcial de Testes de 1963.
O advento da computação GPU em meados da década de 2010 aumentou significativamente o desempenho dos supercomputadores em geral e ajudou a impulsionar melhorias adicionais na complexidade do modelo. Melhores supercomputadores foram creditados por melhorar a previsão do tempo nos Estados Unidos, e a IA pode oferecer ganhos adicionais. Um relatório publicado em Ciência em novembro de 2023 destacou como um modelo de aprendizado de máquina conhecido como GraphCast superou amplamente os relatórios meteorológicos convencionais.
O supercomputador IBM Blue Gene/P “Intrepid” do Argonne National Lab é alimentado por mais de 160.000 núcleos de processador, mas resfriado usando apenas ar condicionado normal de data center.Crédito: Laboratório Nacional Argonne
Os sistemas que normalmente povoam o TOP500 – uma lista atualizada semestralmente dos supercomputadores mais poderosos do mundo – podem ou não ser dedicados à IA. Mas empresas como Nvidia e AMD estão recorrendo ativamente ao mesmo conjunto de conhecimento para projetar os servidores mais poderosos construídos em torno de hardware como o Radeon Instinct MI300X ou o GB200 da Nvidia.
Para o bem ou para o mal, a IA está ganhando importância. Ao chegar ao centro do palco, ele trouxe consigo um novo tipo de supercomputador, projetado especificamente para os grandes modelos de linguagem que alimentam IAs de chatbot, como ChatGPT e Microsoft Copilot. Em relação ao poder de computação bruto, alguns dos enormes clusters de GPU supostamente montados por empresas como Google, Microsoft e OpenAI rivalizam com a lista mais convencional de supercomputadores mantida pelo TOP500.
Mais recentemente, a xAI, startup de IA de Elon Musk, anunciou que seu supercomputador “Colossus” está prestes a dobrar de tamanho. Em uma postagem posterior, Musk adicionado que o Colossus é alimentado por cerca de 200.000 GPUs Nvidia H100 e H200, todas alojadas dentro de um único edifício comicamente enorme de quase 800.000 pés quadrados.
Arquiteturas de supercomputadores
Os supercomputadores são profundamente paralelos por design: sua arquitetura lhes permite coordenar muitas unidades funcionais trabalhando na mesma tarefa. Os supercomputadores convencionais são instalações enormes que podem ocupar armazéns inteiros. (Se um monge pode copiar 10 páginas de texto por dia, quantas páginas um scriptorium inteiro de monges poderia produzir num dia?) Mas há muitos diferentes maneiras de implementar a ideia de “processamento paralelo”.
Décadas de trabalho foram dedicadas ao desenvolvimento de sistemas operacionais, interfaces de passagem de mensagens, padrões de rede (incluindo tudo, desde Ethernet variada até Infiniband), estruturas de dados e a criação de topologias de rede avançadas que permitem que sistemas exaescala como o Frontier aproveitem praticar os enormes recursos computacionais que eles teoricamente oferecem.
Computação em cluster
Enquanto os supercomputadores convencionais geralmente consistem em muitas unidades de processamento agrupadas em salas de servidores, a computação em cluster implanta vários computadores físicos discretos que podem ou não estar no mesmo prédio. Quando esses computadores são vendidos em lojas de varejo (em oposição aos racks de GPUs OEM Nvidia que alimentam startups de mineração de criptografia), um cluster de computação também pode desbloquear um título diferente: o cluster Beowulf.
Um famoso aglomerado Beowulf, no Goddard Space Flight Center da NASA, surgiu como uma resposta à Corrida Espacial de meados do século: o dilúvio de dados dos sistemas da NASA que se multiplicavam rapidamente tinha “começado a acumular-se no Goddard da NASA em enormes salas cheias de fitas redondas de armazenamento que teve que ser indexado, montado e solicitado para acesso.” Foi simplesmente demais; eles desenvolveram seu próprio cluster de supercomputadores em autodefesa logística. Outro, de um laboratório de defesa nacional dos EUA, usou 70 consoles PlayStation 2 com Linux, conectados em rede para cálculos físicos.
O surgimento do cluster Beowulf é um momento importante na história da supercomputação – não tanto porque marcou a implantação de qualquer grande avanço tecnológico, mas porque os clusters Beowulf utilizam hardware mainstream comoditizado, como PlayStations, e software gratuito e de código aberto.
Como afirmava o “How to” original do Beowulf: “Beowulf não é um pacote de software especial, uma nova topologia de rede ou o mais recente hack do kernel. Beowulf é uma tecnologia de agrupamento de computadores para formar um supercomputador virtual paralelo.” Hoje, todos os sistemas do TOP500 dependem de elementos desta abordagem.
Computação Distribuída
No sentido físico, os supercomputadores costumam ser edifícios cheios de racks de servidores. Um único sistema pode ser dividido em vários nós, mas os supercomputadores são, em sua maioria, instalados em um único local físico. Os sistemas de computação distribuída, por outro lado, podem operar a grandes distâncias, inclusive em diferentes continentes. Plataformas de computação em nuvem como o Microsoft Azure oferecem até as chamadas arquiteturas “sem servidor”, cobrando dos clientes os recursos que suas cargas de trabalho consomem.
Os vários nós de um supercomputador são projetados para trabalhar em conjunto para resolver um problema problema. Mas se a latência não for um problema, não é tão importante ter todos esses nós de computação no mesmo local físico. A computação distribuída delega uma parte de sua carga de trabalho a cada um dos nós de sua rede. A computação em nuvem vai um passo além, transferindo toda a carga de trabalho da “borda” (ou seja, um computador ou dispositivo, como a Internet das Coisas) para a “nuvem” de data centers que oferecem tempo de computação como serviço.
Os sistemas de computação distribuída não são usados para análise de dados em tempo real: o trabalho realizado pelo Sistema nº 1 na América do Norte não dependerá de resultados imediatos do Sistema nº 2 no Japão. Um dos nossos projetos favoritos de computação distribuída é o Folding@Home, que distribui o trabalho de investigação do enovelamento de proteínas pelos desktops e laptops dos participantes, fazendo cálculos bioquímicos discretamente enquanto seus sistemas estavam ociosos. Durante os primeiros dias da pandemia de COVID-19, o interesse no Folding@Home aumentou, levando a uma série de histórias sobre como, em termos de força computacional bruta, a rede F@H era agora mais poderosa do que toda a rede de supercomputação TOP500, combinada .
Computação em escala de wafer
Percorremos um longo caminho desde os processadores single-core do final dos anos 90 e início dos anos 2000. Atualmente, desktops, laptops e smartphones possuem processadores multicore. Geralmente, mais núcleos significa que um chip pode lidar com mais trabalho por vez. Então, e se você continuasse colocando mais e mais núcleos em um chip? E se você pudesse eliminar latência interna como um gargalo? Mais núcleos sempre melhorar? Levando essa ideia ao extremo, a computação em escala de wafer usa enormes unidades de processamento multicore do tamanho de um prato de jantar, gravadas na mesma fatia de silício.
O WSE-2, retratado aqui, é a oferta mais recente em escala de wafer da fabricante de chips Cerebras.Crédito: Cerebras
A computação em escala wafer é quase o oposto de um supercomputador distribuído. Devido ao seu design monolítico e altamente paralelo, a escala de wafer é mais útil para cargas de trabalho que envolvem fazer uma coisa, muitas vezes. A estrutura imprensada dos wafers envolve uma camada de interface projetada para minimizar a latência à medida que grandes quantidades de informações viajam através desse wafer gigantesco. A Cerebras classifica seu mais recente processador em escala wafer, WSE-2, como o supercomputador mais rápido da Terra.
Qual é a altura do teto da supercomputação?
Mesmo no topo do aquecido mercado de IA, alguns reconhecimentos das realidades térmicas precisam ser feitos; Diz-se que a Nvidia cancelou recentemente os planos de implantar um rack duplo GB200 de 72 GPUs, porque a maioria de seus clientes pretendidos não conseguia atender aos requisitos de densidade de energia.
O consumo de energia claramente não pode continuar a aumentar para sempre. O Frontier pode ter quebrado a barreira do exaFLOP, mas também consome mais de 21 MW de energia, em comparação com os relativamente esbeltos 115 kW do Cray-1. Os sistemas modernos são literalmente ordens de magnitude mais eficientes do que os computadores de quatro décadas atrás, mas, de qualquer forma, consomem muito mais eletricidade. A IA pode eventualmente apontar o caminho para otimizações de circuitos e novas abordagens de computação que atualmente nos escapam. Mas, na ausência de algum tipo de avanço fundamental, os supercomputadores enfrentam um caminho difícil para a escala zeta, se é que tal caminho existe.
A IA colocou em destaque os problemas de consumo de energia na indústria de data centers. Mas as preocupações sobre a direção do consumo de energia da supercomputação são anteriores ao atual aumento de interesse na inteligência artificial. De acordo com um artigo de 2022 da Data Center Dynamics, os requisitos de energia em escala de megawatts exigidos por máquinas como a Frontier podem representar um caminho que a maioria dos centros de computação científica não pode se dar ao luxo de seguir. Num sinal do quanto a dinâmica do mercado mudou em apenas alguns anos, o artigo do DCD sugere que as implantações de HPC em nuvem podem ser uma maneira mais acessível para clientes que desejam desempenho de supercomputação acessá-lo, sem pagar os custos locais de um verdadeiro instalação de supercomputação. Se você prestou atenção à enxurrada de informações de AI PC despejadas no mercado ultimamente, você pode ter visto empresas argumentando que os futuros AI PCs reduzirão os custos de IA ao mover cargas de trabalho dos data centers em nuvem e de volta para dispositivos locais.
No nível mais superficial, isso reflete a tendência dos especialistas do setor de ver as tendências se movendo na direção que mais favorece o bolso do respectivo cliente. Ainda assim, há é algo relacionado à ideia de que as cargas de trabalho estão amplamente em movimento, movendo-se simultaneamente para fora através de redes de sistemas maiores para aproveitar a co-localização e as eficiências de escala, enquanto também buscando ambientes de execução local que minimizem a latência, a energia e a movimentação de dados.
Há sessenta anos, a recusa obstinada de Seymour Cray em ficar satisfeito em construir computadores mundanos revolucionou literalmente o que os computadores eram capazes de fazer. Como campo, a supercomputação ajudou a desbloquear a nossa compreensão mais fundamental do nosso universo, desde o comportamento dos núcleos atómicos até às complexidades das interações medicamentosas e do enovelamento de proteínas. Essas máquinas ampliam os limites do conhecimento humano. Continuar a melhorá-los desafiou a indústria informática a escalar as tecnologias existentes e pressionou-a repetidamente a inventar novas.
A supercomputação é empolgante porque nos convida a considerar o que os computadores podem realizar se jogarmos ao vento a cautela, os orçamentos e as contas de energia. Isso nem sempre é uma ótima ideia, mas inegavelmente levou a algumas coisas incríveis. Ad astra, por máquina.
Marcado em
Supercomputadores de inteligência artificial com aprendizado de máquina para data centers