O que é o Azure Batch?What is 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.Use Azure Batch to run large-scale parallel and high-performance computing (HPC) batch jobs efficiently in 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.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 existe nenhum cluster ou software de agendador de trabalhos para instalar, gerir ou dimensionar.There is no cluster or job scheduler software to install, manage, or scale. 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.Instead, you use Batch APIs and tools, command-line scripts, or the Azure portal to configure, manage, and monitor your jobs.

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.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 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 várias 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 existem custos adicionais para a utilização do Batch.There is no additional charge for using Batch. 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 de HPC no Azure, consulte 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 Batch funciona bem com cargas de trabalho intrinsecamente paralelas (também conhecidas como constrangedoramente paralelas).Batch works well with intrinsically parallel (also known as "embarrassingly parallel") workloads. As cargas de trabalho intrinsecamente paralelas são aquelas em que as aplicações podem ser executadas separadamente e cada instância concluiu parte do trabalho.Intrinsically parallel workloads are those where the applications can run independently, and each instance completes part of the work. Quando as aplicações estão em execução, podem aceder a alguns dados comuns, mas não comunicam com outras instâncias da aplicação.When the applications are executing, they might access some common data, but they do not communicate with other instances of the application. 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.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 pode colocar no Batch:Some examples of intrinsically parallel workloads you can bring to Batch:

  • Modelação de riscos financeiros através de simulações Monte CarloFinancial risk modeling using Monte Carlo simulations
  • Composição de imagens VFX e 3DVFX and 3D image rendering
  • Análise e processamento de imagensImage analysis and processing
  • Transcodificação multimédiaMedia transcoding
  • Análise de sequência genéticaGenetic sequence analysis
  • Reconhecimento ótico de carateres (OCR)Optical character recognition (OCR)
  • Ingestão de dados, processamento e operações de ETLData ingestion, processing, and ETL operations
  • Execução de testes de softwareSoftware test execution

Também pode utilizar o Batch para executar cargas de trabalho fortemente conjugadas; são cargas de trabalho em que as aplicações executadas têm de comunicar entre si, em vez de serem executadas de forma independente.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. As aplicações fortemente conjugadas utilizam normalmente a API de MPI (Message Passing Interface).Tightly coupled applications normally use the Message Passing Interface (MPI) API. Pode executar as cargas de trabalho fortemente conjugadas com o Batch através do Microsoft MPI ou do Intel MPI.You can run your tightly coupled workloads with Batch using Microsoft MPI or Intel MPI. Melhore o desempenho das aplicações com tamanhos de VM HPC e otimizados para GPU especializados.Improve application performance with specialized HPC and GPU-optimized VM sizes.

Alguns exemplos de cargas de trabalho fortemente conjugadas:Some examples of tightly coupled workloads:

  • Análise de elementos finitosFinite element analysis
  • Dinâmica fluídaFluid dynamics
  • Formação de IA com múltiplos nósMulti-node AI training

Muitas tarefas fortemente conjugadas podem ser executadas em paralelo com o Batch.Many tightly coupled jobs can be run in parallel using Batch. Por exemplo, efetue múltiplas simulações de um líquido que circula por um tubo com várias larguras de tubos.For example, perform multiple simulations of a liquid flowing through a pipe with varying pipe widths.

Capacidades adicionais do BatchAdditional Batch capabilities

Também estão disponíveis capacidades de nível mais elevado específicas da carga de trabalho para o Azure Batch:Higher-level, workload-specific capabilities are also available for Azure 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.Batch supports large-scale rendering workloads with rendering tools including Autodesk Maya, 3ds Max, Arnold, and V-Ray.
  • Os utilizadores de R podem instalar o pacote R doAzureParallel para aumentar horizontalmente a execução de algoritmos R em conjuntos do Batch.R users can install the doAzureParallel R package to easily scale out the execution of R algorithms on Batch pools.

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.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 funcionaHow it works

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.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. Este conjunto de nós de computação pode ser o "farm de composição" que fornece dezenas, centenas ou mesmo milhares de núcleos para o trabalho de composiçã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 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.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 para a solução Batch

PassoStep DescriçãoDescription
1. Carregue os ficheiros de entrada e as aplicações para processar esses ficheiros para a sua conta de Armazenamento do Azure.1. Upload input files and the applications to process those files to your Azure Storage account. 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.The input files can be any data that your application processes, such as financial modeling data, or video files to be transcoded. Os ficheiros da aplicação podem incluir scripts ou aplicações que processam os dados, como um transcodificador multimédia.The application files can include scripts or applications that process the data, such as a media transcoder.
2. Crie um conjunto do Batch de nós de computação na sua conta do Batch, um trabalho para executar a carga de trabalho no conjunto 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 conjunto são as VMs que executam as tarefas.Pool nodes are the VMs that execute your tasks. Especifique as propriedades, como o número e o tamanho dos nós, uma imagem de VM do Windows ou do Linux e a aplicação a instalar quando os nós forem associados ao conjunto.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. Efetue a gestão do custo e do tamanho do conjunto através de VMs de prioridade baixa ou do dimensionamento automático do número de nós à medida que a carga de trabalho muda.Manage the cost and size of the pool by using low-priority VMs or automatically scaling the number of nodes as the workload changes.

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.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 utiliza a aplicação que carregou para processar os ficheiros de entrada.Each task uses the application that you uploaded to process the input files.
3. Transfira os ficheiros de entrada e as aplicações para o Batch.3. Download input files and the applications to Batch Antes de cada tarefa ser executada, pode transferir os dados de entrada a 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 a aplicação ainda não tiver sido instalada nos nós do conjunto, pode ser transferida aqui.If the application isn't already installed on the pool nodes, it can be downloaded here instead. Quando as transferências do Armazenamento do Azure estiverem concluídas, a tarefa é executada no nó atribuído.When the downloads from Azure Storage complete, the task executes on the assigned node.
4. Monitorize a execução de tarefas.4. Monitor task execution À medida que as tarefas são executadas, consulte o Batch para monitorizar o progresso do trabalho e respetivas tarefas.As the tasks run, query Batch to monitor the progress of the job and its tasks. A aplicação ou serviço de cliente comunica com o serviço Batch sobre o HTTPS.Your client application or service communicates with the Batch service over 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.Because you may be monitoring thousands of tasks running on thousands of compute nodes, be sure to query the Batch service efficiently.
5. Carregue o resultado das tarefas.5. Upload task output À medida que as tarefas são concluídas, elas podem carregar os respetivos dados de resultados para o Armazenamento do Azure.As the tasks complete, they can upload their result data to Azure Storage. Também pode obter ficheiros diretamente do sistema de ficheiros num nó de computação.You can also retrieve files directly from the file system on a compute node.
6. Transfira os ficheiros de saída.6. Download output files 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.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.

Tenha em atenção que esta é apenas uma forma de utilizar o Batch, e este cenário descreve apenas algumas das suas funcionalidades.Keep in mind this is just one way to use Batch, and this scenario describes just some of its features. Por exemplo, pode executar múltiplas tarefas em paralelo em cada nó de computação.For example, you can execute multiple tasks in parallel on each compute node. Ou utilizar tarefas de preparação e conclusão de trabalhos 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.

Veja Descrição geral das funcionalidades do Batch para programadores para obter informações mais detalhadas sobre conjuntos, nós, trabalhos e tarefas, e as várias funcionalidades de API que pode utilizar ao criar a sua aplicação Batch.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. Veja também a versão mais recente das Atualizações de serviço do Batch.Also see the latest Batch service updates.

Passos SeguintesNext steps

Introdução ao Azure Batch com um dos seguintes inícios rápidos:Get started with Azure Batch with one of these quickstarts: