Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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.
Escolha um serviço Azure para cargas de trabalho batch e HPC
Escolha um serviço com base na experiência de agendamento e no nível de controlo infraestrutural que a sua carga de trabalho exige:
| Service | Melhor ajuste | Modelo operacional |
|---|---|---|
| Azure Batch | Cargas de trabalho paralelas e de alto débito que podem ser executadas como tarefas independentes ou trabalhos fortemente acoplados | O Azure fornece agendamento como um serviço. Pode criar com APIs Batch e ferramentas de processamento em lote sem ter de operar software de cluster ou de agendamento. |
| Azure CycleCloud | Ambientes HPC que requerem um escalonador específico, topologia personalizada de clusters ou alinhamento próximo com fluxos de trabalho locais existentes | Implementas e geres o agendador e a configuração do cluster. O CycleCloud provisiona e autoescala a infraestrutura do Azure. |
| Azure CycleCloud Workspace for Slurm | Equipas que querem um ambiente Slurm pronto a implementar para cargas de trabalho HPC ou IA | Uma solução Marketplace implementa componentes CycleCloud, Slurm, rede, armazenamento e acesso na sua subscrição do Azure. |
Use a sua carga de trabalho atual como fator decisivo:
| Ponto de partida | Prefira | Porquê |
|---|---|---|
| Estás a construir uma aplicação que pode submeter tarefas independentes ou trabalhos MPI através de uma API. | Azure Batch | O Batch fornece o serviço de agendamento, pelo que a sua equipa é responsável pela aplicação de carga de trabalho, em vez da infraestrutura de agendamento. |
| Já tem scripts de trabalho, filas, políticas ou integrações específicas do agendador que têm de permanecer no lugar. | Azure CycleCloud | Migrar esses fluxos de trabalho para o Batch exigiria convertê-los em conjuntos, trabalhos e tarefas do Batch. O CycleCloud preserva o modelo operacional do escalonador. |
| Precisas do Slurm, mas não queres desenhar a infraestrutura de suporte do Azure a partir de componentes individuais. | Azure CycleCloud Workspace para Slurm | A solução do Marketplace fornece um ambiente Slurm pré-definido que pode configurar após a implementação. |
Não escolhas apenas o Batch para evitar gerir máquinas virtuais. Se a compatibilidade do agendador for um requisito, a tradução dos fluxos de trabalho existentes do agendador para o modelo de programação em lote pode tornar-se uma reformulação da aplicação. Escolha CycleCloud ou Workspace para Slurm em vez disso.
Antes da implementação em produção, regista porque é que o Batch encaixa, que alternativas rejeitou, a estimativa máxima de tarefa e capacidade, o comportamento de recuperação para trabalho interrompido e o tempo e custo comparados por trabalho representativo. Para planeamento da capacidade e da contingência, veja Planear a capacidade do lote. Relativamente ao CycleCloud, consulte Planear e dimensionar clusters HPC.
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.
| 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:
- Executar o seu primeiro trabalho do Batch com a CLI do Azure
- Execute a sua primeira tarefa Batch com o portal do Azure
- Executar o seu primeiro trabalho do Batch com a API .NET
- Executar o seu primeiro trabalho do Batch com a API Python
- Criar uma conta em lote usando modelos ARM
Para continuar, veja estes tutoriais para cenários de ponta a ponta: