Cenários para tecnologias de HPC e do Lote

Concluído

Cada desafio de HPC (computação de alto desempenho) tem seus próprios requisitos e, muitas vezes, exige uma solução exclusiva.

Como arquiteto de soluções da organização de engenharia, você precisa usar soluções de HPC no Azure para resolver as tarefas complexas enfrentadas pela organização. Essas tarefas incluem a renderização de modelos 3D das instalações projetadas pela empresa e o armazenamento de grandes quantidades de dados estatísticos. A essência do HPC é usar muitos computadores ou computadores que tenham configurações de CPU, GPU e memória altamente especificadas para lidar com tarefas complexas e demoradas.

Aqui, você aprenderá mais sobre alguns casos de uso comuns de HPC. Esse conhecimento deve ajudar você a identificar futuros problemas que podem ser resolvidos com soluções de HPC.

Casos de uso comuns de HPC

As organizações usam o HPC para resolver problemas de negócios variados. Seus requisitos podem ser exclusivos, mas geralmente, um caso de uso se enquadra em um dos vários cenários comuns.

Análise de elementos finitos

A análise de elementos finitos lida com problemas que envolvem questões complexas de engenharia física. Esses problemas podem incluir transferência de calor, análise estrutural, transporte em massa e potencial eletromagnético. Para resolver esses problemas, os sistemas grandes são subdivididos em partes menores chamadas elementos finitos e remontados em um sistema maior de equações.

Os exemplos incluem simulação de acidente de carro e previsão do tempo. Você pode enfatizar os aspectos mais interessantes do sistema. Por exemplo, a simulação de acidente de carro pode se concentrar na parte dianteira do veículo, enquanto as simulações de clima podem ser otimizadas para identificar eventos meteorológicos extremos. O uso da análise de elementos finitos para modelar acidentes de carro simplesmente exige a especificação da geometria estrutural e da composição de material do veículo. As variações matemáticas para o que pode acontecer em um acidente de carro em alguns segundos são tão amplas que você pode precisar de HPC para modelar isso corretamente.

Renderização de modelo 3D

A renderização 3D é um caso de uso clássico para o HPC na nuvem. Um único computador pode levar horas ou dias para renderizar totalmente um arquivo de vídeo 3D ou uma imagem de ativos estáticos. Você pode comprar um computador caro e bem especificado para lidar com esse problema. No entanto, devido à velocidade com a qual a tecnologia fica desatualizada, pode ser mais econômico e eficiente alugar a potência necessária na nuvem. Use o Lote do Azure para alugar o máximo de potência necessário para a renderização no tempo disponível e então o desligue quando o trabalho for concluído. Adote esse processo quando tiver trabalhos semelhantes a serem concluídos.

A infraestrutura subjacente é aprimorada conforme as atualizações de tecnologia ficam disponíveis. O Lote também permite que você use alguns dos pacotes de renderização 3D mais importantes como Maya, 3D Studio Max e Chaos V-Ray. Você paga os valores de licenciamento por hora. Como a renderização é particularmente intensa na CPU, a implantação de VMs da série H em pools do Lote oferece uma solução eficiente.

O diagrama a seguir mostra uma arquitetura típica do Lote que pode ser usada para dar suporte à renderização 3D.

Diagrama da arquitetura da renderização 3D do Lote do Azure.

Análise de DNA

A genômica, o estudo do conjunto completo de DNA de um organismo individual, também é bem adequado para técnicas de HPC baseadas em nuvem. A pesquisa de genoma normalmente envolve grandes quantidades de dados. A configuração de DNA é acompanhada por um número suficientemente grande de pessoas para identificar uma variação significativa. Em média, há cerca de 25.000 genes no corpo humano, cada um consistindo em instruções entre 500 e 2,3 milhões de letras. O HPC na nuvem permite armazenar enormes volumes de dados e trabalhar com eles de maneira eficiente, sem fazer uma grande despesa de capital em uma tecnologia que rapidamente ficará desatualizada.

Projeto auxiliado por computador

O CAD (projeto auxiliado por computador), que tem algumas semelhanças com a análise de elementos finitos e a renderização 3D do Lote, é outro bom caso de uso para o HPC na nuvem. O CAD acelera o design e o teste de produtos e permite que visualizações e simulações complexas sejam feitas nos artefatos resultantes.

Este diagrama mostra uma possível arquitetura que pode ser usada para publicar um produto de SaaS (software como serviço) do CAD, baseado em VMs das séries N e H no Azure.

Diagrama de arquitetura para CAD de SaaS.

Dinâmica dos fluidos computacional

A dinâmica dos fluidos computacional usa a matemática para modelar fluxos fluidos, tanto de fluxo livre quanto de interação com superfícies sólidas. Essas simulações são exigentes de um ponto de vista de computação. Elas fornecem um bom caso de uso para alguns dos aspectos mais complexos das VMs da série H que você viu anteriormente. Esses aspectos incluem recursos de rede InfiniBand e uma capacidade de interagir por meio da MPI (Interface de Passagem de Mensagem).

Critérios de decisão

Qual serviço candidato devo usar?

  • Lift and shift é uma estratégia de migração de uma carga de trabalho para a nuvem sem recriar o aplicativo ou fazer alterações de código. Também chamado de nova hospedagem. Para obter mais informações, consulte a Central de migrações do Azure.

  • Nuvem otimizada é uma estratégia de migração para a nuvem por meio da refatoração de um aplicativo para aproveitar os recursos e funcionalidades de nuvem nativos.

Diagrama da decisão do serviço de candidato do Azure.

Qual serviço de armazenamento do Azure HPC devo usar?

Diagrama da árvore de decisão do armazenamento do Azure HPC.

Computação baseada em CPU versus em GPU

  • Uma CPU (o cérebro) pode funcionar em vários cálculos diferentes, enquanto uma GPU (a massa muscular) é melhor em concentrar todas as habilidades de computação em uma tarefa específica.

  • Enquanto os núcleos individuais da CPU são mais rápidos conforme medido pela velocidade do clock da CPU e mais inteligentes conforme medido pelos conjuntos de instruções disponíveis. O grande número de núcleos de GPU e a enorme quantidade de paralelismo que eles oferecem compõem a diferença de velocidade de clock de núcleo único e conjuntos de instruções limitados.

  • CPU

    • A CPU consiste em alguns núcleos otimizados para processamento serial sequencial. Ela foi projetada para maximizar o desempenho de uma só tarefa em um trabalho.
    • Etapas para encontrar a VM da CPU correta:
      • Determinar se um trabalho do aplicativo HPC é executado em menos de um computador ou usa MPI em vários computadores.
      • Determinar o uso de RAM por núcleo do trabalho (por exemplo, 6 GB de RAM por núcleo) e usar como parâmetro de comparação as instâncias que sejam adequadas.
      • Se a carga de trabalho exigir núcleos físicos, use as famílias de VM (mostradas em roxo).
      • Verificar a disponibilidade dos computadores preferenciais.
      • O Cray é aplicável a todas as cargas de trabalho:
        • Onde um tipo de VM funcional não está disponível regionalmente
        • Que são de alta utilização, os servidores são usados 80% ou mais
        • Onde não há nenhuma configuração de VM em funcionamento

Diagrama da utilização do armazenamento da CPU.

  • GPU

    • Uma GPU usa milhares de núcleos menores e mais eficientes para uma arquitetura massivamente paralela destinada a lidar com várias funções ao mesmo tempo.
    • As GPUs modernas oferecem poder de processamento, largura de banda de memória e eficiência superior em relação às CPUs equivalentes. Elas são 50 a 100 vezes mais rápidas em tarefas que exigem vários processos paralelos.

Diagrama de visualização de GPU.

Por que a rede de baixa latência é importante para trabalhos altamente acoplados?

  • Muitos aplicativos de HPC são altamente paralelos e têm uma comunicação altamente acoplada. Isso significa que durante uma execução de simulação paralela de aplicativos, todos os processos paralelos precisam se comunicar entre si com frequência.

  • Esses tipos de aplicativos geralmente têm um desempenho melhor quando a interconexão entre os processos paralelos é feita em redes de alta largura de banda e baixa latência, como InfiniBand.

  • A natureza altamente acoplada desses aplicativos significa que uma VM individual que não esteja funcionando de modo ideal pode prejudicar o desempenho do trabalho.

  • Os nós exigem uma comunicação cruzada significativa (chat) entre eles para que operem corretamente.

Diagrama da rede de baixa latência.