Selección automática de VMs

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 VM 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 manera confiable, lo que te permite mantener un rendimiento coherente y evitar interrupciones.

Opciones de configuración no compatibles

La selección automática de VM se desactiva si tu canalización está configurada con cualquiera de los siguientes elementos:

  • 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 estas configuraciones fallarán.
  • Confidential VM está habilitada.
  • Se requieren aceleradores (GPU o TPU).

Además, la selección automática de VM no es compatible con los trabajos que usan Shuffle Appliance o Streaming Appliance.

Habilita la selección automática de VM

La selección automática de VM se habilita automáticamente en cualquiera de las siguientes situaciones:

Comportamiento de la selección automática de VM

Configura las sugerencias de recursos min_ram y cpu_count de forma aislada o combinada. Por ejemplo:

  1. Un trabajo con solo cpu_count=2 puede aprovisionar instancias con n4-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.
  2. Un trabajo con cpu_count=4 y min_ram=16GB puede aprovisionar instancias con n4-standard-4 (4 CPU virtuales, 16 GB de RAM), c4-highmem-4 (4 CPU virtuales, 31 GB de RAM) y otros tipos de máquinas.

La selección automática de VM optimiza la selección de VM para la obtención de recursos. Esto significa que es posible que experimentes una reducción del rendimiento mientras usas la selección automática de VM para mejorar la obtención de algunos de tus trabajos altamente optimizados. Te recomendamos que pruebes la selección automática de VM en un subconjunto de tus trabajos existentes antes de implementarlos de forma gradual. Para obtener más información sobre la obtención, consulta Mejora la obtención de recursos para trabajos en la documentación de Batch.

Dataflow intenta usar primero 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 configuraciones, Dataflow automáticamente recurre a familias de máquinas de 2ª generació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 VM con sugerencias de recursos (ajuste adecuado), 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.

Reservas de Compute Engine

Si usas reservas de Compute Engine con la selección automática de VM, ten en cuenta lo siguiente:

  • Si tienes reservas configuradas para que se consuman automáticamente, es posible que se usen si la selección automática de VM aprovisiona tipos de máquinas que coinciden con la reserva.
  • La selección automática de VM 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 VM, ten en cuenta los siguientes problemas conocidos:

Paralelismo inesperado

Si observas un uso bajo de la CPU o un paralelismo inesperado en las VMs de trabajador cuando usas la selección automática de VM con ajuste adecuado, es posible que se deba a un problema conocido en el que la cantidad de subprocesos por trabajador no se establece automáticamente para que coincida con la cantidad de CPU virtuales del tipo de máquina seleccionado.

Para solucionar este problema, puedes establecer de forma explícita la cantidad de subprocesos de arnés de trabajador con la numberOfWorkerHarnessThreads opción de canalización. Esta opción se aplica de forma global a todos los grupos de trabajadores de la canalización.