טיפול באירועי תחזוקה של מארח GPU

במאמר הזה מוסבר איך לצמצם את ההפרעות לעומסי העבודה של ה-GPU במהלך אירוע תחזוקה.

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

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

בדרך כלל אירועי תחזוקה של המארח מתרחשים אחת לשבועיים, אבל לפעמים הם עשויים להתבצע בתדירות גבוהה יותר. יכול להיות שיעברו עד שעה מרגע הכשל או שגיאות במארח ועד להפסקת פעילות של מופעי מחשוב עם יחידות GPU מצורפות.

קבלת הודעה מראש לפני אירועי תחזוקה

אתם יכולים לעקוב אחרי לוח הזמנים של התחזוקה של מכונת Compute Engine, ולהכין את עומסי העבודה למעבר במהלך ההפעלה מחדש של המערכת.

כדי לקבל הודעה מראש על אירועים של מארחים, צריך לעקוב אחרי ערך המטא-נתונים /computeMetadata/v1/instance/maintenance-event. אם הבקשה לשרת המטא-נתונים מחזירה NONE, סימן שהמכונה לחישוב לא מתוזמנת להפסיק. לדוגמה, מריצים את הפקודה הבאה מתוך מופע של Compute:

curl http://metadata.google.internal/computeMetadata/v1/instance/maintenance-event -H "Metadata-Flavor: Google"

NONE

אם שרת המטא-נתונים מחזיר TERMINATE_ON_HOST_MAINTENANCE, המשמעות היא שהמכונה שלכם ב-Compute מתוזמנת לעצירה. למופעי מחשוב שמצורפים אליהם GPUs, ‏ Compute Engine מספק את ההודעה הזו שעה לפני שמופעי המחשוב מפסיקים לפעול.

בסדרות מסוימות של מכונות עם GPU, כמו A3, ‏ Compute Engine מספק הודעה על תחזוקה קרובה יותר משעה מראש באמצעות מאפיין המטא-נתונים upcoming-maintenance. מידע נוסף זמין במאמר מעקב ותכנון של אירוע תחזוקה של מארח.

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

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

העברת הנתונים הזמניים מדיסקים של SSD מקומי

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

  • מגדירים את האפליקציה כך שתעביר באופן זמני עבודה בתהליך לקטגוריה של Cloud Storage, ואז מאחזרים את הנתונים האלה אחרי שמפעילים מחדש את מכונת החישוב.

  • כתיבת נתונים לדיסק אחסון מתמיד משני. כשמופע המחשוב מופעל מחדש באופן אוטומטי, אפשר לצרף מחדש את ה-Persistent Disk והאפליקציה יכולה להמשיך לפעול.

מה השלב הבא?