Mit dem Flex-Start-Modus von Dynamic Workload Scheduler (DWS) können Sie die Verfügbarkeit knapper GPU-Ressourcen für Ihre Batcharbeitslasten von Managed Service for Apache Spark verbessern.
Übersicht
Der Dynamic Workload Scheduler ist ein kapazitätsbewusster Scheduler, der knappe Rechenressourcen global verwaltet. Im Modus Flex Start kann Managed Service for Apache Spark Ihre Anfrage für einen konfigurierbaren Zeitraum in die Warteschlange stellen, wenn GPUs aufgrund regionaler Engpässe nicht sofort verfügbar sind.
Flex Start ist das Standardverhalten für alle GPU-fähigen Arbeitslasten, die für die Spark-Laufzeitversion 3.0+ von Managed Service for Apache Spark eingereicht werden. Wenn Ressourcen nicht verfügbar sind, wird die Anfrage in die Warteschlange gestellt, anstatt mit einem Fehler aufgrund von Ressourcenmangel zu scheitern.
Sobald die Kapazität verfügbar ist, stellt DWS den gesamten Cluster „auf einmal“ bereit, bevor die Ausführung beginnt. Weitere Informationen finden Sie unter Dynamic Workload Scheduler.
Vorteile
- Höhere Verfügbarkeit:Deutliche Reduzierung von Jobfehlern, die durch vorübergehende Engpässe bei der GPU-Kapazität verursacht werden.
- Atomare Bereitstellung:Die Bereitstellung von Cluster-Workern als Einheit sorgt für die Integrität des Clusters und verhindert Szenarien, in denen nur ein Teil der Worker erstellt wird.
- Standardzuverlässigkeit:Die Ressourcenerfassung wurde verbessert, ohne dass Parameter manuell konfiguriert werden müssen.
Kontingentanforderungen
Damit Sie DWS Flex Start verwenden können, muss Ihr Projekt ein ausreichendes Kontingent haben:
- Kontingent für GPUs auf Abruf:Bei DWS Flex Start wird die Version auf Abruf des GPU-Kontingentpools anstelle des Standardpools (z. B.
PREEMPTIBLE_NVIDIA_L4_GPUS) verwendet. Weitere Informationen finden Sie unter Ressourcenkontingente für Managed Service for Apache Spark. - Kontingent für lokale SSDs:Wenn Sie die Speicherklasse
performancemit GPU-beschleunigten Maschinen verwenden, stellt Managed Service for Apache Spark lokale SSDs für schnelles Shuffling und temporären Speicher bereit. Ihr Projekt muss in der Zielregion über ein ausreichendes Kontingent für lokale SSDs verfügen.
Konfiguration
DWS Flex Start ist standardmäßig für GPU-Arbeitslasten in der Laufzeitversion 3.0+ aktiviert. Sie können die folgenden Spark-Attribute verwenden, um das Zeitlimit anzupassen oder die Funktion zu deaktivieren:
| Attribut | Beschreibung | Werte | Standard |
|---|---|---|---|
spark.dataproc.[driver|executor].provisioning.mode |
Gibt das Bereitstellungsmodell an. Verwenden Sie queue für DWS Flex Start (Standard für GPUs) oder default, um DWS zu deaktivieren und die On-Demand-Bereitstellung zu verwenden. |
queue, default |
queue (für GPUs auf 3.0+) |
spark.dataproc.[driver|executor].provisioning.allocationTimeout |
Die maximale Dauer, die der Knotenpool in der Warteschlange auf Kapazität warten darf. Der Standardwert ist 1 Stunde (3600s) und der Höchstwert ist 2 Stunden (7200s). Hinweis: Werte müssen mit dem Suffix „s“ enden. |
Dauer in Sekunden (z. B. 1800s) |
3600s |
Beispiel: GPU-Batch-Arbeitslast mit DWS Flex Start
Im folgenden Beispiel wird ein PySpark-Batchjob mit NVIDIA L4-GPUs gesendet. Da DWS Flex Start standardmäßig aktiviert ist, wird mit dem Befehl ein Zeitlimit von 30 Minuten (1800s) für die Warteschlange für den Fahrer und die Ausführenden festgelegt:
gcloud dataproc batches submit pyspark \
gs://my-bucket/path/to/your-script.py \
--project="PROJECT_ID" \
--region="REGION" \
--version="3.0" \
--properties="spark.dataproc.driver.resource.accelerator.type=l4,\
spark.dataproc.driver.provisioning.allocationTimeout=1800s,\
spark.dataproc.executor.resource.accelerator.type=l4,\
spark.dataproc.executor.provisioning.allocationTimeout=1800s,\
spark.dataproc.executor.compute.tier=premium,\
spark.dataproc.executor.disk.tier=premium"