O que é o Azure Batch?

Utilize o Azure Batch para executar trabalhos de lote de computação de alto desempenho (HPC) e paralelos em larga escala de forma eficaz no Azure. O Azure Batch cria e gere um conjunto de nós de computação (máquinas virtuais), instala as aplicações que quer executar e agenda trabalhos para execução nos nós. Não há cluster ou software de agendamento de tarefas para instalar, gerenciar ou dimensionar. Em alternativa, utilize as APIs e ferramentas do Batch, scripts de linha de comandos ou o portal do Azure para configurar, gerir e monitorizar os seus trabalhos.

Os programadores podem utilizar o Batch como um serviço de plataforma para criar aplicações SaaS ou aplicações cliente quando for precisa uma execução em grande escala. Por exemplo, você pode criar um serviço com o Batch para executar uma simulação de risco de Monte Carlo para uma empresa de serviços financeiros ou um serviço para processar muitas imagens.

Não há custo extra para usar o Batch. Paga-se apenas pelos recursos subjacentes consumidos, como máquinas virtuais, armazenamento e redes.

Para obter uma comparação entre o Batch e outras opções de solução HPC no Azure, consulte Computação de alto desempenho (HPC) no Azure.

Executar cargas de trabalho paralelas

O batch funciona bem com cargas de trabalho intrinsecamente paralelas (também conhecidas como "embaraçosamente paralelas"). Essas cargas de trabalho têm aplicativos que podem ser executados de forma independente, com cada instância concluindo parte do trabalho. Quando os aplicativos estão em execução, eles podem acessar alguns dados comuns, mas não se comunicam com outras instâncias do aplicativo. Cargas de trabalho intrinsecamente paralelas podem, portanto, correr em grande escala, determinada pela quantidade de recursos de computação disponíveis para executar aplicações simultaneamente.

Alguns exemplos de cargas de trabalho intrinsecamente paralelas que pode colocar no Batch:

  • Modelação de riscos financeiros através de simulações Monte Carlo
  • VFX e renderização de imagem 3D
  • Análise e processamento de imagens
  • Transcodificação multimédia
  • Análise de sequência genética
  • Reconhecimento ótico de carateres (OCR)
  • Ingestão de dados, processamento e operações de ETL
  • Execução de testes de software

Você também pode usar o Batch para executar cargas de trabalho fortemente acopladas, onde os aplicativos executados precisam se comunicar uns com os outros, em vez de serem executados de forma independente. As aplicações fortemente conjugadas utilizam normalmente a API de MPI (Message Passing Interface). Pode executar as suas cargas de trabalho fortemente acopladas com Batch usando Microsoft MPI ou Intel MPI. Melhore o desempenho das aplicações com tamanhos de VM especializados HPC e otimizados para GPU.

Alguns exemplos de cargas de trabalho fortemente conjugadas:

  • Análise de elementos finitos
  • Dinâmica fluída
  • Formação de IA com múltiplos nós

Muitas tarefas fortemente conjugadas podem ser executadas em paralelo com o Batch. Por exemplo, você pode realizar várias simulações de um líquido fluindo através de um tubo com larguras de tubo variáveis.

Capacidades adicionais do Batch

O Batch suporta cargas de trabalho de composição em grande escala com ferramentas de composição, incluindo Autodesk Maya, 3ds Max, Arnold e V-Ray.

Também pode executar trabalhos do Batch como parte de um fluxo de trabalho maior do Azure para transformar dados, gerido por ferramentas como o Azure Data Factory.

Como funciona

Um cenário comum para Batch envolve escalar trabalhos intrinsecamente paralelos, como a renderização de imagens para cenas 3D, num conjunto de nós de computação. Este pool de recursos pode ser a sua "fazenda de renderização" que fornece dezenas, centenas ou até milhares de núcleos ao seu trabalho de renderização.

O diagrama seguinte mostra os passos num fluxo de trabalho comum do Batch, com uma aplicação cliente ou serviço alojado que utiliza o Batch para executar uma carga de trabalho paralela.

Diagrama das etapas em uma solução em lote.

Passo Descrição
1. Carregue os arquivos de entrada e os aplicativos para processar esses arquivos em sua conta de Armazenamento do Azure. Os ficheiros de entrada podem ser quaisquer dados que a sua aplicação processa, tais como dados de modelação financeira ou ficheiros de vídeo para transcodificação. Os ficheiros da aplicação podem incluir scripts ou aplicações que processam os dados, como um transcodificador multimédia.
2. Crie um pool de nós de computação na sua conta do Batch, um job para executar a carga de trabalho no pool e tarefas no job. Os nós de computação são as VMs que executam suas tarefas. Especifique propriedades para seu pool, como o número e o tamanho dos nós, uma imagem de VM do Windows ou Linux e um aplicativo a ser instalado quando os nós ingressarem no pool. Gerencie o custo e o tamanho do pool usando VMs spot do Azure ou dimensionando automaticamente o número de nós à medida que a carga de trabalho muda.

Ao adicionar tarefas a um trabalho, o serviço Batch agenda automaticamente as tarefas para execução nos nós de computação do conjunto. Cada tarefa utiliza a aplicação que carregou para processar os ficheiros de entrada.
3. Baixe os arquivos de entrada e os aplicativos para o Batch Antes de cada tarefa ser executada, pode descarregar os dados de entrada que processa para o nó atribuído. Se a aplicação ainda não estiver instalada nos nós do pool, pode ser descarregada aqui. Quando os downloads do Armazenamento do Azure terminam, a tarefa é executada no nó atribuído.
4. Monitorar a execução da tarefa À medida que as tarefas são executadas, consulte o Batch para monitorizar o progresso do trabalho e das respetivas tarefas. A aplicação ou serviço de cliente comunica com o serviço Batch através de HTTPS. Como pode estar a monitorizar milhares de tarefas a correr em milhares de nós de computação, certifique-se de consultar o serviço Batch de forma eficiente.
5. Carregue a saída da tarefa À medida que as tarefas são concluídas, elas podem carregar os respetivos dados de resultados para o Armazenamento do Azure. Também pode obter ficheiros diretamente do sistema de ficheiros num nó de computação.
6. Baixar arquivos de saída Quando a monitorização deteta que concluiu as tarefas no seu trabalho, a aplicação ou serviço de cliente pode transferir os dados de saída para processamento adicional.

Tenha em mente que o fluxo de trabalho anterior é apenas uma forma de usar o Batch, e existem muitas outras funcionalidades e opções. Por exemplo, pode executar múltiplas tarefas em paralelo em cada nó de computação. Ou pode usar tarefas de preparação e de conclusão de tarefas para preparar os nós para as suas tarefas e, em seguida, efetuar a limpeza.

Consulte Fluxo de trabalho e recursos do serviço Batch para obter uma visão geral de funcionalidades como pools, nós, trabalhos e tarefas. Veja também as últimas atualizações de serviço do Batch.

Residência de dados na região

O Azure Batch não move nem armazena dados de clientes fora da região onde está implementado.

Próximos passos

Comece a utilizar o Azure Batch com um destes inícios rápidos: