Definition

Computação de alto desempenho ou HPC

Computação de alto desempenho (HPC) é a prática de usar o processamento paralelo de dados para melhorar o desempenho da computação e executar cálculos complexos. A HPC atinge esses objetivos adicionando poder de computação, de modo que até mesmo aplicativos avançados podem ser executados de forma eficiente, confiável e rápida com base nas necessidades e expectativas do usuário. Portanto, oferece muito mais potência e melhor desempenho do que computadores, estações de trabalho e servidores tradicionais.

A necessidade de computação de alto desempenho (HPC)

No mundo moderno, descobertas e invenções revolucionárias só podem acontecer com tecnologia, dados e computação avançados. À medida que tecnologias de ponta, como inteligência artificial (IA), aprendizado de máquina (ML) e internet das coisas (IoT) evoluem, elas exigem grandes quantidades de dados. Eles também precisam de computação de alto desempenho porque os sistemas HPC podem realizar trilhões de cálculos por segundo, em comparação com laptops ou desktops típicos que podem realizar no máximo 3 bilhões de cálculos por segundo (com um processador de 3 GHz).

O HPC é especificamente necessário por estes motivos:

  • Ele abre caminho para novas inovações em ciência, tecnologia, negócios e academia.
  • Ele melhora as velocidades de processamento, o que pode ser crítico para muitos tipos de operações de computação, aplicativos e cargas de trabalho.
  • Ele ajuda a estabelecer a base para uma infraestrutura de TI rápida e confiável que pode armazenar, processar e analisar grandes quantidades de dados para vários aplicativos.

Benefícios de HPC

O HPC ajuda a superar muitas barreiras de computação que os processadores e PCs convencionais costumam enfrentar. Os benefícios do HPC são muitos e incluem os seguintes.

Altas velocidades

O HPC trata principalmente de processamento ultrarrápido, o que significa que os sistemas HPC podem realizar grandes quantidades de cálculos muito rapidamente. Em comparação, processadores e sistemas de computador normais levariam mais tempo –dias, semanas ou até meses– para realizar esses mesmos cálculos.

Os sistemas HPC geralmente usam as CPUs e GPUs mais recentes, bem como malhas de rede de baixa latência e dispositivos de armazenamento em bloco, para melhorar as velocidades de processamento e o desempenho da computação.

Preço mais baixo

Como um sistema HPC pode processar mais rapidamente, os aplicativos podem ser executados mais rapidamente e gerar respostas rapidamente, economizando tempo ou dinheiro. Além disso, muitos desses sistemas estão disponíveis nos modos "pague conforme o uso" e podem ser ampliados ou reduzidos conforme necessário, melhorando ainda mais sua lucratividade.

Necessidade reduzida de evidências físicas

Muitos aplicativos modernos exigem testes físicos extensivos antes de serem liberados para uso público ou comercial. Os veículos autônomos são um exemplo. Pesquisadores, desenvolvedores e testadores de aplicativos podem criar simulações poderosas usando sistemas HPC, minimizando ou mesmo eliminando a necessidade de testes físicos caros ou repetitivos.

Como funciona o HPC

A maioria dos sistemas HPC tem três componentes ou recursos principais:

  • Computação
  • Rede
  • Armazenamento

Em uma arquitetura HPC, vários servidores —geralmente centenas ou milhares— formam uma rede ou cluster. Cada servidor é um nó; e em cada cluster, os nós trabalham em paralelo para aumentar as velocidades de processamento e garantir HPC. Os clusters geralmente são criados e excluídos automaticamente na nuvem para economizar tempo e reduzir custos.

Vários programas de software e algoritmos são executados simultaneamente no cluster para oferecer suporte a vários aplicativos HPC. Além disso, o cluster é conectado em rede aos componentes de armazenamento para capturar e armazenar a saída desses programas.

Interações entre componentes

É importante que esses vários componentes operem em velocidades ou níveis de desempenho semelhantes. Se eles não conseguirem acompanhar um ao outro, o HPC não acontecerá e todo o sistema falhará. Por exemplo, os servidores devem ingerir e processar dados de componentes de armazenamento com eficiência, enquanto esses componentes devem ser capazes de enviar dados rapidamente aos servidores para dar suporte ao HPC. Da mesma forma, os componentes de rede devem oferecer suporte ao transporte contínuo de dados de alta velocidade entre outros componentes.

Os sistemas HPC podem executar diferentes tipos de cargas de trabalho. Dois tipos populares são as cargas de trabalho paralelas e fortemente acopladas.

Em cargas de trabalho paralelas, os problemas computacionais são divididos em tarefas pequenas e independentes que podem ser executadas em paralelo em velocidades muito altas. Muitas vezes, essas cargas de trabalho não se comunicam entre si. Exemplos de tais cargas de trabalho incluem simulações de risco, simulações de logística, pesquisa contextual e modelagem molecular.

Quando as cargas de trabalho são divididas em tarefas menores e se comunicam continuamente umas com as outras durante o processamento, elas são consideradas fortemente acopladas . Isso geralmente ocorre com cargas de trabalho em nós diferentes em um cluster. Alguns exemplos comuns de cargas de trabalho fortemente acopladas são simulações de colisão de automóveis, simulações geoespaciais, modelagem de previsão do tempo e gerenciamento de tráfego.

Ambos os tipos de cargas de trabalho exigem altas velocidades de processamento e resultados precisos, para os quais o HPC é necessário.

Dicas para acelerar o HPC, após a instalação.

Aplicativos de HPC

HPC é usado em muitos cenários da vida real para resolver problemas complexos em ciência, negócios e engenharia. Algumas instituições acadêmicas também usam sistemas HPC. Algumas agências governamentais, principalmente militares, contam com HPC para aplicações complexas. À medida que cresce a demanda por poder de processamento e velocidade para aplicativos do mundo real, é provável que o HPC atraia empresas de todos os tamanhos, principalmente para processamento de transações e data warehouses.

Os sistemas HPC também são usados em muitos outros setores, incluindo, entre outros:

  • Fabricação. Projetar, fabricar e testar novos produtos através de simulações.
  • Cuidados de saúde. Pesquisar e desenvolver novas vacinas, medicamentos e tratamentos para doenças; melhorar as técnicas de detecção; e fazer diagnósticos mais precisos dos pacientes.
  • Mídia e entretenimento. Para criar animações e efeitos especiais, transcodificar arquivos de mídia, suportar vídeo de alta velocidade e streaming de eventos ao vivo e criar entretenimento imersivo usando realidade aumentada.
  • Aeroespacial. Para treinamento de pessoal e para criar simulações críticas para testes de aeronaves.
  • Óleo e gás. Para testar modelos de reservatórios, localizar recursos de petróleo e gás, realizar análises espaciais e simulações de fluxo de fluidos e processamento sísmico.
  • Automotivo. Para simular testes de colisão na indústria automotiva, que são mais baratos que os testes físicos.
  • Serviços financeiros. Para automatizar a negociação, detectar fraudes com cartão de crédito e acompanhar as tendências do estoque em tempo real.
  • Meteorologia. Para prever e rastrear tempestades e outros padrões climáticos incomuns.

Um supercomputador é um dos exemplos mais conhecidos de HPC, no qual um grande computador é composto de muitos computadores e processadores que trabalham juntos para obter processamento paralelo e alto desempenho.

Desafios envolvidos em implementações de HPC

Embora HPC tenha feito um tremendo progresso nas últimas décadas, algumas barreiras permanecem que impedem a adoção generalizada de HPC:

  • Definir capitais. A configuração do ambiente para HPC envolve investimentos significativos que as pequenas empresas normalmente não podem pagar.
  • Custos contínuos. O gerenciamento contínuo e outros custos operacionais podem ser uma grande barreira.
  • Infraestrutura local desatualizada. À medida que o computador local envelhece, ele pode degradar o desempenho do HPC.
  • Necessidade de atualizações frequentes. Os sistemas HPC devem ser continuamente atualizados para manter seus níveis de desempenho. Adiar essas atualizações pode afetar a eficiência e prolongar os tempos de processamento.

Muitas dessas barreiras existem devido à implementação local de sistemas HPC. As tecnologias de nuvem projetadas especificamente para cargas de trabalho de HPC —e que oferecem ampla capacidade e uma opção de "pagamento conforme o uso"— podem ser uma solução viável para esses desafios.

Este conteúdo foi atualizado pela última vez em Abril 2024

Saiba mais sobre Computação de alto desempenho HPC