בדף הזה מתוארות השיטות הזמינות שבהן אתם יכולים להשתמש כדי להשיג מאיצי מחשוב, כמו מעבדי GPU או מעבדי TPU, בהתאם לדרישות של עומסי העבודה של AI/ML. הטכניקות האלה נקראות אפשרויות צריכה של מאיצים ב-GKE. הבנה של אפשרויות הצריכה השונות עוזרת לכם לבצע אופטימיזציה של ניצול המשאבים כדי להימנע מניצול חלקי של משאבים, להגדיל את הסיכוי לקבל משאבים ולאזן בין עלות לביצועים.
הדף הזה מיועד לאדמינים ולאופרטורים של פלטפורמות, שמתאמים עם מהנדסי למידת מכונה (ML) כדי לקבל את המשאבים הדרושים לפריסה מוצלחת של עומסי עבודה של AI/ML.
מידע נוסף על תפקידים נפוצים ועל משימות לדוגמה שאנחנו מתייחסים אליהן בתוכן של Cloud de Confiance by S3NS , זמין במאמר תפקידים נפוצים של משתמשים ומשימות ב-GKE.
הסבר על אפשרויות הצריכה
אפשר לבחור מבין האפשרויות הבאות כדי להשתמש במאיצים ב-GKE:
- על פי דרישה: אתם משתמשים במעבדי TPU או GPU ב-GKE בלי לתכנן מראש את הקיבולת. לפני שמבקשים משאבים, צריך לוודא שיש לכם מספיק מכסה על פי דרישה לסוג ולכמות הספציפיים של המאיצים. צריכה על פי דרישה היא האפשרות הגמישה ביותר, אבל אין ערובה לכך שיהיו מספיק משאבים על פי דרישה כדי למלא את הבקשה שלכם.
- הזמנות: אתם מזמינים משאבים לתקופה מוגדרת. הזמנה יכולה להיות כל אחת מהאפשרויות הבאות:
- מקומות שמורים לעתיד: אתם משריינים משאבים לפרקי זמן ארוכים יותר, בדרך כלל, למועד ספציפי בעתיד. יש לכם גישה בלעדית למשאבים המוזמנים למשך התקופה הזו. מקום שמור לעתיד דורש מעורבות עם מנהל חשבונות טכני (TAM). מידע נוסף זמין במאמרים בנושא TPU ו-GPU.
- מקום שמור לעתיד לפרק זמן של עד 90 יום (במצב יומן): אתם מבקשים קיבולת לפרק זמן מסוים, והיועץ ביומן מציע תאריכי זמינות. הזמנות עתידיות לפרק זמן של עד 90 ימים (במצב לוח שנה) מאפשרות גמישות רבה יותר לפרקי זמן קצרים יותר וחיפוש קיבולת בשירות עצמי. מידע נוסף זמין במאמר בנושא בקשות למקום שמור לעתיד במצב יומן.
- מקום שמור על פי דרישה: אתם יכולים לבקש הקצאה של מקום שמור על פי דרישה ברגע שהקיבולת תהיה זמינה, בדומה לאפשרות על פי דרישה. כל עוד ההזמנה פעילה, אתם משלמים על המשאבים גם אם אתם לא משתמשים בהם.
- התחלה גמישה: אתם מאבטחים משאבים שהוקצו בצפיפות לעומסי עבודה לפרק זמן קצר בלי הזמנה. אתם מבקשים מספר ספציפי של מעבדי GPU או TPU, ו-Compute Engine מקצה אותם כשקיבולת הופכת לזמינה. מעבדי ה-GPU או ה-TPU פועלים ברצף עד שבעה ימים. מידע נוסף זמין במאמר בנושא הקצאת משאבים עם גמישות בהתחלה.
- Spot: אתם מקצים מכונות וירטואליות במודל Spot, שמאפשרות לכם לקבל הנחות משמעותיות, אבל אפשר להפסיק את פעולת המכונות הווירטואליות במודל Spot בכל שלב, עם אזהרה של 30 שניות. מידע נוסף זמין במאמר VM במודל Spot.
כדי לייעל את ההקצאה כשיש מגבלות על משאבי המחשוב, אתם יכולים לתזמר את האפשרויות האלה באמצעות ComputeClasses.
הסבר על מכסת מאיצי חומרה ב-GKE
מכסות ומגבלות מערכת מגבילות את השימוש במשאבים של Cloud de Confiance by S3NS כדי לתמוך בזמינות המשאבים לכל משתמשי Cloud de Confiance by S3NS . למכסות יש ערכי ברירת מחדל, אבל בדרך כלל אפשר לבקש לשנות אותן. מגבלות המערכת הן ערכים קבועים שאי אפשר לשנות. כברירת מחדל, בדרך כלל פרויקטים לא כוללים מכסת מאיץ משמעותית. אתם צריכים לבקש ולקבל אישור למכסה לסוגי מאיצים ולאזורים ספציפיים.
כשמנהלים את המכסות שנדרשות לעומסי העבודה, כדאי להביא בחשבון את המאפיינים הבאים:
צריך לבקש את המכסה הנדרשת לכל אפשרות צריכה. כדי לזהות את המכסה הנדרשת לכל אפשרות צריכה, אפשר לעיין בפרמטרים המתאימים של 'מכסה' שמפורטים בטבלה בחירת אפשרות צריכה. אם אין מספיק מכסה, ניסיונות ליצור אשכולות, מאגרי צמתים או לפרוס עומסי עבודה שדורשים מאיצים ייכשלו עם השגיאה
Quota exceeded.כשמשתמשים בסוגי מכונות בהתאמה אישית ב-Autopilot, צריך לבקש הקצאת נפח אחסון. הצמתים שהוקצו כדי לעמוד בדרישות של ComputeClass עדיין צורכים את המכסה של הפרויקט עבור המאיצים שצוינו.
Cloud de Confiance by S3NS בחשבונות לתקופת ניסיון בחינם יש מגבלות על בקשות להגדלת מכסות של משאבים יקרי ערך כמו יחידות GPU ו-TPU. כדי לקבל גישה למכסת המאיצים, צריך לשדרג לחשבון בתשלום.
כדי לבדוק את המכסה ולבקש הגדלה שלה, עוברים אל הדף Quotas במסוף Cloud de Confiance . אפשר לסנן את המכסות של המאיצים ולבקש להגדיל אותן.
זיהוי אפשרות צריכה
כדי לבחור את אפשרות הצריכה הכי מתאימה לעומס העבודה שלכם ב-AI או ב-ML, כדאי להביא בחשבון את השיקולים הבאים:
- סוג עומס העבודה: צריך להביא בחשבון את סוג עומס העבודה שרוצים להטמיע.
הדרישות של GKE משתנות בהתאם לסוג עומס העבודה שאתם מריצים: אימון או הסקה:
- אימון: נדרשים משאבים עם ביצועים גבוהים וזיכרון משמעותי. לעומסי עבודה של אימון יש בדרך כלל משך חיים מוגדר היטב. בדרך כלל קל יותר לתכנן את עומסי העבודה האלה, כי הם פחות נוטים לעליות פתאומיות בצריכת המשאבים.
- הסקה: בדרך כלל נדרשים מאיצים שעברו אופטימיזציה למדרגיות ועלות נמוכה יותר. עומסי עבודה של הסקת מסקנות עשויים לדרוש זיכרון משמעותי של מאיץ במהלך עליות פתאומיות בצריכת המשאבים.
- משך החיים על סמך שלב ההטמעה: צריך להתחשב ביעד העסקי אם מבצעים הוכחת היתכנות (POC), הערכת פלטפורמה, פיתוח או בדיקה של אפליקציה, הכנסה לשימוש או אופטימיזציה.
- זמן הקצאת המשאבים: צריך לקבוע אם עומס העבודה דורש ביצוע מיידי או שאפשר להריץ אותו בעתיד. אם אפשר להפעיל את התהליך בעתיד, צריך לקבוע את מידת הגמישות של שעת ההתחלה.
- איזון בין עלות לביצועים: בודקים את דרישות הביצועים של עומס העבודה ואת מגבלות התקציב, ובוחרים את המאיץ הכי משתלם. כדאי לשקול את האיזון בין העלות של המאיצים לבין מאפייני הביצועים שלהם. חשוב לזכור שמאיצים חדשים עשויים לשפר את יחסי העלות-ביצועים.
בחירת אפשרות צריכה
הטבלה הבאה תעזור לכם לבחור אפשרות צריכה:
| אפשרות צריכה | פרמטרים של הקצאת הרשאות | מאיצים נתמכים | פרטים | דוגמאות לעומסי עבודה |
|---|---|---|---|---|
| מקומות שמורים על פי דרישה |
|
|
|
|
| מקומות שמורים לעתיד |
|
|
|
|
| מקום שמור לעתיד ל-90 יום (במצב יומן) |
|
|
|
|
| מצב הקצאה "התחלה גמישה" |
|
|
|
|
| מכונות וירטואליות במודל Spot |
|
|
|
|
| על פי דרישה (יחידות GPU או יחידות TPU) |
|
|
|
אופטימיזציה של עלויות והקצאת עומסי עבודה באמצעות ComputeClasses
אתם יכולים להשתמש ב-ComputeClasses כדי לנהל באופן דינמי ואוטומטי את אסטרטגיית צריכת המאיצים, על ידי הגדרת רשימה של הגדרות חלופיות שמבוססות על עדיפות. במהלך פעולות הרחבה, GKE מנסה להקצות צמתים בהתאם להיררכיית העדיפויות שהגדרתם.
ברשימה הבאה מפורטות אפשרויות הצריכה שזמינות עם ComputeClasses ומוסבר איך להגדיר אותן. דוגמאות למניפסטים מלאים של YAML זמינות במאמר דוגמאות לאפשרויות צריכה עם ComputeClasses.
- הזמנות: אתם יכולים להגדיר את שם ההזמנה בשדה
reservationsב-ComputeClass. כך GKE תנסה קודם לצרוך את הקיבולת השמורה שלכם לפני שתחזור לשימוש בקיבולת הרגילה. - מצב הקצאה "התחלה גמישה": מפעילים את התור הגמיש באמצעות השדה
flexStartב-ComputeClass, ומגדירים את משך הזמן להחלפת צומת חלופי באמצעות השדותnodeRecycling. - VM במודל Spot: כדי להגדיר את GKE להשתמש ב-VM במודל Spot כשמוקצים צמתים לכלל העדיפות הזה, צריך להגדיר את השדה
spotלערךtrue. - קיבולת על פי דרישה בשילוב עם מדיניות מיקום בכמה אזורים:
מגדירים את סוגי המכונות הרגילים ברשימת העדיפויות, וקובעים אסטרטגיית מיקום חלופית באמצעות השדות
location.
ב-ComputeClasses אין תמיכה במקומות שמורים לעתיד או במקומות שמורים לעתיד עד 90 יום (במצב לוח שנה).
דוגמאות לאפשרויות צריכה עם ComputeClasses
בקטעים הבאים מופיעות דוגמאות להגדרות של האסטרטגיות האלה.
הזמנות עם הגדרת גיבוי
ההגדרה הזו מתאימה לעומסי עבודה שיכולים להתמודד עם שיבושים, ולא לעומסי עבודה שתלויים בנתונים קבועים או שצריכים לפעול עד הסוף.
ההגדרה הזו יוצרת אסטרטגיה עמידה לחזרה לגרסה קודמת באמצעות השלבים הבאים:
- צריכת הזמנות קודמת: GKE מנסה להקצות צמתים באמצעות הזמנת הקיבולת הספציפית שרכשתם מראש.
- חזרה ל-Flex-start: אם נעשה שימוש מלא בקיבולת של ההזמנה, GKE חוזר למשאבים של Flex-start עם הנחה לטווח קצר.
- חזרה לשימוש על פי דרישה: כפתרון חלופי אחרון, GKE מספק משאבים רגילים על פי דרישה.
העברה חזרה להזמנות: הפעלת העברה פעילה מורה ל-GKE לאחד ולהעביר באופן אוטומטי את עומסי העבודה חזרה לצמתי ההזמנה בעדיפות גבוהה יותר, ברגע שהקיבולת תהיה זמינה. ההעברה הזו עלולה לשבש את העבודה.
apiVersion: cloud.google.com/v1 kind: ComputeClass metadata: name: ha-gpu-fallback spec: activeMigration: optimizeRulePriority: true # Migrate workloads back to reservation when capacity releases priorities: # Priority 1: Consume specific corporate reservation first - gpu: type: nvidia-l4 count: 1 reservations: affinity: Specific specific: - name: reserved-l4-pool project: my-project zones: [us-central1-a] # Priority 2: Fallback to Flex Start (short-duration allocation) - gpu: type: nvidia-l4 count: 1 flexStart: enabled: true # Priority 3: Fallback to On-demand resources - gpu: type: nvidia-l4 count: 1
מצב הקצאה "התחלה גמישה" עם הגדרת מיחזור צמתים
ההגדרה הזו מנהלת קיבולת מוזלת לפרקי זמן קצרים עם זמינות רציפה באמצעות השלבים הבאים:
- בקשה למכונות וירטואליות מסוג Flex-start: GKE מבקש מכונות וירטואליות מהתור של Flex-start (שפועלות בלי הפרעה עד שבעה ימים).
- מעקב אחרי תפוגת ההשכרה: GKE עוקב אחרי משך הזמן שנותר לצמתים הפעילים של ההתחלה הגמישה.
- הפעלת מיחזור צמתים: 20 דקות (1,200 שניות) לפני שתוקף ההשכרה של ה-VM פג, GKE מקצה באופן אוטומטי צומת חלופי.
תזמון מחדש של עומסי עבודה: עומסי העבודה מועברים לצומת החדש, והביצוע שלהם מתחדש ללא הפרעה בשירות.
apiVersion: cloud.google.com/v1 kind: ComputeClass metadata: name: flex-node-recycling spec: priorities: - gpu: type: nvidia-l4 count: 1 flexStart: enabled: true nodeRecycling: leadTimeSeconds: 1200 # Automatically launch replacement node before VM lease expires
הגדרת מדיניות הקצאה מרובת אזורים
ההגדרה הזו עוקפת את ההגבלות על היצע במתחם יחיד באמצעות השלבים הבאים:
- הגדרת אזורי יעד: אפשר לציין כמה אזורי גיבוי (כמו
us-central1-a,us-central1-bו-us-central1-c) בכללי העדיפות. - הרחבת פרמטרים של טירגוט: מגדירים את מדיניות המיקום לערך
ANY. ההגדרה הזו מורה למידרוג האוטומטי של האשכול לחפש את הקיבולת המבוקשת בכל התחומים שצוינו. - ניתוח הזמינות באזורים: במהלך אירועי הרחבה, GKE סורק את האזורים שצוינו.
הקצאת משאבים באזורים זמינים: GKE מקצה באופן מיידי את צמתי עומס העבודה המבוקשים בכל אזור יעד שיש בו קיבולת תואמת. השיטה הזו מונעת חסימות בתורי הקצאה.
apiVersion: cloud.google.com/v1 kind: ComputeClass metadata: name: broad-zonal-serving spec: priorities: - gpu: type: nvidia-l4 count: 1 location: zones: [us-central1-a, us-central1-b, us-central1-c] locationPolicy: ANY # Provision accelerator in any target zone with supply