Planeamento da capacidade para o Azure Batch

Um planeamento eficaz da capacidade ajuda a garantir que as suas cargas de trabalho no Azure Batch têm os recursos de computação necessários, quando necessário. Este artigo explica como a capacidade do Batch está estruturada, como planear a quota para as suas cargas de trabalho e como reduzir o risco de falhas de alocação.

Uma quota é um limite, não uma garantia de capacidade. Planear com antecedência ajuda-o a pedir quotas adequadas, escolher configurações resilientes e reagir com elegância quando a capacidade está limitada. Para os valores predefinidos e máximos específicos, veja as quotas e os limites do serviço Batch.

Confirma que o Batch se adequa à tua carga de trabalho

Usa o Batch quando quiseres que o Azure forneça agendamento como serviço e a tua aplicação pode organizar o trabalho em pools, jobs e tarefas. Antes de planear a capacidade de lote, considere estas alternativas:

  • Escolha o Azure CycleCloud quando precisar de operar um escalonador HPC específico, personalizar a topologia do cluster e a pilha de software, ou alinhar-se de perto com os fluxos de trabalho locais existentes.
  • Escolha o Azure CycleCloud Workspace para Slurm quando quiser um ambiente Slurm pronto a implementar, com componentes de rede, armazenamento e acesso provisionados na sua subscrição.

Se o Batch for o modelo operacional correto, use as secções seguintes para estimar a procura máxima, selecionar VMs, calcular a quota e definir alternativas de contingência antes de criar pools de produção.

Hierarquia de capacidade

A capacidade de lote é governada em várias camadas, onde cada camada restringe a que está abaixo. A sua capacidade efetiva é determinada pelo limite mais restritivo na cadeia.

No topo, a região Azure fornece a capacidade física do centro de dados disponível para cada família de VMs. A capacidade regional não é um valor fixo que controlas; varia ao longo do tempo e consoante a série de VM. A sua quota de subscrição define então o limite permitido de núcleos por família de VMs por região. No modo de alocação de pools de subscrição de utilizadores, estas quotas de subscrição aplicam-se diretamente aos seus pools de lote. A quota da conta Batch determina os núcleos, os pools e as tarefas ativas permitidos por cada conta Batch. No modo de alocação de pools de serviços em lote, aplicam-se estas quotas ao nível da conta. Finalmente, os limites do pool limitam o número de nós por pool, com base na quota acima do pool e nos limites de tamanho do pool definidos pelo serviço Batch.

Perceber qual camada se aplica à tua conta depende do modo de alocação do pool. Para mais informações, consulte Contas do Batch e modos de alocação de conjuntos.

Planeie os seus requisitos de capacidade

Antes de criar pools de produção, estima os recursos que a sua carga de trabalho necessita. Trabalhe as seguintes perguntas para traduzir as características da carga de trabalho num pedido de quota:

  • Perfil de carga de trabalho. Qual é o número máximo de empregos e tarefas simultâneos? Qual é a duração média da tarefa e o requisito de memória? As tarefas necessitam de GPUs ou coordenação multinó (MPI)?
  • Seleção de VM. Qual a família e tamanho de VMs que melhor se adequa à carga de trabalho? Quantos núcleos e quanta memória cada VM fornece?
  • Dimensionamento da piscina. Quantas tarefas são executadas em simultâneo por nó (até quatro vezes o número de núcleos de nós, limitado a 256 espaços de tarefas por nó)? Tendo em conta o número máximo de tarefas em simultâneo, de quantos nós precisa? Como é que se divide a capacidade entre nós dedicados e Spot?
  • Requisito de quota. Multiplica o número máximo de nós pelos núcleos por VM para obter o total de núcleos necessários. Compare esse total com a sua quota atual para determinar o aumento a solicitar.
  • Estimativa de custos. Use a tarifa horária e o tempo de execução esperado da VM para estimar o custo diário e mensal. Para mais informações, consulte Plano para gerir custos para o Azure Batch.

Para verificar as suas quotas atuais e solicitar um aumento, consulte Ver quotas de lote e Aumentar uma quota. Submeta pedidos de quotas com bastante antecedência e comece com aumentos modestos e incrementais. Grandes aumentos de quotas podem exigir revisão manual e demorar de vários dias a várias semanas.

Gerir a capacidade de forma proativa

Planeie a capacidade antes que se torne uma restrição:

  • Monitorizar a utilização da quota. Acompanhe o uso do núcleo em relação à sua quota e alerte quando o uso se aproxima do limite, por exemplo, entre 70–80%. Para mais informações, consulte Monitor Batch solutions.
  • Utilizar o dimensionamento automático. Configure a escalabilidade automática para que os pools cresçam e se reduzam em função da procura, em vez de manter um número fixo e sobredimensionado de nós. Um padrão comum mantém um nível base de nós dedicados para garantir o avanço e recorre pontualmente a nós Spot para obter capacidade de processamento adicional.
  • Distribuído por regiões e contas. Distribua cargas de trabalho por várias regiões ou contas em lote para aceder a mais capacidade agregada. As quotas de serviço, como tarefas ativas e pools, aplicam-se a cada conta do Batch distinta.

Restrições de capacidade de controlo

Mesmo com planeamento, pode encontrar falhas de alocação. Desenhe o seu fluxo de trabalho para ser resiliente:

  • Tente novamente e diversifique. Se um pool não conseguir atingir o tamanho alvo, tente novamente após alguns minutos, experimente um tamanho de VM diferente ou uma região diferente. A disponibilidade de recursos muda ao longo do tempo.
  • Redirecionar tarefas. Evite depender de uma única piscina estática. Garante que podes redirecionar trabalhos para um pool diferente, possivelmente com um tamanho de VM diferente, se o pool não conseguir crescer. Para mais informações, consulte as melhores práticas do Azure Batch.
  • Conceba a solução para a preempção de Spot.Os nós Spot podem ser interrompidos quando o Azure precisa de recuperar essa capacidade. Utilize nós Spot apenas para cargas de trabalho tolerantes a falhas e combine-os com nós dedicados e dimensionamento automático, para que o conjunto seja recuperado automaticamente.

Para sintomas detalhados, causas e resoluções de erros de alocação e quotas, consulte as orientações de resolução de problemas:

Validar a capacidade antes da produção

Execute uma prova de conceito com uma carga de trabalho representativa, o volume de dados esperado e a configuração do conjunto de produção. Não aprove o design para produção até conseguir registar provas para todos os critérios:

Criterion Evidências a registar
Conclusão da carga de trabalho A tarefa é concluída corretamente com dependências de tarefas de produção, pacotes de aplicação e caminhos de dados de entrada e saída.
Escala e quota O conjunto atinge o número de nós necessário na região pretendida sem exceder a quota da conta Batch, da subscrição ou da família de VMs.
Performance A duração total da tarefa cumpre a meta, incluindo a alocação do conjunto de recursos, a transferência de dados, o processamento e a persistência dos resultados.
Recovery Após a perda de um nó, a falha de uma tarefa ou a preempção Spot, caso seja utilizada, o trabalho mantém-se dentro do tempo máximo de recuperação registado e da perda de checkpoint permitida, cumpre o prazo de conclusão e utiliza com sucesso o tamanho planeado da VM de contingência ou do pool de contingência.
Custo O custo medido de computação, armazenamento, rede e licença por cada trabalho concluído atinge o objetivo na frequência de execução esperada.
Operations Os alertas identificam pressão de quotas, falhas de alocação e tarefas falhadas, e o proprietário pode redirecionar ou recuperar a carga de trabalho.

Se um critério falhar, reveja o tamanho do pool, a seleção da VM, o caminho de armazenamento, o comportamento de nova tentativa ou a alternativa regional e repita o mesmo trabalho. Um pequeno teste funcional não estabelece a capacidade de produção porque não exerce escala máxima, quota ou movimentação de dados.

Melhores práticas

Practice Descrição
Solicite quota antecipada Submeta pedidos de quotas com bastante antecedência; Grandes aumentos podem demorar vários dias a várias semanas.
Planeie o espaço para a altura do corpo Peça uma quota ligeiramente superior ao seu pico atual para permitir o crescimento.
Usar várias regiões Distribua as cargas de trabalho entre regiões para aceder a mais capacidade agregada.
Utilização do monitor Receba um alerta quando a utilização dos núcleos atingir 70–80% da sua quota.
VMs de tamanho correto Associe a família e o tamanho das VMs à carga de trabalho em vez de sobre-provisionar.
Use o Spot com sabedoria Utilize nós Spot para cargas de trabalho tolerantes a falhas e combine-os com nós dedicados.
Limpeza de recursos Elimine os conjuntos não utilizados para libertar quota da conta.

Passos seguintes