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 existem custos adicionais para a utilização do Batch. Paga apenas pelos recursos subjacentes consumidos, como máquinas virtuais, armazenamento e rede.
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 constrangedoramente 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. 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
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 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, 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 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. Esse pool pode ser seu "farm de renderização" que fornece dezenas, centenas ou até milhares de núcleos para 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.
Passo | Description |
---|---|
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 em lote em sua conta de lote, um trabalho para executar a carga de trabalho no pool e tarefas no trabalho. | 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, ele pode baixar os dados de entrada que 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. Monitorar a execução da tarefa | À 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 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. |
Lembre-se de que o fluxo de trabalho descrito acima é apenas uma maneira de usar o Batch, e há muitos outros recursos e opções. Por exemplo, pode executar múltiplas tarefas em paralelo em cada nó de computação. Ou você pode usar tarefas de preparação e conclusão de trabalhos para preparar os nós para seus trabalhos e, em seguida, limpar depois.
Consulte Fluxo de trabalho e recursos do serviço em lote para obter uma visão geral dos recursos, como pools, nós, trabalhos e tarefas. Veja também a versão mais recente das Atualizações de serviço do Batch.
Residência de dados na região
O Lote do Azure não move nem armazena dados do cliente para fora da região em que é implantado.
Próximos passos
Introdução ao Azure Batch com um dos seguintes inícios rápidos: