Cuando fijas un trabajo a un tipo de máquina específico con la opción de canalización workerMachineType, corres el riesgo de experimentar demoras o fallas en el trabajo debido a la falta de recursos. La selección automática de VMs aborda este problema eligiendo automáticamente trabajadores de un grupo de tipos de máquinas compatibles y disponibles con la flexibilidad de instancias de Compute Engine. Esto ayuda a garantizar que tus canalizaciones de Dataflow adquieran capacidad de forma confiable, lo que te permite mantener un rendimiento constante y evitar interrupciones.
Opciones de configuración no compatibles
La selección automática de VMs se desactiva si tu canalización está configurada con cualquiera de las siguientes opciones:
- Dataflow Prime está habilitado.
- Se establece la opción de canalización
min_cpu_platform. - Se usan discos Hyperdisk Balanced o rendimiento aprovisionado personalizado (IOPS y capacidad de procesamiento). Los trabajos que se inicien con estos parámetros de configuración fallarán.
- La Confidential VM está habilitada.
- Se requieren aceleradores (GPU o TPU).
- Trabajos que no usan Dataflow Shuffle ni Streaming Engine
Habilita la selección automática de VMs
La selección automática de VMs se habilita automáticamente en cualquiera de las siguientes situaciones:
- Si configuras
min_ramocpu_countsugerencias de recursos para los pasos de la canalización que no requieren aceleradores (GPU o TPU). Para obtener información sobre cómo usar sugerencias de recursos con trabajos basados en plantillas, consulta Sugerencias de recursos de canalización.
Comportamiento de la selección automática de VMs
Configura las sugerencias de recursos min_ram y cpu_count de forma aislada o combinada. Por ejemplo:
- Un trabajo con solo
cpu_count=2puede aprovisionar instancias conn4-standard-2(2 CPU virtuales, 8 GB de RAM),c4-standard-2(2 CPU virtuales, 7 GB de RAM) y otros tipos de máquinas. - Un trabajo con
cpu_count=4ymin_ram=16GBpuede aprovisionar instancias conn4-standard-4(4 CPUs virtuales, 16 GB de RAM),c4-highmem-4(4 CPUs virtuales, 31 GB de RAM) y otros tipos de máquinas.
La selección automática de VMs optimiza la selección de VM para la obtención de recursos. Esto significa que es posible que experimentes un rendimiento reducido mientras usas la selección automática de VMs para mejorar la obtención de algunos de tus trabajos altamente ajustados. Te recomendamos que pruebes la selección automática de VMs en un subconjunto de tus trabajos existentes antes de implementarla de forma gradual en más trabajos. Para obtener más información sobre la obtención, consulta Mejora la obtención de recursos para los trabajos en la documentación de Batch.
Dataflow intenta usar primero las familias de máquinas de 4ª generación (por ejemplo, N4 o C4) para ofrecer una mejor eficiencia. Si las máquinas de 4ª generación no están disponibles en tu región, no tienen suficiente cuota o no son compatibles con tus parámetros de configuración, Dataflow recurre automáticamente a las familias de máquinas de 2ª generación que están ampliamente disponibles (por ejemplo, N2 o E2) para garantizar que tu trabajo pueda iniciarse sin demoras de capacidad.
Si especificas un tipo de disco, como pd-ssd o pd-standard, cuando habilitas la selección automática de VMs con sugerencias de recursos (ajuste correcto), Dataflow solo aprovisiona familias de máquinas de 2ª generación compatibles. Para garantizar la máxima compatibilidad y permitir el uso de generaciones de máquinas más nuevas, no asignes un tipo de disco.
Limitaciones
Cuando se usa la selección automática de VMs, las actualizaciones de imágenes de contenedor del ejecutor portátil se inhabilitan para los trabajos de transmisión que usan el ejecutor portátil.
Reservas de Compute Engine
Si usas reservas de Compute Engine con la selección automática de VMs, ten en cuenta lo siguiente:
- Si tienes reservas configuradas para consumirse automáticamente, es posible que se usen si la selección automática de VMs aprovisiona tipos de máquinas que coinciden con la reserva.
- La selección automática de VMs consume instancias de procesamiento a medida que están disponibles. Por lo tanto, no puedes especificar que el servicio consuma instancias de una reserva específica.
Problemas conocidos
Cuando uses la selección automática de VMs, ten en cuenta los siguientes problemas conocidos:
Paralelismo inesperado
Si observas un uso de CPU bajo o un paralelismo inesperado en las VMs de trabajador cuando usas la selección automática de VMs con ajuste correcto, verifica los siguientes parámetros de configuración.
Ajuste de escala automático horizontal
Si inhabilitas el ajuste de escala automático horizontal, es posible que tu trabajo se ejecute con un paralelismo más bajo de lo esperado. Para evitar este problema, mantén habilitado el ajuste de escala automático horizontal. Para obtener más información, consulta Asistencia y limitaciones del ajuste adecuado.
Subprocesos del agente de trabajo
De forma predeterminada, Dataflow establece la cantidad de subprocesos por trabajador según
el recuento de CPU virtuales del tipo de máquina seleccionado. Si aún observas un uso de CPU bajo
o un paralelismo inesperado, puedes anular el valor predeterminado configurando
la opción de canalización
numberOfWorkerHarnessThreads o number_of_worker_harness_threads.
Esta opción se aplica de forma global a todos los grupos de trabajadores de la canalización.