Mit dem DWS-Flex-Start-Modus (Dynamic Workload Scheduler) können Sie die Verfügbarkeit von knappen GPU-Ressourcen für Ihre Managed Service for Apache Spark-Batcharbeitslasten verbessern.
Übersicht
Dynamic Workload Scheduler ist ein kapazitätsabhängiger Scheduler, der knappe Rechenressourcen global verwaltet. Im Modus Flex Start kann Managed Service for Apache Spark Ihre Anfrage für eine konfigurierbare Dauer 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 an Managed Service for Apache Spark mit der Spark-Laufzeitversion 3.0 oder höher gesendet werden. Wenn Ressourcen nicht verfügbar sind, wird die Anfrage in die Warteschlange gestellt, anstatt mit einem Fehler aufgrund von Engpässen zu fehlschlagen.
Sobald Kapazität verfügbar ist, stellt DWS den gesamten Cluster auf einmal bereit, bevor die Ausführung beginnt. Weitere Informationen finden Sie unter Einführung in 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:Bereitstellung von Cluster-Workern als eine Einheit, wodurch die Clusterintegrität gewährleistet und verhindert wird, dass nur eine Teilmenge von Workern erstellt wird.
- Standardzuverlässigkeit:Verbesserte Ressourcenbeschaffung ohne manuelle Parameterkonfiguration.
Kontingentanforderungen
Damit Sie DWS Flex Start verwenden können, muss Ihr Projekt ein ausreichendes Kontingent haben:
- Kontingent für Instanzen auf Abruf mit GPU: DWS Flex Start verwendet die Version Instanzen auf Abruf
des GPU-Kontingentpools anstelle des Standardpools (z. B.
PREEMPTIBLE_NVIDIA_L4_GPUS). 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 Shuffle und temporären Speicher bereit. Ihr Projekt muss in der Zielregion ein ausreichendes Kontingent für lokale SSDs haben.
Konfiguration
DWS Flex Start ist standardmäßig für GPU-Arbeitslasten mit der Laufzeitversion 3.0 oder höher aktiviert. Mit den folgenden Spark-Eigenschaften können Sie das Zeitlimit anpassen oder die Funktion 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 mit 3.0 oder höher) |
spark.dataproc.[driver|executor].provisioning.allocationTimeout |
Die maximale Dauer, die der Knotenpool in der Warteschlange auf Kapazität warten kann. Der Standardwert ist 1 Stunde (3600s) und der Höchstwert 2 Stunden (7200s). Hinweis: Die Werte müssen mit dem Suffix „s“ enden. |
Dauer in Sekunden (z. B. 1800s) |
3600s |
Beispiel: GPU-Batcharbeitslast 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 für die Warteschlange von 30 Minuten (1800s) für den Treiber und die Executors 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"