בדיקת ההגדרות של מופעי המחשוב והאשכול

במאמר הזה מפורטות ההגדרות ב-AI Hypercomputer שכדאי לקחת בחשבון לפני שיוצרים מכונות ואשכולות של Compute Engine. בדיקת ההגדרות הזמינות עוזרת לבצע אופטימיזציה של הביצועים בעומסי העבודה, וגם לצמצם את זמן ההשבתה ואת הבעיות בביצועים.

גורמי הגדרה ליצירת מופע מחשוב ואשכול

לפני שיוצרים מכונות וירטואליות ואשכולות לביצוע עומסי העבודה, כדאי לשקול באיזו הגדרה להשתמש:

  1. מודל הקצאת ההרשאות

  2. הכלים לפריסת אשכולות

  3. אם אתם משתמשים במודל הקצאת משאבים שמוגבל להזמנה, אתם צריכים לקחת בחשבון גם את הגורמים הבאים:

מודלים להקצאת הרשאות

בהתאם לאפשרות הצריכה שבוחרים ליצירת מכונות או אשכולות של 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 זמין במאמרים הבאים:

מודל הקצאת הרשאות של 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.

לחלופין, אתם יכולים להקצות את קבוצות המכונות הווירטואליות באמצעות אחת מהשיטות הבאות, ואז לשלב את מתזמן עומסי העבודה שלכם לפי הצורך:

סוגי פריסה של בלוקים של הזמנות

אם משתמשים במודל הקצאת משאבים שמוגבל להזמנה כשיוצרים מכונות או אשכולות של 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.

  • אתם רוצים להריץ אימונים או עומסי עבודה אחרים של מחשוב מקבילי מאוד.

קביעת מועד חדש לתחזוקה

סוג התזמון העצמאי הזה מאפשר להגדיר למופעים לוחות זמנים שונים לתחזוקה. ההגדרה הזו מתאימה במיוחד אם רוצים להריץ הסקה או אימון בהיקף מוגבל, שבהם עומסי העבודה פועלים בצורה יעילה יותר כשיש להם לוחות זמנים נפרדים לתחזוקה.

מה השלב הבא?