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 existe nenhum software de agendador de tarefas ou clusters para instalar, gerir 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, pode criar um serviço com o Batch para executar uma simulação de risco Monte Carlo para uma empresa de serviços financeiros ou um serviço para processar muitas imagens.

Não existem custos adicionais para a utilização do Batch. Paga apenas pelos recursos subjacentes consumidos, como máquinas virtuais, armazenamento e rede.

Para uma comparação entre o Batch e outras opções de solução HPC no Azure, veja 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 constrangedoramente paralelas). Estas cargas de trabalho têm aplicações que podem ser executadas de forma independente, com cada instância a concluir parte do trabalho. Quando as aplicações estão a ser executadas, podem aceder a alguns dados comuns, mas não comunicam com outras instâncias da aplicação. As cargas de trabalho intrinsecamente paralelas conseguem executar em grande escala, determinado pela quantidade de recursos de computação disponíveis para executar aplicações em simultâneo.

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
  • Composição de imagens VFX e 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

Também pode utilizar o Batch para executar cargas de trabalho fortemente conjugadas, em que as aplicações que executa precisam de comunicar entre si, em vez de serem executadas de forma independente. As aplicações fortemente conjugadas utilizam normalmente a API de MPI (Message Passing Interface). Pode executar as cargas de trabalho fortemente conjugadas com o Batch através do Microsoft MPI ou do Intel MPI. Melhore o desempenho das aplicações com tamanhos de VM HPC e otimizados para GPU especializados.

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, pode efetuar várias simulações de um líquido que flui 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 do Batch envolve aumentar horizontalmente o trabalho intrinsecamente paralelo, como a composição de imagens de cenas 3D num conjunto de nós de computação. Este conjunto pode ser o seu "farm de composição" que fornece dezenas, centenas ou mesmo milhares de núcleos à sua tarefa de composiçã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 dos passos numa solução do Batch.

Passo Descrição
1. Carregue ficheiros de entrada e as aplicações para processar esses ficheiros para a 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 conjunto do Batch de nós de computação na sua conta do Batch, uma tarefa para executar a carga de trabalho no conjunto e tarefas na tarefa. Os nós de computação são as VMs que executam as suas tarefas. Especifique as propriedades do conjunto, como o número e o tamanho dos nós, uma imagem de VM do Windows ou Linux e uma aplicação a instalar quando os nós aderirem ao conjunto. Faça a gestão do custo e do tamanho do conjunto com as VMs Spot do Azure ou ao dimensionar 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. Transferir ficheiros de entrada e as aplicações para o Batch Antes de cada tarefa ser executada, pode transferir os dados de entrada que irá processar para o nó atribuído. Se a aplicação ainda não tiver sido instalada nos nós do conjunto, pode ser transferida aqui. Quando as transferências do Armazenamento do Azure estiverem concluídas, a tarefa é executada no nó atribuído.
4. Monitorizar a execução de tarefas À medida que as tarefas são executadas, consulte o Batch para monitorizar o progresso do trabalho e respetivas tarefas. A aplicação ou serviço de cliente comunica com o serviço Batch sobre o HTTPS. Uma vez que pode monitorizar milhares de tarefas em execução em milhares de nós de computação, certifique-se de que consulta o serviço de Batch de forma eficiente.
5. Carregar o resultado 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. Transferir ficheiros 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 atenção que o fluxo de trabalho descrito acima é apenas uma forma de utilizar 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. Em alternativa, pode utilizar tarefas de preparação e conclusão de trabalhos para preparar os nós para as suas tarefas e, em seguida, limpar depois.

Veja Batch service workflow and resources (Fluxo de trabalho e recursos do serviço Batch ) para obter uma descrição geral das funcionalidades, como conjuntos, nós, tarefas e tarefas. Veja também a versão mais recente das Atualizações de serviço do Batch.

Residência dos dados na região

Azure Batch não move nem armazena dados de clientes para fora da região em que são implementados.

Passos seguintes

Introdução ao Azure Batch com um dos seguintes inícios rápidos: