במאמר הזה מוסבר על ההגדרות ב-AI Hypercomputer שכדאי לקחת בחשבון לפני שיוצרים מכונות ואשכולות של Compute Engine. בדיקת ההגדרות הזמינות עוזרת להבטיח ביצועים אופטימליים של עומסי העבודה, ולמזער את זמן ההשבתה ואת בעיות הביצועים.
גורמי הגדרה ליצירת מופע מחשוב ואשכול
לפני שיוצרים מכונות וירטואליות ואשכולות לביצוע עומסי העבודה, כדאי לשקול באיזו הגדרה להשתמש:
אם אתם משתמשים במודל הקצאת משאבים שמוגבל להזמנה, אתם צריכים לקחת בחשבון גם את הגורמים הבאים:
מודלים של הקצאת הרשאות
בהתאם לאפשרות הצריכה שבוחרים ליצירת מכונות או אשכולות של Compute, אפשר להשתמש באחד ממודלי ההקצאה הבאים כדי לקבל את המשאבים הדרושים ליצירת מכונות:
שמירת מקום: אתם יכולים לשריין משאבים במחיר מוזל לתאריך ולמשך זמן עתידיים. בתחילת תקופת ההזמנה, תוכלו להשתמש במשאבים שהוזמנו כדי ליצור מכונות וירטואליות או אשכולות. יש לכם גישה בלעדית למשאבים שהזמנתם למשך תקופת ההזמנה.
תקופת ניסיון גמישה: אפשר לבקש משאבים בהנחה למשך עד שבעה ימים. מערכת Compute Engine משתדלת לתזמן את הקצאת המשאבים שביקשתם ברגע שהם זמינים. תהיה לכם גישה בלעדית למשאבים שקיבלתם למשך התקופה שביקשתם.
Spot: על סמך הזמינות, אתם יכולים לקבל באופן מיידי משאבים בהנחה משמעותית. עם זאת, יכול להיות ש-Compute Engine יפסיק את הפעילות של מכונות וירטואליות או ימחק אותן בכל שלב כדי לפנות קיבולת.
מודל הקצאת משאבים שקשור להזמנה
מודל ההקצאה שמוגבל להזמנה מקשר בין מופעי המחשוב שיצרתם לבין הקיבולת שהזמנתם מראש. כשאתם שומרים קיבולת, Compute Engine יוצרת שמירת מקום ריקה. אחר כך, בשעת ההתחלה של שמירת המקום, קורה הדבר הבא:
מערכת Compute Engine מוסיפה את מספר המכונות שהזמנתם להזמנה. יש לכם גישה בלעדית לקיבולת השמורה עד למועד הסיום של ההזמנה.
Google Cloud מחייב אתכם על הקיבולת שהוזמנה עד סוף תקופת ההזמנה, בין אם אתם משתמשים בקיבולת ובין אם לא.
אחר כך תוכלו להשתמש במשאבים שהוזמנו כדי ליצור מכונות וירטואליות ללא חיובים נוספים. אתם משלמים רק על משאבים שלא נכללים בהזמנה, כמו דיסקים או כתובות IP.
כדי לציין את מודל ההקצאה שמוגבל להזמנה כשיוצרים מכונות וירטואליות או קבוצות של מכונות וירטואליות לניהול (MIG), צריך לבצע את הפעולות הבאות:
במסוף Google Cloud , ברשימה Provisioning model, בוחרים באפשרות Reservation-bound.
ב-Google Cloud CLI, כוללים את הדגל
--provisioning-model=RESERVATION_BOUNDבפקודה.ב-Compute Engine API, כוללים את השדה
"provisioningModel": "RESERVATION_BOUND"בגוף הבקשה.
מידע נוסף על הגדרת הפרמטרים האלה כשיוצרים מכונות או קבוצות של מכונות מנוהלות (MIG) אחרי ששוריינה קיבולת זמין במאמר סקירה כללית על יצירת מכונות וקלאסטרים של Compute. אם אתם משתמשים ב-Cluster Toolkit כדי לפרוס את האשכולות, מודל ההקצאה מוגדר בשבילכם בתוכנית האב של האשכול.
מודל אספקה Flex-start
מודל ההקצאה של Flex-start מאפשר לכם ליצור מכונות וירטואליות עצמאיות מסוג Flex-start או להוסיף מכונות וירטואליות מסוג Flex-start לקבוצת מופעים מנוהלת (MIG) כשהקיבולת שביקשתם זמינה. כשמוסיפים מכונות וירטואליות עם הפעלה גמישה ל-MIG באמצעות בקשות לשינוי גודל, ה-MIG יוצר את המכונות בבת אחת. הגישה הזו עוזרת לכם להימנע מחיובים מיותרים על קיבולת חלקית ש-Compute Engine עשוי לספק בזמן שאתם מחכים לקיבולת המלאה שדרושה להפעלת עומס העבודה. מודל הקצאת המשאבים עם התחלה גמישה מקצה משאבים ממאגר קיבולת מאובטח, מה שמגדיל את הסיכויים שלכם לקבל משאבים עם ביקוש גבוה כמו מעבדי GPU.
כדי לציין את מודל ההקצאה של flex-start כשיוצרים מכונה עצמאית או תבנית של הגדרות מכונה עבור MIG, מבצעים את הפעולות הבאות:
במסוף Google Cloud , ברשימה Provisioning model, בוחרים באפשרות Flex-start.
ב-CLI של gcloud, כוללים את הדגל
--provisioning-model=FLEX_STARTבפקודה.ב-Compute Engine API, כוללים את השדה
"provisioningModel": "FLEX_START"בגוף הבקשה.
מידע נוסף על יצירת מופעים או אשכולות שמשתמשים במודל הקצאת משאבים של flex-start זמין במאמרים הבאים:
יצירת אשכולות Slurm:
יוצרים אשכולות GKE:
מודל הקצאת המשאבים של Spot
מודל הקצאת המשאבים של מכונות Spot מאפשר לכם ליצור מכונות וירטואליות עם הנחות משמעותיות על סמך הזמינות. עם זאת, יכול להיות ש-Compute Engine יפסיק את הפעילות של המכונות הווירטואליות שנוצרו או ימחק אותן בכל שלב כדי לפנות קיבולת. התהליך הזה נקרא דחיקה.
כדי לציין את מודל הקצאת המשאבים של מכונות Spot כשיוצרים מכונות או קבוצות MIG:
ב Google Cloud מסוף, ברשימה Provisioning model, בוחרים באפשרות Spot.
ב-CLI של gcloud, מוסיפים את הדגל
--provisioning-model=SPOTלפקודה.ב-Compute Engine API, כוללים את השדה
"provisioningModel": "SPOT"בגוף הבקשה.
מידע נוסף על הגדרת הפרמטרים האלה כשיוצרים מכונות או קבוצות של מכונות מנוהלות (MIG) זמין במאמר סקירה כללית על יצירת מכונות וקלאסטרים של Compute.
כלים לפריסת אשכולות
Cluster Toolkit הוא כלי פריסה בקוד פתוח שמומלץ ליצירת אשכולות עם האצת GPU. בעזרת Cluster Toolkit אפשר לפרוס אשכולות של Google Kubernetes Engine (GKE) או של Slurm.
לחלופין, אתם יכולים להקצות את קבוצות המכונות הווירטואליות באמצעות אחת מהשיטות הבאות, ואז לשלב את מתזמן עומסי העבודה שלכם לפי הצורך:
סוגי פריסה של בלוקים של הזמנות
אם אתם משתמשים במודל הקצאת משאבים שמוגבל להזמנה כשאתם יוצרים מכונות או אשכולות של מחשוב מסוג A4X Max, A4X, A4, A3 Ultra, A3 Mega ו-A3 High (עם 8 יחידות GPU), המכונות שאתם מקבלים נפרסות באופן אוטומטי בתוך בלוקים של מארחים שהוקצו בצפיפות. הפריסה הזו מציעה את היתרונות הבאים:
רשתות לא חוסמות לקישוריות עקבית של מכונות וירטואליות עם רוחב פס גבוה וזמן אחזור נמוך, באמצעות רשת דינמית של למידת מכונה (ML) מבית Google.
גישה לטופולוגיית הרשת שמספקת תצוגה היררכית של הקרבה היחסית בין המופעים. התכונה הזו שימושית לתרחישים מתקדמים של תזמון משימות.
מיקום מדויק שמודע לטופולוגיה כשמשתמשים בכלי תזמור.
שליטה מפורטת של המשתמשים בלוחות הזמנים של התחזוקה כדי למקסם את תזמון העבודות ואת זמן הפעולה, ולצמצם את זמני ההשבתה.
מצב הפעולה של ההזמנה
אם משתמשים במודל הקצאת משאבים שמוגבל להזמנה, סוג המכונה שאתם מזמינים קובע את מצב ההפעלה של ההזמנה עבור הקיבולת המוזמנת. כל מצב מגדיר איך להגיב לשגיאות במארח או לדוחות שגויים של המארח, וגם את רמת הנראות והשליטה שלכם בתשתית של ההזמנה.
כל מצב הפעלה של הזמנה מגדיר את הפרטים הבאים:
מי מנהל את השחזור: אתם או Google Cloud.
הקיבולת שבה אתם משתמשים לשחזור: רק הקיבולת השמורה, או קיבולת בתוך ההזמנות או מחוץ להן.
רמת השליטה במיקומי מודעות: האם אתם יכולים לראות ולהתחיל תחזוקה לפני הזמן המתוכנן של חסימות משנה ספציפיות של הזמנות, כדי לקבל שליטה מדויקת.
כשמזמינים קיבולת כדי ליצור מכונות וירטואליות או אשכולות, צריך לבחור בין שני מצבי הפעלה של ההזמנה: מצב מנוהל או מצב של כל הקיבולת.
מצב מנוהל
במצב מנוהל, Google Cloud הכלי מנהל באופן אוטומטי את תהליך התחזוקה והשחזור של מופעי המחשוב אחרי שגיאות במארח או דיווחים על מארח פגום. הגישה הזו אידיאלית כשעומס העבודה דורש יציבות גבוהה, ואתם מעדיפים תהליך אוטומטי כדי למזער את זמן ההשבתה.
התכונות של מצב מנוהל:
שימוש בקיבולת שמורה רק לשחזור: מערכת Compute Engine משתמשת בקיבולת השמורה רק כדי להפעיל מחדש מכונות. אם אין קיבולת זמינה בהזמנות שלכם, Compute Engine יפעיל מחדש את המכונות הווירטואליות רק אחרי שתשיגו קיבולת נוספת.
הפעלה מחדש אוטומטית של מכונות: Google Cloud מטפלת בכל תהליך השחזור של מכונה. כשנדרשת תחזוקה של המארח, מערכת Compute Engine מעבירה באופן אוטומטי את המכונות הווירטואליות למכונות זמינות אחרות בהזמנה ומפעילה מחדש את המכונות הווירטואליות.
ניהול חסימות וגישה אליהן: אתם יכולים לראות את הטופולוגיה, את התקינות ואת סטטוס התחזוקה של הזמנות ספציפיות ושל חסימות הזמנות. תוכלו גם לקבל התראות לגבי פעולות תחזוקה, ואם תרצו, להתחיל את פעולות התחזוקה לפני הזמן שנקבע למשאבים האלה.
מגבלות פוטנציאליות על קצב העברת נתונים ב-API: יכול להיות שיהיו מגבלות על קצב העברת נתונים לכל הזמנה של קריאות ל-API של המארח הפגום בדוח.
כל מצבי הקיבולת
בכל מצב קיבולת, אתם אחראים לניהול תהליך השחזור של מכונת מחשוב. צריך להתחיל את התחזוקה באופן ידני אחרי שגיאות במארח או דוחות מארח פגומים. בניגוד למצב המנוהל, אתם יכולים גם לראות ולהתחיל תחזוקה של בלוקים משניים בהזמנה. התכונות האלה מאפשרות לכם שליטה מלאה ומפורטת בתהליך התחזוקה והשחזור של המכונות שלכם.
במצב 'כל הקיבולת' יש את התכונות הבאות:
שימוש בקיבולת שמורה ובקיבולת לא שמורה לשחזור: אתם יכולים להשתמש במשאבים השמורים שלכם, וגם במשאבים שזמינים מחוץ להזמנה שלכם, כדי לעזור לכם להעביר ולהפעיל מחדש מופע כשהמארח שלו נכשל.
הפעלה מחדש של מכונה באופן ידני: אתם אחראים לתהליך השחזור של מכונה. כשנדרשת תחזוקה של המארח בגלל שגיאה במארח או דוח מארח פגום, Compute Engine מפסיק את המופע. אפשר להפעיל מחדש את המופע רק אחרי שהתחזוקה מסתיימת.
ניהול של בלוקים ובלוקים משניים וגישה אליהם: אפשר לראות את הטופולוגיה, את סטטוס התקינות ואת סטטוס התחזוקה של הזמנות ספציפיות, של בלוקים של הזמנות ושל בלוקים משניים של הזמנות. אפשר גם לקבל התראות על תחזוקה, ואם רוצים, להתחיל את התחזוקה לפני הזמן המתוכנן שלה, עבור המשאבים האלה.
אין מגבלות על קצב הקריאות ל-API: אין מגבלות על קצב הקריאות ל-API כשקוראים ל-API של דיווח על מארח פגום.
סוגים של תזמון תחזוקה
אם אתם משתמשים במודל הקצאת משאבים שמוגבל להזמנה, Cluster Director מספק אפשרויות לתזמון תחזוקת המארח עבור מופעי החישוב הפועלים באשכול. כשמזמינים קיבולת, אפשר לציין אם לקבץ את המכונות הווירטואליות ולסנכרן את תזמון התחזוקה (grouped), או שהמכונות הווירטואליות יכולות להיות מצומדות באופן רופף ולתזמן את התחזוקה באופן עצמאי (independent).
תזמון תחזוקה מקובץ
סוג התזמון של תחזוקה מקובצת עוזר לוודא שלא משנה מתי Compute Engine מקצה מופע של מחשוב, לכל המופעים שמריצים את אותו עומס עבודה יש את אותה תדירות מתוכננת של תחזוקה. התחזוקה המשולבת הזו מאפשרת לכם לבצע אופטימיזציה של ביצועי העבודה, כי אתם מקבלים שליטה מלאה בקיבולת שבה נעשה שימוש ובקיבולת שלא נעשה בה שימוש.
סוג התזמון של תחזוקת קבוצות שימושי במקרים הבאים:
הסביבה שלכם משתמשת בכלי לתזמון משימות, כמו Slurm או GKE.
אתם רוצים להריץ אימונים או עומסי עבודה אחרים של מחשוב מקבילי מאוד.
תזמון תחזוקה עצמאי
סוג התזמון העצמאי הזה מאפשר להגדיר למופעים לוחות זמנים שונים לתחזוקה. ההגדרה הזו מתאימה במיוחד אם רוצים להריץ הסקה או אימון בהיקף מוגבל, שבהם עומסי העבודה פועלים בצורה יעילה יותר כשיש להם לוחות זמנים נפרדים לתחזוקה.