O que é o Lote do Azure?What is Azure Batch?

Use o Lote do Azure para executar trabalhos em lote de HPC (computação de alto desempenho) e paralelos em larga escala com eficiência no Azure.Use Azure Batch to run large-scale parallel and high-performance computing (HPC) batch jobs efficiently in Azure. O Lote do Azure cria e gerencia um pool de nós de computação (máquinas virtuais), instala os aplicativos que você deseja executar e agenda trabalhos para execução nos nós.Azure Batch creates and manages a pool of compute nodes (virtual machines), installs the applications you want to run, and schedules jobs to run on the nodes. Não há nenhum software de cluster ou agendador de trabalho para instalar, gerenciar ou dimensionar.There is no cluster or job scheduler software to install, manage, or scale. Em vez disso, você usa ferramentas e APIs do Lote, scripts de linha de comando ou o portal do Azure para configurar, gerenciar e monitorar seus trabalhos.Instead, you use Batch APIs and tools, command-line scripts, or the Azure portal to configure, manage, and monitor your jobs.

Os desenvolvedores podem de usar o Lote como um serviço de plataforma para criar aplicativos de cliente ou aplicativos SaaS onde a execução em larga escala for necessária.Developers can use Batch as a platform service to build SaaS applications or client apps where large-scale execution is required. Por exemplo, crie um serviço do Lote para executar uma simulação de risco Monte Carlo de uma empresa de serviços financeiros, ou um serviço para processar muitas imagens.For example, build a service with Batch to run a Monte Carlo risk simulation for a financial services company, or a service to process many images.

Não há custos adicionais para usar o Lote.There is no additional charge for using Batch. Você paga apenas pelos recursos subjacentes consumidos, como máquinas virtuais, armazenamento e rede.You only pay for the underlying resources consumed, such as the virtual machines, storage, and networking.

Para obter uma comparação entre o Lote e outras opções de solução HPC no Azure, confira HPC (Computação de alto desempenho) no Azure.For a comparison between Batch and other HPC solution options in Azure, see High Performance Computing (HPC) on Azure.

Executar cargas de trabalho paralelasRun parallel workloads

O Lote funciona bem com cargas de trabalho intrinsecamente paralelas (também conhecidas como "excessivamente paralelas").Batch works well with intrinsically parallel (also known as "embarrassingly parallel") workloads. Cargas de trabalho intrinsecamente paralelas são aquelas em que os aplicativos podem ser executados independentemente, e cada instância conclui parte do trabalho.Intrinsically parallel workloads are those where the applications can run independently, and each instance completes part of the work. 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.When the applications are executing, they might access some common data, but they do not communicate with other instances of the application. Cargas de trabalho podem, portanto, ser executadas em grande escala, determinada pela quantidade de recursos de computação disponíveis para executar aplicativos simultaneamente.Intrinsically parallel workloads can therefore run at a large scale, determined by the amount of compute resources available to run applications simultaneously.

Alguns exemplos de cargas de trabalho intrinsecamente paralelas que você pode colocar no Lote:Some examples of intrinsically parallel workloads you can bring to Batch:

  • Modelagem de riscos financeiros usando simulações Monte CarloFinancial risk modeling using Monte Carlo simulations
  • Renderização de imagem 3D e VFXVFX and 3D image rendering
  • Processamento e análise de imagemImage analysis and processing
  • Transcodificação de mídiaMedia transcoding
  • Análise de sequência genéticaGenetic sequence analysis
  • OCR (reconhecimento óptico de caracteres)Optical character recognition (OCR)
  • Ingestão de dados, processamento e operações de ETLData ingestion, processing, and ETL operations
  • Execução de teste de softwareSoftware test execution

Você também pode usar o Lote para executar cargas de trabalho firmemente acopladas; essas são cargas de trabalho em que os aplicativos que você executa precisam se comunicar entre si, ou seja, não são executadas independentemente.You can also use Batch to run tightly coupled workloads; these are workloads where the applications you run need to communicate with each other, as opposed to run independently. Aplicativos firmemente acoplados normalmente usam a API MPI (Message Passing Interface).Tightly coupled applications normally use the Message Passing Interface (MPI) API. Você pode executar suas cargas de trabalho firmemente acopladas no Lote usando MPI Microsoft ou MPI Intel.You can run your tightly coupled workloads with Batch using Microsoft MPI or Intel MPI. Melhore o desempenho de aplicativos com tamanhos de VM HPC e otimizado para GPU especializados.Improve application performance with specialized HPC and GPU-optimized VM sizes.

Alguns exemplos de cargas de trabalho firmemente acopladas:Some examples of tightly coupled workloads:

  • Análise de elemento finitoFinite element analysis
  • Dinâmica de fluidosFluid dynamics
  • Treinamento de AI de vários nósMulti-node AI training

Muitos trabalhos firmemente acoplados podem ser executados em paralelo usando o Lote.Many tightly coupled jobs can be run in parallel using Batch. Por exemplo, execute várias simulações de um líquido fluindo por um cano com larguras de canos diferentes.For example, perform multiple simulations of a liquid flowing through a pipe with varying pipe widths.

Recursos adicionais do LoteAdditional Batch capabilities

Recursos de nível superior e específicos para a carga de trabalho estão disponíveis para o Lote do Azure:Higher-level, workload-specific capabilities are also available for Azure Batch:

  • O Lote dá suporte a cargas de trabalho de renderização em larga escala com ferramentas de renderização, incluindo Autodesk Maya, 3ds Max, Arnold e V-Ray.Batch supports large-scale rendering workloads with rendering tools including Autodesk Maya, 3ds Max, Arnold, and V-Ray.
  • Os usuários de R podem instalar o pacote R doAzureParallel e expandir facilmente a execução de algoritmos de R em pools do Lote.R users can install the doAzureParallel R package to easily scale out the execution of R algorithms on Batch pools.

Você também pode executar trabalhos do Lote como parte de um fluxo de trabalho do Azure maior para transformar dados, gerenciados por ferramentas como o Azure Data Factory.You can also run Batch jobs as part of a larger Azure workflow to transform data, managed by tools such as Azure Data Factory.

Como ele funcionaHow it works

Um cenário comum para o Lote envolve expandir trabalho intrinsecamente paralelo, como a renderização de imagens para cenas 3D, em um pool de nós de computação.A common scenario for Batch involves scaling out intrinsically parallel work, such as the rendering of images for 3D scenes, on a pool of compute nodes. Esse pool de nós de computação pode ser seu "farm de renderização" que oferece dezenas, centenas ou até milhares de núcleos para o trabalho de renderização.This pool of compute nodes can be your "render farm" that provides tens, hundreds, or even thousands of cores to your rendering job.

O diagrama a seguir mostra etapas em um fluxo de trabalho do Lote comum, com um aplicativo cliente ou serviço hospedado usando o Lote para executar uma carga de trabalho paralela.The following diagram shows steps in a common Batch workflow, with a client application or hosted service using Batch to run a parallel workload.

Instruções passo a passo da solução do Lote

EtapaStep DESCRIÇÃODescription
1. Carregar os arquivos de entrada e o aplicativo para processar esses arquivos em sua conta do Armazenamento do Azure.1. Upload input files and the applications to process those files to your Azure Storage account. Os arquivos de entrada podem ser quaisquer dados que o aplicativo processe, como dados de modelagem financeira ou arquivos de vídeo a serem transcodificados.The input files can be any data that your application processes, such as financial modeling data, or video files to be transcoded. Os arquivos do aplicativo podem incluir scripts ou aplicativos que processam os dados, como um transcodificador de mídia.The application files can include scripts or applications that process the data, such as a media transcoder.
2. Criar um pool de nós de computação do Lote na sua conta do Lote, um trabalho para executar a carga de trabalho no pool e tarefas no trabalho.2. Create a Batch pool of compute nodes in your Batch account, a job to run the workload on the pool, and tasks in the job. Os nós do pool são as VMs que executam suas tarefas.Pool nodes are the VMs that execute your tasks. Especifique propriedades, como o número e o tamanho de nós de uma imagem de VM Windows ou Linux, e um aplicativo para instalar quando os nós ingressarem no pool.Specify properties such as the number and size of the nodes, a Windows or Linux VM image, and an application to install when the nodes join the pool. Gerencie o custo e o tamanho do pool usando VMs de baixa prioridade ou dimensionando automaticamente o número de nós de acordo com as alterações de carga de trabalho.Manage the cost and size of the pool by using low-priority VMs or automatically scaling the number of nodes as the workload changes.

Quando você adiciona tarefas a um trabalho, o serviço de Lote agenda automaticamente as tarefas para execução em nós de computação no pool.When you add tasks to a job, the Batch service automatically schedules the tasks for execution on the compute nodes in the pool. Cada tarefa usa o aplicativo que você carregou para processar os arquivos de entrada.Each task uses the application that you uploaded to process the input files.
3. Baixar arquivos de entrada e aplicativos para o Lote3. Download input files and the applications to Batch Antes de cada tarefa ser executada, ela pode baixar os dados de entrada que deve processar para o nó de computação atribuído.Before each task executes, it can download the input data that it is to process to the assigned compute node. Se o aplicativo já não estiver instalado em nós de pool, ele pode ser baixado aqui.If the application isn't already installed on the pool nodes, it can be downloaded here instead. Quando os downloads do Armazenamento do Azure forem concluídos, a tarefa será executada no nó atribuído.When the downloads from Azure Storage complete, the task executes on the assigned node.
4. Monitorar a execução da tarefa4. Monitor task execution À medida que as tarefas são executadas, consulte o Lote para monitorar o andamento do trabalho e suas tarefas.As the tasks run, query Batch to monitor the progress of the job and its tasks. O aplicativo cliente ou serviço se comunica com o serviço de Lote por HTTPS.Your client application or service communicates with the Batch service over HTTPS. Como você pode monitorar milhares de tarefas em execução em milhares de nós de computação, não se esqueça de consultar o serviço do Lote com eficiência.Because you may be monitoring thousands of tasks running on thousands of compute nodes, be sure to query the Batch service efficiently.
5. Carregar a saída da tarefa5. Upload task output À medida que as tarefas são concluídas,elas podem carregar seus dados de resultados para o Armazenamento do Azure.As the tasks complete, they can upload their result data to Azure Storage. Você também pode recuperar arquivos diretamente do sistema de arquivos em um nó de computação.You can also retrieve files directly from the file system on a compute node.
6. Baixar os arquivos de saída6. Download output files Quando o monitoramento detecta que as tarefas em seu trabalho foram concluídas, o aplicativo cliente ou serviço pode baixar os dados de saída para processamento adicional.When your monitoring detects that the tasks in your job have completed, your client application or service can download the output data for further processing.

Lembre-se de que essa é apenas uma maneira de usar o Lote, e este cenário descreve apenas alguns de seus recursos disponíveis.Keep in mind this is just one way to use Batch, and this scenario describes just some of its features. Por exemplo, você pode executar várias tarefas em paralelo em cada nó de computação.For example, you can execute multiple tasks in parallel on each compute node. Ou usar tarefas de preparação e conclusão do trabalho para preparar os nós para os trabalhos e limpá-los posteriormente.Or, use job preparation and completion tasks to prepare the nodes for your jobs, then clean up afterward.

Confira a Visão geral do recurso do Lote para desenvolvedores para obter informações mais detalhadas sobre os recursos do serviço Lote, como pools, nós, trabalhos e tarefas, e os muitos recursos da API que você pode usar ao criar o aplicativo do Lote.See the Batch feature overview for developers for more detailed information about pools, nodes, jobs, and tasks, and the many API features that you can use while building your Batch application. Confira também as atualizações de serviço Lote mais recentes.Also see the latest Batch service updates.

Próximas etapasNext steps

Introdução ao Lote do Azure com um desses guias de início rápido:Get started with Azure Batch with one of these quickstarts: