משאבי Cloud TPU ב-Compute Engine

אפשר ליצור ולנהל יחידות TPU באמצעות משאבי Compute Engine. בדף הזה מובאת סקירה כללית על השימוש ב-TPU עם Compute Engine. המאמר ממפה את המושגים של Cloud TPU למשאבים של Compute Engine ומתאר את תהליך המעבר ל-Compute Engine.

מושגים עיקריים ב-Cloud TPU

כדי לנהל משאבי TPU ב-Compute Engine, כדאי להבין את המושגים העיקריים הבאים שקשורים ל-TPU:

  • TPU VM: מכונה וירטואלית שמתחברת ישירות לחומרת ה-TPU. מכונת TPU וירטואלית אחת זהה לפרוסת TPU במארח יחיד.
  • TPU slice: קבוצה לוגית של שבבי TPU שמחוברים זה לזה, שאפשר לגשת אליהם דרך מכונה וירטואלית אחת או יותר של TPU. ב-TPU API, פרוסת TPU יחידה מיוצגת על ידי אובייקט Node או QueuedResource REST. לפרוסות יש אחת מההגדרות הבאות:
    • פרוסת נתונים של מארח יחיד: פרוסת נתונים שמורכבת ממכונת מארח אחת. פרוסת TPU במארח יחיד היא דרך נוספת להתייחס ל-TPU VM יחיד.
    • פרוסת מולטי-מארחים: פרוסה שמורכבת מכמה מכונות וירטואליות של TPU שמחוברות ביניהן באמצעות חיבור מהיר בין שבבים (ICI).
כשמנהלים משאבי TPU ב-Compute Engine, לא משתמשים באובייקטים הבאים של Cloud TPU API, אבל הם מספקים הקשר מועיל אם אתם מכירים את Cloud TPU API מדור קודם:

  • Node: אובייקט REST מ-Cloud TPU API מדור קודם שמייצג פרוסת TPU אחת. ב-Compute Engine, המיפוי הזה מתבצע למכונה וירטואלית או לקבוצת מופעי מכונה מנוהלים (MIG).
  • QueuedResource: אובייקט REST מ-Cloud TPU API מדור קודם שמייצג פרוסות TPU אחת או יותר. משאבים בתור משמשים לבקשה ולניהול של קיבולת TPU דרך תור. ב-Compute Engine, מכונות וירטואליות עם Flex-start מספקות פונקציונליות דומה.

מפת מושגים של TPU ו-Compute Engine

בטבלה הבאה מתואר המיפוי של מושגי TPU למשאבים של Compute Engine:

מושג Cloud TPU משאב Compute Engine פרטי המשאבים תרחיש שימוש
TPU VM מופע ב-VM מכונה וירטואלית ב-Compute Engine שמספקת גישה ישירה לחומרת TPU. משימות של מכונה וירטואלית ספציפית, הרצת פקודות SSH או ניפוי באגים
פרוסת TPU של מארח יחיד או תת-מארח מכונת VM או קבוצת מופעי מכונה מנוהלים (MIG) עם מכונת VM אחת הגדרה שכוללת מחשב מארח פיזי אחד. הסקת מסקנות עם התאמה אוטומטית לעומס
פרוסת TPU עם מספר מארחים MIG עם טופולוגיית מאיץ שצוינה במדיניות עומס העבודה קבוצה של מכונות וירטואליות של TPU שמחוברות ביניהן באמצעות ICI ומנוהלות כיחידה לוגית אחת. אימון מבוזר בקנה מידה גדול שדורש הקצאה אטומית

מעבר מ-Cloud TPU API

הפיתוח של Cloud TPU API כבר לא פעיל. הם כוללים את Google Cloud CLI ל-Cloud TPU API ואת ספריות הלקוח ב-Cloud ל-Cloud TPU API. ממשק Cloud TPU API יקבל רק תיקוני באגים ועדכוני אבטחה. דורות חדשים של חומרה, החל מ-TPU7x ‏ (Ironwood), נתמכים רק דרך Compute Engine או Google Kubernetes Engine ‏ (GKE). כדי להשתמש בתכונות העדכניות ביותר ולקבל תמיכה בגרסאות העדכניות ביותר של TPU, צריך להחליף את הקריאות הקודמות ל-Cloud TPU API בקריאות שוות ערך ב-Compute Engine או ב-GKE.

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

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

משאבי TPU קיימים

משאבי TPU שנוצרו באמצעות Cloud TPU API (אובייקטים של Node או QueuedResource REST) לא תואמים ל-Compute Engine ול-GKE. כדי להתחיל להשתמש ב-Compute Engine או ב-GKE:

  • לשכתב את כל הסקריפטים שמשתמשים ב-Cloud TPU API כדי להשתמש ב-Compute Engine או ב-GKE APIs.
  • מחיקת משאבים באמצעות Cloud TPU API ויצירה מחדש שלהם באמצעות Compute Engine או GKE APIs.

מגבלות

יש מגבלות מסוימות לשימוש ב-TPU ב-Compute Engine:

  • גרסאות TPU: ‏ Compute Engine תומך בגרסאות v5p,‏ v6e ו-TPU7x.
  • מצב קיבולת: מצב כל הקיבולת של TPU לא זמין ב-Compute Engine.
  • Multislice: אי אפשר ליצור קבוצות של חלקי TPU מרובי-מארחים שמחוברים זה לזה באמצעות Compute Engine. כדי להשתמש ב-Multislice, צריך להשתמש ב-Google Kubernetes Engine‏ (GKE). מידע נוסף זמין במאמר בנושא פריסת TPU Multislices ב-GKE.
  • Collections: אי אפשר לתזמן אוספים ב-Compute Engine. כדי להשתמש בתזמון איסוף, צריך להשתמש ב-GKE. מידע נוסף זמין במאמר בנושא תזמון איסוף במאמרי העזרה של GKE.

המאמרים הבאים