אתם יכולים להשתמש במצב Flex Start של Dynamic Workload Scheduler (DWS) כדי לשפר את הזמינות של משאבי GPU נדירים לעומסי עבודה של אצווה ב-Managed Service for Apache Spark.
סקירה כללית
מתזמן עומסי עבודה דינמי הוא מתזמן שמודע לקיבולת ומנהל משאבי מחשוב מוגבלים ברמה הגלובלית. במצב Flex Start, שירות Managed Service for Apache Spark יכול להוסיף את הבקשה שלכם לתור למשך זמן שניתן להגדרה, אם יחידות ה-GPU לא זמינות באופן מיידי בגלל מחסור במלאי באזור.
התכונה 'התחלה גמישה' היא התנהגות ברירת המחדל לכל עומסי העבודה שמופעלים באמצעות GPU ונשלחים לגרסה 3.0 ומעלה של זמן הריצה של Spark ב-Managed Service for Apache Spark. כשמשאבים לא זמינים, הבקשה מתווספת לתור במקום להיכשל עם שגיאת חוסר במלאי.
אחרי שהקיבולת מתקבלת, DWS מקצה את כל האשכול בבת אחת לפני שהביצוע מתחיל. מידע נוסף זמין במאמר היכרות עם הכלי Dynamic Workload Scheduler.
יתרונות
- זמינות משופרת: צמצום משמעותי של כשלים בעבודות שנגרמים בגלל מחסור זמני בקיבולת של יחידות GPU.
- הקצאת משאבים אטומית: הקצאת משאבים של עובדי אשכול כיחידה אחת, כדי להבטיח את שלמות האשכול ולמנוע תרחישים שבהם נוצר רק חלק מהעובדים.
- מהימנות כברירת מחדל: שיפור ברכישת משאבים ללא הגדרה ידנית של פרמטרים.
דרישות מכסה
כדי להשתמש ב-DWS Flex Start, בפרויקט שלכם צריך להיות מכסת נפח אחסון מספקת:
- מכסת GPU זמנית: DWS Flex Start צורך את הגרסה הזמנית של מאגר מכסת ה-GPU, ולא את המאגר הרגיל (לדוגמה,
PREEMPTIBLE_NVIDIA_L4_GPUS). מידע נוסף זמין במאמר מכסות משאבים ב-Managed Service for Apache Spark. - מכסת SSD מקומי: כשמשתמשים בסוג האחסון
performanceבמכונות עם האצת GPU, השירות המנוהל ל-Apache Spark מקצה SSD מקומיים לערבוב מהיר ולאחסון זמני. בפרויקט צריך להיות מספיק מכסת SSD מקומי באזור היעד.
הגדרות אישיות
התכונה DWS Flex Start מופעלת כברירת מחדל לעומסי עבודה של GPU בגרסת זמן הריצה 3.0 ומעלה.
אפשר להשתמש במאפייני Spark הבאים כדי להתאים אישית את הזמן הקצוב לתפוגה או להשבית את התכונה:
| מאפיין (property) | תיאור | ערכים | ברירת מחדל |
|---|---|---|---|
spark.dataproc.[driver|executor].provisioning.mode |
מציין את מודל הקצאת ההרשאות. משתמשים ב-queue כדי להפעיל את DWS Flex Start (ברירת המחדל למעבדי GPU) או ב-default כדי להשבית את DWS ולהשתמש בהקצאת משאבים לפי דרישה. |
queue, default |
queue (למעבדים גרפיים ב-3.0 ומעלה) |
spark.dataproc.[driver|executor].provisioning.allocationTimeout |
משך הזמן המקסימלי שבו מאגר הצמתים ימתין בתור לקיבולת. ערך ברירת המחדל הוא שעה אחת (3600s) והערך המקסימלי הוא שעתיים (7200s). הערה: הערכים חייבים להסתיים בסיומת s. |
משך בשניות (לדוגמה, 1800s) |
3600s |
דוגמה: עומס עבודה של אצווה של GPU עם DWS Flex Start
בדוגמה הבאה מוצג שליחה של משימת PySpark באצווה באמצעות יחידות GPU מסוג NVIDIA L4. הפקודה מגדירה זמן קצוב לתפוגה של 30 דקות (1800s) בתור גם לנהג וגם ל-executors, כשההגדרה DWS
Flex Start פעילה כברירת מחדל:
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"