Wenn Sie einen Job mit der workerMachineType Pipelineoption an einen bestimmten Maschinentyp anpinnen, kann es aufgrund von Ressourcenengpässen zu Verzögerungen oder Jobfehlern kommen. Mit der automatischen VM-Auswahl wird dieses Problem behoben, indem Worker automatisch aus einem Pool kompatibler und verfügbarer Maschinentypen mithilfe der Compute Engine Instanzflexibilität ausgewählt werden. So wird sichergestellt, dass Ihre Dataflow-Pipelines zuverlässig Kapazität erhalten, sodass Sie eine konsistente Leistung aufrechterhalten und Unterbrechungen vermeiden können.
Nicht unterstützte Konfigurationen
Die automatische VM-Auswahl ist deaktiviert, wenn Ihre Pipeline mit einer der folgenden Optionen konfiguriert ist:
- Dataflow Prime ist aktiviert.
- Die Pipelineoption
min_cpu_platformist festgelegt. - Es werden Hyperdisk Balanced-Laufwerke oder eine benutzerdefinierte bereitgestellte Leistung (IOPS und Durchsatz) verwendet. Jobs, die mit diesen Konfigurationen gestartet wurden, schlagen fehl.
- Confidential VM ist aktiviert.
- Beschleuniger (GPUs oder TPUs) sind erforderlich.
Außerdem wird die automatische VM-Auswahl für Jobs, die Shuffle Appliance oder Streaming Appliance verwenden, nicht unterstützt.
Automatische VM-Auswahl aktivieren
Die automatische VM-Auswahl wird in den folgenden Fällen automatisch aktiviert:
- Wenn Sie
min_ramodercpu_countRessourcenhinweise für Pipelineschritte festlegen, für die keine Beschleuniger (GPUs oder TPUs) erforderlich sind. Informationen zur Verwendung von Ressourcenhinweisen mit vorlagenbasierten Jobs finden Sie unter Ressourcenhinweise für Pipelines.
Verhalten der automatischen VM-Auswahl
Konfigurieren Sie Ressourcenhinweise für min_ram und cpu_count entweder einzeln oder in Kombination. Beispiel:
- Bei einem Job mit nur
cpu_count=2können Instanzen mitn4-standard-2(2 vCPUs, 8 GB RAM),c4-standard-2(2 vCPUs, 7 GB RAM) und anderen Maschinentypen bereitgestellt werden. - Bei einem Job mit
cpu_count=4undmin_ram=16GBkönnen Instanzen mitn4-standard-4(4 vCPUs, 16 GB RAM),c4-highmem-4(4 vCPUs, 31 GB RAM) und anderen Maschinentypen bereitgestellt werden.
Die automatische VM-Auswahl optimiert die VM-Auswahl für die Ressourcenverfügbarkeit. Das bedeutet, dass die Leistung möglicherweise geringer ist, wenn Sie die automatische VM-Auswahl verwenden, um die Verfügbarkeit einiger Ihrer hochgradig optimierten Jobs zu verbessern. Wir empfehlen, die automatische VM-Auswahl für eine Teilmenge Ihrer vorhandenen Jobs zu testen, bevor Sie sie nach und nach breiter einsetzen. Weitere Informationen zur Verfügbarkeit finden Sie in der Batch-Dokumentation unter Ressourcenverfügbarkeit für Jobs verbessern.
Dataflow versucht zuerst, Maschinenfamilien der 4. Generation (z. B. N4 oder C4) zu verwenden, um eine bessere Effizienz zu erzielen. Wenn Maschinen der 4. Generation in Ihrer Region nicht verfügbar sind, nicht genügend Kontingent vorhanden ist oder sie nicht mit Ihren Konfigurationen kompatibel sind, greift Dataflow automatisch auf weit verbreitete Maschinenfamilien der 2. Generation (z. B. N2 oder E2) zurück, damit Ihr Job ohne Kapazitätsverzögerungen gestartet werden kann.
Wenn Sie beim Aktivieren der automatischen VM-Auswahl mit Ressourcenhinweisen (richtige Anpassung) einen Laufwerkstyp wie pd-ssd oder pd-standard angeben, stellt Dataflow nur kompatible Maschinenfamilien der 2. Generation bereit. Um maximale Kompatibilität zu gewährleisten und die Verwendung neuerer Maschinengenerationen zu ermöglichen, weisen Sie keinen Laufwerkstyp zu.
Compute Engine-Reservierungen
Wenn Sie Compute Engine-Reservierungen mit der automatischen VM-Auswahl verwenden, beachten Sie Folgendes:
- Wenn Sie Reservierungen für die automatische Nutzung konfiguriert haben, werden sie möglicherweise verwendet, wenn die automatische VM-Auswahl Maschinentypen bereitstellt, die mit der Reservierung übereinstimmen.
- Die automatische VM-Auswahl nutzt Compute-Instanzen, sobald sie verfügbar sind. Daher können Sie nicht angeben, dass der Dienst Instanzen aus einer bestimmten Reservierung nutzen soll.
Bekannte Probleme
Beachten Sie bei der Verwendung der automatischen VM-Auswahl die folgenden bekannten Probleme:
Unerwartete Parallelität
Wenn Sie bei der Verwendung der automatischen VM-Auswahl mit der richtigen Anpassung eine geringe CPU-Auslastung oder eine unerwartete Parallelität auf Worker-VMs feststellen, kann dies auf ein bekanntes Problem zurückzuführen sein, bei dem die Anzahl der Threads pro Worker nicht automatisch so festgelegt wird, dass sie der Anzahl der vCPUs des ausgewählten Maschinentyps entspricht.
Um dieses Problem zu umgehen, können Sie die Anzahl der Worker-Harness-Threads explizit mit der numberOfWorkerHarnessThreads Pipelineoption festlegen. Diese Option gilt global für alle Worker-Pools in der Pipeline.