Cluster HPC implementado na cloud

Pipelines
Armazenamento de Blobs
Batch
Monitor

Ideia de solução

Se quiser ver-nos expandir este artigo com mais informações, detalhes de implementação, orientação de preços ou exemplos de código, informe-nos com o Feedback do GitHub!

As aplicações de computação de alto desempenho (HPC) podem escalar para milhares de núcleos de computação, estender no local um grande cálculo, ou funcionar como uma solução nativa 100% nuvem. Esta solução HPC é construída sobre o serviço gerido Azure: Azure Batch,e iniciada por um trabalho de Pipelines Azure. Estes serviços funcionam num ambiente de alta disponibilidade, remendado e suportado, permitindo-lhe focar na sua solução em vez do ambiente em que se encontram.

Arquitetura

Diagrama de arquitetura Descarregue um SVG desta arquitetura.

A solução envolve os seguintes passos:

  1. A Azure Pipelines inicia um oleoduto que compila o projeto de código da equipa e o armazena como um executável no Azure Storage
  2. O trabalho do gasoduto continua carregando alguns dados de processamento na conta de armazenamento.
  3. Por último, a Azure Pipelines solicita que o serviço Azure Batch inicie o seu trabalho de processamento, completando o gasoduto.
  4. O serviço Azure Batch copiará os executáveis do programa e inserirá dados de armazenamento e atribuir-os-á a um conjunto de nóns computacional
  5. O serviço Batch executa trabalho e gestão de tarefas para o pool, retorda ou reatribui tarefas à medida que os nós completam o seu trabalho.
  6. À medida que os nós computato funcionam, o Azure Monitor recolhe dados de desempenho do pool (CPU, Memória, Disco I/O) e ficheiros de registo. A equipa pode estudar esta telemetria para construir melhores empregos no futuro.
  7. Quando os nós computativos completam as tarefas, eles reensajam os seus dados do programa de volta ao Azure Storage para a revisão da equipa.

Componentes

  • A Azure Pipelines constrói e testa projetos de código, e inicia os trabalhos de HPC no serviço Azure Batch.
  • O Azure Storage abriga dados HPC e ficheiros executáveis utilizados num trabalho.
  • Azure Batch programa os empregos e tarefas através de um grande número de nós, e gere todos os recursos compute.
  • As Máquinas Virtuais Azure funcionam como trabalhadores, realizando as tarefas de computação.
  • A Rede Virtual fornece conectividade IP entre os recursos compute e os outros serviços em nuvem, acima e além de qualquer comunicação nativa infiniband ou RDMA.
  • O Azure Monitor recolhe métricas de desempenho e registos dos recursos da nuvem para relatórios, alertas e resposta automatizada.

Considerações

Os pools de cálculo de lote não precisam de conter hardware de mercadoria. Máquinas virtuais especializadas com processadores GPU e rede avançada existem para serem usadas pelo Azure Batch. Máquinas virtuais otimizadas pela GPU com GPUs NVIDIA Tesla e rede infiniband de alta produção estão disponíveis.

As piscinas de cálculo de lotes podem autoescalar,o que aumenta e diminui o número de nós na piscina à medida que a quantidade de trabalho muda. Em vez de pagar por membros de piscina não usados, o autoscaling pode reduzir os custos de cálculo de um trabalho apenas para os recursos que estão executando tarefas.

Preços

Para explorar o custo de execução deste cenário, utilize a calculadora de preços Azure,que pré-configura todos os serviços da Azure.

O Azure Batch é um serviço gratuito, e os clientes pagam apenas pelos custos de armazenamento e networking subjacentes. Nesta solução, existem custos adicionais para os serviços Azure Pipelines e Azure Monitor. Especificamente para o Azure Batch, no entanto, é uma opção para comprar software de renderização de gráficos (como Autodesk Maya e Chaos Group V-Ray) a uma taxa por minuto. Consulte o Azure Batch Pricing para obter mais detalhes.

Passos seguintes