שחזור במקרה של כשל במופעי TPU
כדי שעומסי העבודה ימשיכו לפעול, מערכת Compute Engine משחזרת מכונות וירטואליות ופרוסות של TPU מכשלים בחומרה ובאפליקציות.
התנהגות השחזור במקרה של כשל תלויה במצב הקיבולת:
- מצב קיבולת מנוהל (הזמנות על פי דרישה, הזמנות עם הפעלה גמישה והזמנות רגילות): מערכת Compute Engine משחזרת באופן אוטומטי את מכונות ה-TPU ואת חלקי ה-TPU על ידי הפעלה מחדש שלהם בחומרה תקינה.
- מצב 'כל הקיבולת' (הזמנות במצב 'כל הקיבולת'): אתם מנהלים את השחזור של חלקי ה-TPU. תיקון כשלים בחומרה מתבצע במארח הקיים בלי להעביר באופן אוטומטי את המופעים לחומרה חדשה.
דרישות לשחזור פרוסות של כמה מארחים
בפרוסות TPU עם כמה מארחים, צריך לשחזר את כל המופעים בפרוסה או לתזמן אותם מחדש יחד. בין אם Compute Engine מטפל אוטומטית בשחזור במצב קיבולת מנוהלת, ובין אם אתם משחזרים פרוסות באופן ידני במצב 'כל הקיבולת', אי אפשר לתזמן מחדש מכונות וירטואליות בודדות בתוך פרוסה.
מכונות בפריסה של כמה מארחים מחוברות באמצעות חיבור בין-שבבי (ICI) ובמקרים מסוימים באמצעות מתג מעגלים אופטיים (OCS). כשמבצעים הקצאה של פרוסת TPU מרובת-מארחים, Compute Engine יוצרת מכונות TPU ומפעילה את רשת ה-ICI. כדי לציין את הטופולוגיה של הרשת בפרוסת הרשת, מגדירים את הטופולוגיה של המאיץ במדיניות עומס העבודה. כשעומס עבודה מתחיל, LibTPU, שכבת התוכנה הבסיסית של TPU, מאתחלת את טופולוגיית הרשת. כברירת מחדל, קומפיילר ה-XLA ממפה באופן סטטי את הפעולות של המודל לטופולוגיה הזו.
אם קישור לרשת או למופע נכשל, החומרה הפיזית כבר לא תואמת לטופולוגיה הממופה. כתוצאה מכך, קומפיילר XLA לא יכול להריץ את עומס העבודה עד שהמערכת מגדירה מחדש את טופולוגיית הרשת על ידי יצירה מחדש או תזמון מחדש של כל המופעים בפרוסה.
שחזור לאחר כשל במצב קיבולת מנוהלת
במצב קיבולת מנוהלת (כולל הזמנות על פי דרישה, הזמנות גמישות והזמנות רגילות), מערכת Compute Engine משחזרת באופן אוטומטי פרוסות ומופעים של TPU מכשלים בחומרה ובמארח, על ידי הפעלה מחדש שלהם בחומרה תקינה.
שחזור אוטומטי של פלח TPU עם מארח יחיד
פרוסות של מארח יחיד הן מופעי TPU עצמאיים. כברירת מחדל, מערכת Compute Engine משחזרת באופן אוטומטי מכונות שנכשלו על ידי הפעלה מחדש של המכונות בחומרה תקינה. ההתנהגות הזו נשלטת על ידי הגדרת ההפעלה מחדש האוטומטית, שמופעלת כברירת מחדל כשיוצרים מכונות וירטואליות, למעט מכונות וירטואליות מסוג Spot. אם משביתים את ההפעלה האוטומטית מחדש, כשל במכונה גורם למכונה להיכנס למצב TERMINATED. מידע נוסף זמין במאמר בנושא הפעלה מחדש אוטומטית.
מערכת Compute Engine משחזרת באופן אוטומטי מכונה שנכשלה בתרחישים כמו:
- זמן קצוב לתגובה של מארח או שגיאה שנגרמו בגלל שהמכונה הפיזית לא הגיבה, כיבוי המארח, הפעלה מחדש של המארח או הפסקת חשמל במארח
- אירועי תחזוקה של מארח פיזי שאתם או Google יזמו
- כשל בחיבור בין שבבים (ICI) בתוך מארח
- קריסת מכונה וירטואלית
מערכת Compute Engine לא משחזרת באופן אוטומטי מכונות וירטואליות בתרחישים של סיום מתוכנן, כולל:
- מחיקת מכונה
- מחיקה או תפוגה של הזמנה
- הפסקת פעולה של מכונות וירטואליות במודל Spot
תיקון שמתבצע על ידי MIG בפרוסות של מארח יחיד
ב-MIG עם פרוסות של מארח יחיד, אם מופע TPU בפרוסה של מארח יחיד עובר למצב TERMINATED בגלל כשלים בחומרה או אירועים חיצוניים כמו הפסקת שימוש במכונות וירטואליות מסוג Spot, ה-MIG מתקן את המופע כברירת מחדל.
במהלך תיקון, ה-MIG יוצר מחדש את המופע עם אותו שם. אפשר להשבית את מנגנון התיקון הזה אם משביתים את התיקונים.
אפשר גם להגדיר בדיקת תקינות מבוססת-אפליקציה ב-MIG עם פרוסות של מארח יחיד. אם בדיקת התקינות מזהה שהאפליקציה לא מגיבה, קבוצת ה-MIG מסמנת את המופע כלא תקין ומתקנת אותו באופן אוטומטי על ידי יצירה מחדש שלו.
מידע נוסף זמין במאמרים מידע על תיקון מכונות וירטואליות לזמינות גבוהה והגדרת בדיקת תקינות של אפליקציה ותיקון אוטומטי.
שחזור אוטומטי של פלח עם כמה מארחים
ב-TPU במצב מנוהל, כשמשתמשים במודלים של צריכה לפי דרישה, הפעלה גמישה או שמירת מקום, Compute Engine משחזר באופן אוטומטי מקרים של כשל במכונות וירטואליות בפלח של מספר מארחים.
במהלך השחזור, Compute Engine מזהה קבוצה של מכונות TPU שיכולות ליצור את טופולוגיית הרשת, מפעיל מחדש את כל המופעים בפרוסת ה-TPU יחד במכונות האלה ומגדיר מחדש את הרשת. התהליך הזה מצמצם את זמן ההשבתה כי הוא יוצר מחדש את הטופולוגיה בחומרה תקינה שזמינה, במקום לחכות לתיקוני חומרה.
תהליך השחזור ומצבי הפרוסות
במהלך שחזור אוטומטי, הפרוסה עוברת בין המצבים הבאים:
- הפרוסה עוברת למצב
REACTIVATING. - כל המופעים בפלח עוברים למצב
REPAIRING, אבל לא בהכרח באותו הזמן. - Compute Engine מפעיל מחדש את כל המכונות בפרוסה יחד בחומרה תקינה.
מידע נוסף על מצבי פרוסות TPU זמין במאמר מצבי טופולוגיה של מאיצים.
תרחישים שבהם נדרש שחזור ידני של פרוסות במצב קיבולת מנוהלת
Compute Engine לא יכול לשחזר באופן אוטומטי פלח של כמה מארחים בתרחישים הבאים:
- הפסקת פעולה של מכונות וירטואליות מסוג Spot: אם מתבצעת הפסקת פעולה של מופע כלשהו בפלח, Compute Engine מפסיק את כל המופעים בפלח, והפלח עובר למצב
FAILED. - הפרעות שנובעות מפעולות של המשתמש: אם מפסיקים או מוחקים מופע TPU, או מפסיקים מופע מתוך מערכת ההפעלה, הפלח עובר למצב
FAILED. הפרוסה נשארת במצבFAILEDעד שיוצרים אותה מחדש.
במקרים כאלה, צריך לשחזר את הפלח באופן ידני.
שחזור לאחר כשל במצב 'כל הקיבולת'
במצב 'כל הקיבולת', אתם אחראים לניהול תהליך השחזור של פרוסת ה-TPU. בניגוד למצב קיבולת מנוהלת, מערכת Compute Engine לא מעבירה באופן אוטומטי מופעי TPU שנכשלו או חלקי TPU מרובי-מארחים לחומרה פיזית חדשה. Google מתקנת את החומרה הבסיסית שנכשלה במארח הקיים, ואתם אחראים לתזמן מחדש את הפרוסות הלא תקינות לחומרה חלופית תקינה שהשארתם בצד בהזמנה.
כשל במארח ותיקון מארח פגום
אם מתרחשת כשל במארח או אם מדווחים על מארח של מכונה וירטואלית כפגום, תהליך תיקון המארח פועל באופן הבא:
- המכונה הווירטואלית המושפעת עוברת למצב
REPAIRINGבזמן שהחומרה הפיזית מתוקנת. - אחרי שהחומרה הבסיסית תתוקן, המכונה הווירטואלית תחזור למצב
RUNNINGבאותו מארח. עם זאת, אם ה-VM שייך לפרוסת מולטי-מארח, הפרוסה נשארת במצב FAILED. צריך לשחזר את הפרוסה באופן ידני.
מידע נוסף זמין במאמר דיווח על מארחי TPU פגומים ותיקון שלהם במצב 'כל הקיבולת'.
תחזוקה דחופה
במהלך אירועי תחזוקה דחופים או כשמפעילים אירוע תחזוקה באופן ידני:
- המכונות הווירטואליות עוברות מהמצב
RUNNINGלמצבREPAIRING. - אחרי שהתחזוקה מסתיימת, מכונות ה-VM חוזרות למצב
RUNNINGבאותו מארח.
מידע נוסף זמין במאמר בנושא ניהול אירועי תחזוקה במצב 'כל הקיבולת'.
תרחישי כשל בפרוסות עם כמה מארחים
במצב 'כל הקיבולת', מערכת Compute Engine לא משחזרת אוטומטית פלח של כמה מארחים. פרוסת נתונים עוברת למצב FAILED בתרחישים הבאים:
- כשל ב-ICI: המכונות הווירטואליות נשארות במצב
RUNNING, אבל מצב הפרוסה משתנה למצבFAILED. - הפסקת פעולה של מכונות וירטואליות מסוג Spot: אם מתבצעת הפסקת פעולה של מופע כלשהו בפלח, Compute Engine מפסיק את כל המופעים בפלח, והפלח עובר למצב
FAILED. - הפרעות שנובעות מפעולות של המשתמש: אם מפסיקים או מוחקים מופע TPU, או מפסיקים מופע מתוך מערכת ההפעלה, הפלח עובר למצב
FAILED.
כשפרוסת נתונים עוברת למצב FAILED, צריך לשחזר אותה באופן ידני על ידי תזמון מחדש של כל המופעים בפרוסה.
שחזור ידני של פלח TPU
כשפרוסת TPU במצב קיבולת מנוהלת או במצב 'כל הקיבולת' נמצאת במצב FAILED, צריך לשחזר אותה באופן ידני על ידי תזמון מחדש של כל המכונות בפרוסה באחת מהשיטות הבאות:
- משנים את הגודל של ה-MIG לגודל היעד
0, ואז מגדילים אותו לגודל הנדרש. - מוחקים את ה-MIG ויוצרים מחדש את הפרוסה.
המאמרים הבאים
כדי לוודא שהתאוששות מכישלון של TPU פועלת, בודקים את הסטטוסים הבאים: