Ao fixar um job em um tipo de máquina específico usando a opção de pipeline workerMachineType, você corre o risco de sofrer atrasos ou falhas no job devido à falta de recursos. A seleção automática de VMs resolve esse problema escolhendo automaticamente workers de um pool de tipos de máquinas compatíveis e disponíveis usando a flexibilidade de instâncias do Compute Engine. Isso ajuda a garantir que os pipelines do Dataflow adquiram capacidade de maneira confiável, mantendo um desempenho consistente e evitando interrupções.
Configurações incompatíveis
A seleção automática de VM será desativada se o pipeline estiver configurado com uma das seguintes opções:
- O Dataflow Prime está ativado.
- A opção de pipeline
min_cpu_platformestá definida. - São usados discos do Hyperdisk Balanced ou desempenho provisionado personalizado (IOPS e capacidade de processamento). Os jobs iniciados com essas configurações vão falhar.
- A VM confidencial está ativada.
- Aceleradores (GPUs ou TPUs) são obrigatórios.
- Jobs que não usam o Dataflow Shuffle ou o Streaming Engine.
Ativar a seleção automática de VM
A seleção automática de VM é ativada automaticamente em qualquer um dos seguintes cenários:
- Se você definir dicas de recursos
min_ramoucpu_countpara etapas do pipeline que não exigem aceleradores (GPUs ou TPUs). Para saber como usar dicas de recursos com jobs baseados em modelos, consulte Dicas de recursos de pipeline.
Comportamento da seleção automática de VM
Configure as dicas de recursos min_ram e cpu_count de forma isolada ou combinada. Exemplo:
- Um job com apenas
cpu_count=2pode provisionar instâncias comn4-standard-2(2 vCPUs, 8 GB de RAM),c4-standard-2(2 vCPUs, 7 GB de RAM) e outros tipos de máquina. - Um job com
cpu_count=4emin_ram=16GBpode provisionar instâncias comn4-standard-4(4 vCPUs, 16 GB de RAM),c4-highmem-4(4 vCPUs, 31 GB de RAM) e outros tipos de máquina.
A seleção automática de VM otimiza a seleção de VMs para a obtenção de recursos. Isso significa que você pode notar uma redução no desempenho ao usar a seleção automática de VM para melhorar a disponibilidade de alguns dos seus jobs altamente ajustados. Recomendamos que você teste a seleção automática de VMs em um subconjunto dos jobs atuais antes de implantá-los de forma mais ampla. Para mais informações sobre a disponibilidade, consulte Melhorar a disponibilidade de recursos para jobs na documentação do Batch.
O Dataflow tenta usar primeiro as famílias de máquinas de 4ª geração (por exemplo, N4 ou C4) para oferecer mais eficiência. Se as máquinas de 4ª geração não estiverem disponíveis na sua região, não tiverem cota suficiente ou forem incompatíveis com suas configurações, o Dataflow vai usar automaticamente as famílias de máquinas de 2ª geração amplamente disponíveis (por exemplo, N2 ou E2) para garantir que o job possa ser iniciado sem atrasos de capacidade.
Se você especificar um tipo de disco, como pd-ssd ou pd-standard, ao ativar a seleção automática de VM usando dicas de recursos (ajuste correto), o Dataflow vai provisionar apenas famílias de máquinas de 2ª geração compatíveis. Para garantir a máxima compatibilidade e permitir o uso de gerações de máquinas mais recentes, não atribua um tipo de disco.
Limitações
Ao usar a seleção automática de VM, as atualizações de imagem de contêiner do Portable Runner são desativadas para jobs de streaming que usam o Portable Runner.
Reservas do Compute Engine
Se você usar as reservas do Compute Engine com a seleção automática de VM, observe o seguinte:
- Se você tiver reservas configuradas para serem consumidas automaticamente, elas poderão ser usadas se a seleção automática de VM provisionar tipos de máquina que correspondam à reserva.
- A seleção automática de VM consome instâncias de computação conforme elas ficam disponíveis. Portanto, não é possível especificar que o serviço consuma instâncias de uma reserva específica.
Problemas conhecidos
Ao usar a seleção automática de VM, esteja ciente dos seguintes problemas conhecidos:
Paralelismo inesperado
Se você observar baixa utilização de CPU ou paralelismo inesperado em VMs de worker ao usar a seleção automática de VMs com ajuste correto, verifique as configurações a seguir.
Escalonamento automático horizontal
Se você desativar o escalonamento automático horizontal, o job poderá ser executado com um paralelismo menor do que o esperado. Para evitar esse problema, mantenha o escalonamento automático horizontal ativado. Para mais informações, consulte Suporte e limitações do ajuste correto.
Linhas de execução do harness do worker
Por padrão, o Dataflow define o número de linhas de execução por worker com base
na contagem de vCPUs do tipo de máquina selecionado. Se você ainda observar um baixo uso de CPU
ou um paralelismo inesperado, substitua o padrão definindo
a opção de pipeline
numberOfWorkerHarnessThreads ou number_of_worker_harness_threads.
Essa opção se aplica globalmente a todos os pools de workers no pipeline.