צירוף אחסון בלוקים עמיד ל-TPU VM
מכונת TPU וירטואלית כוללת דיסק אתחול בנפח 10GB. במקרים מסוימים נדרש נפח אחסון נוסף לאימון או לעיבוד מקדים. מוסיפים נפח אחסון של Google Cloud Hyperdisk או של Persistent Disk (PD) כדי להגדיל את הקיבולת של הדיסק המקומי.
כדי ליהנות מהביצועים הכי טובים ומהתכונות המתקדמות, כדאי להשתמש ב-Hyperdisk אם הוא זמין לגרסת ה-TPU שלכם. אחרת, צריך להשתמש בדיסק של אחסון מתמיד. מידע נוסף על אפשרויות אחסון בלוקים ב-Compute Engine זמין במאמר בחירת סוג דיסק.
תמיכה ב-TPU ב-Hyperdisk וב-Persistent Disk
בטבלה הבאה מוצגים סוגי הדיסקים הנתמכים לכל גרסת TPU:
| גרסת TPU | סוגי דיסקים נתמכים | מספר הדיסקים המקסימלי לכל מכונה וירטואלית (כולל דיסק האתחול) |
|---|---|---|
| TPU7x | Hyperdisk Balanced Hyperdisk ML |
128 |
| v6e | Hyperdisk Balanced Hyperdisk ML |
32 |
| v5p | Hyperdisk ML Balanced Persistent Disk |
128 |
מצבי גישה
הגדרת דיסק שמצורף למכונת TPU VM יחידה (שנקראת גם פרוסת TPU של מארח יחיד),
לדוגמה, ct6e-standard-4t, במצב קריאה-כתיבה (rw) או במצב קריאה בלבד (ro).
כשמצרפים דיסק לפרוסת TPU עם כמה מארחים, הדיסק מחובר לכל מכונה וירטואלית בפרוסה. כדי למנוע ממספר מכונות TPU וירטואליות לכתוב לדיסק בו-זמנית, צריך להגדיר את כל הדיסקים שמצורפים לפרוסת TPU מרובת-מארחים כקריאה בלבד (ro). דיסקים לקריאה בלבד שימושיים לאחסון מערך נתונים לעיבוד בפרוסת TPU.
דרישות מוקדמות
לפני שמשתמשים בהליכים האלה, צריך להגדיר חשבון ופרויקט ב- Google Cloud . מידע נוסף זמין במאמר בנושא הגדרת סביבת Cloud TPU.
יצירת דיסק
כדי ליצור דיסק, משתמשים בפקודה הבאה:
gcloud compute disks create DISK_NAME \
--size DISK_SIZE \
--zone ZONE \
--type DISK_TYPE
מחליפים את ה-placeholders הבאים:
- DISK_NAME: השם של הדיסק החדש.
- DISK_SIZE: הגודל של הדיסק החדש. הערך חייב להיות מספר שלם שאחריו יחידת גודל של GB לגיביבייט או TB לטביבייט. אם לא מציינים יחידת גודל, המערכת מניחה שמדובר ב-GB.
- ZONE: השם של האזור שבו רוצים ליצור את הדיסק החדש. האזור הזה צריך להיות זהה לאזור שבו אתם יוצרים את ה-TPU.
- DISK_TYPE: סוג הדיסק.
משתמשים באחד מהערכים הבאים:
hyperdisk-balanced,hyperdisk-mlאוpd-balanced.
ב-Hyperdisk, אפשר לציין את הדגל --access-mode עם אחד מהערכים הבאים:
- READ_WRITE_SINGLE: גישת קריאה וכתיבה ממופע אחד (ברירת מחדל).
- READ_ONLY_MANY: (Hyperdisk ML בלבד) גישה בו-זמנית לקריאה בלבד ממספר מופעים.
מידע נוסף על יצירת דיסקים זמין במאמרים יצירת נפח Hyperdisk חדש ויצירת נפח Persistent Disk חדש.
צירוף דיסק
אפשר לצרף נפח דיסק ל-TPU VM או לפלח כשיוצרים אותו, או לצרף אותו אחרי היצירה.
צירוף דיסק כשיוצרים TPU VM
כשיוצרים מכונה וירטואלית של TPU או תבנית של הגדרות מכונה, משתמשים בדגל --disk כדי לצרף נפח דיסק.
צירוף דיסק כשיוצרים מכונת TPU VM יחידה
בדוגמה הבאה אפשר לראות איך לצרף נפח דיסק כשיוצרים מכונת TPU וירטואלית יחידה:
gcloud compute instances create TPU_NAME \
--machine-type=MACHINE_TYPE \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--zone=ZONE \
--maintenance-policy=TERMINATE \
--disk=name=DISK_NAME,device-name=DEVICE_NAME,mode=MODE
מחליפים את ה-placeholders הבאים:
- TPU_NAME: שם למכונת ה-TPU הווירטואלית.
- MACHINE_TYPE: סוג המכונה של מכונת ה-TPU הווירטואלית (לדוגמה
ct6e-standard-8t). - IMAGE_FAMILY: משפחת תמונות מערכת ההפעלה של ה-TPU VM. אם רוצים להתקין גרסה ספציפית של מערכת ההפעלה, משתמשים בדגל
--image. מידע נוסף על תמונות של מערכת ההפעלה זמין במאמר תמונות של מערכת ההפעלה. - IMAGE_PROJECT: הפרויקט שמכיל את תמונת מערכת ההפעלה.
בתמונות TPU, הערך הוא
ubuntu-os-accelerator-images. - ZONE: האזור של מכונת ה-TPU הווירטואלית.
- DEVICE_NAME: השם של המכשיר שבו רוצים להשתמש בדיסק. השם הזה מזהה את הדיסק במערכת ההפעלה.
- MODE: המצב של הדיסק. האפשרות יכולה להיות
rw(קריאה וכתיבה) אוro(קריאה בלבד). מידע נוסף זמין במאמר בנושא מצבי גישה.
צירוף דיסק כשיוצרים פלח TPU עם כמה מארחים
כשיוצרים פלח TPU עם כמה מארחים, צריך לציין mode=read-only (רק ב-Hyperdisk ML וב-דיסק אחסון מתמיד מאוזן). מידע נוסף מופיע במאמר בנושא מצבי גישה.
כדי לחבר דיסק ל-TPU slice עם כמה מארחים, צריך ליצור תבנית של הגדרות מכונה עם הדיסק המצורף, ליצור מדיניות של עומס עבודה ואז ליצור קבוצת MIG:
יצירת תבנית של הגדרות מכונה
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME --machine-type=MACHINE_TYPE \ --maintenance-policy=TERMINATE \ --image-family=IMAGE_FAMILY \ --image-project=IMAGE_PROJECT \ --disk=name=DISK_NAME,mode=MODEמחליפים את ה-placeholders הבאים:
- INSTANCE_TEMPLATE_NAME: השם של תבנית הגדרות המכונה.
- MACHINE_TYPE: סוג המכונה של מכונת ה-TPU VM, לדוגמה,
ct6e-standard-8t. - IMAGE_FAMILY: משפחת תמונות מערכת ההפעלה של מכונת ה-TPU. אם רוצים להתקין גרסה ספציפית של מערכת ההפעלה, משתמשים בדגל
--image. מידע נוסף על תמונות של מערכת ההפעלה זמין במאמר תמונות של מערכת ההפעלה. - IMAGE_PROJECT: הפרויקט שמכיל את תמונת מערכת ההפעלה.
בתמונות TPU, הערך הוא
ubuntu-os-accelerator-images. - DISK_NAME: השם של הדיסק לחיבור ל-TPU VM.
- MODE: המצב של הדיסק. המצב חייב להיות
ro(קריאה בלבד) לפרוסות TPU מרובות מארחים.
יצירת מדיניות של עומס עבודה
gcloud compute resource-policies create workload WORKLOAD_POLICY_NAME \ --type=high-throughput \ --accelerator-topology=TOPOLOGYמחליפים את ה-placeholders הבאים:
- WORKLOAD_POLICY_NAME: השם של מדיניות עומס העבודה.
- TOPOLOGY: הטופולוגיה של מכונות ה-TPU הווירטואליות, לדוגמה,
4x4x8. מידע נוסף על טופולוגיה לכל גרסה של TPU זמין במאמר בנושא ארכיטקטורת מערכת.
יוצרים MIG:
gcloud compute instance-groups managed create MIG_NAME \ --project=PROJECT_ID \ --zone=ZONE \ --template=TEMPLATE_NAME \ --size=SIZE \ --workload-policy=WORKLOAD_POLICY_NAMEמחליפים את ה-placeholders הבאים:
- MIG_NAME: השם של קבוצת ה-MIG.
- PROJECT_ID: מזהה הפרויקט.
- ZONE: האזור שבו נמצא ה-Cloud TPU.
- TEMPLATE_NAME: השם של תבנית של הגדרות מכונה.
- SIZE: מספר המכונות הווירטואליות בפרוסת TPU מרובת-מארחים.
- WORKLOAD_POLICY_NAME: השם של מדיניות עומס העבודה.
צירוף דיסק כשיוצרים קבוצת MIG עם כמה פרוסות TPU של מארח יחיד
אם יוצרים פרוסת TPU עם מארח יחיד, אפשר לציין mode=read-only (רק Hyperdisk ML ו-דיסק אחסון מתמיד מאוזן) או mode=read-write.
כדי לחבר אחסון עמיד ל-MIG עם פרוסות TPU עצמאיות של מארח יחיד, צריך להגדיר את תבנית של הגדרות מכונה ליצירת דיסק חדש לכל מכונה באמצעות הדגל --create-disk:
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
--machine-type=MACHINE_TYPE \
--maintenance-policy=TERMINATE \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--disk=name=DISK_NAME,mode=MODE
מחליפים את ה-placeholders הבאים:
- INSTANCE_TEMPLATE_NAME: השם של תבנית של הגדרות מכונה.
- MACHINE_TYPE: סוג המכונה של ה-TPU VM (לדוגמה,
ct6e-standard-8t). - IMAGE_FAMILY: משפחת תמונות מערכת ההפעלה של ה-TPU VM.
- IMAGE_PROJECT: הפרויקט שמכיל את תמונת מערכת ההפעלה (
ubuntu-os-accelerator-images). - DISK_NAME: שם הבסיס של הדיסק שייווצר ויצורף לכל מכונת TPU VM.
- DISK_SIZE: גודל הדיסק ב-GB.
- DISK_TYPE: סוג הדיסק (לדוגמה,
pd-balanced, hyperdisk-balanced).
לאחר מכן, יוצרים את ה-MIG כמו שמוסבר בקטע הקודם, ומגדירים את --size למספר מכונות ה-TPU הווירטואליות שבחרתם.
צירוף דיסק ל-TPU VM קיים
כדי לצרף דיסק ל-TPU VM קיים, משתמשים בפקודה gcloud compute instances attach-disk.
gcloud compute instances attach-disk VM_NAME \
--zone=ZONE \
--disk=DISK_NAME \
--mode=MODE
מחליפים את ה-placeholders הבאים:
- VM_NAME: השם של מכונת ה-TPU.
- ZONE: האזור שבו נמצא Cloud TPU.
- DISK_NAME: השם של הדיסק לחיבור ל-TPU VM.
- MODE: המצב של הדיסק. מידע נוסף מופיע במאמר בנושא מצבי גישה.
אם המכונה הווירטואלית מושבתת מסיבה כלשהי, יכול להיות שתצטרכו לטעון את הדיסק אחרי שתפעילו מחדש את המכונה הווירטואלית. מידע על הפעלת ההרכבה האוטומטית של הדיסק בהפעלה מחדש של מכונת ה-VM זמין במאמר הגדרת הרכבה אוטומטית בהפעלה מחדש של המערכת.
מידע נוסף על מחיקה אוטומטית של דיסק זמין במאמרים שינוי של Hyperdisk ושינוי של Persistent Disk.
פירמוט והרכבה של דיסק
אם מצרפים ל-TPU VM דיסק חדש וריק, צריך לפרמט את הדיסק ולטעון אותו לפני שמשתמשים בו. אם מצרפים דיסק שכבר מכיל נתונים, צריך לבצע פעולת mount לפני שניתן להשתמש בו.
מידע נוסף על עיצוב והרכבה של דיסק שאינו דיסק אתחול זמין במאמר עיצוב והרכבה של דיסק שאינו דיסק אתחול במכונה וירטואלית של Linux.
ניתוק דיסק
כדי לנתק דיסק ממכונת TPU VM, מריצים את הפקודה הבאה:
gcloud compute instances detach-disk VM_NAME \
--zone=ZONE \
--disk=DISK_NAME
מחליפים את ה-placeholders הבאים:
- VM_NAME: השם של מכונת ה-TPU.
- ZONE: האזור שבו נמצא ה-Cloud TPU.
- DISK_NAME: השם של הדיסק לניתוק מ-VM של TPU.
מידע נוסף על ניתוק דיסק זמין במאמר ניתוק דיסק.
הסרת המשאבים
מומלץ למחוק את משאבי Cloud TPU ו-Compute Engine כשמסיימים להשתמש בהם.
מתנתקים מ-Cloud TPU, אם עדיין לא עשיתם זאת:
exitמחיקת TPU VM:
gcloud compute instances delete VM_NAME \ --zone=ZONEמחליפים את ה-placeholders הבאים:
- VM_NAME: השם של מכונת ה-TPU.
- ZONE: האזור שבו נמצא ה-Cloud TPU.
אם יצרתם פלח TPU מרובה מארחים באמצעות MIG, צריך למחוק את קבוצת המופעים במקום זאת:
gcloud compute instance-groups managed delete MIG_NAME \ --zone=ZONEמחליפים את ה-placeholders הבאים:
- MIG_NAME: השם של ה-MIG.
- ZONE: האזור שבו נמצא ה-Cloud TPU.
מאמתים את המחיקה של Cloud TPU. תהליך המחיקה עשוי להימשך כמה דקות.
gcloud compute instances list --zone=ZONEכדי לוודא שהדיסק נמחק אוטומטית כשמכונת ה-TPU הווירטואלית נמחקת, מריצים את הפקודה הבאה כדי להציג את כל הדיסקים באזור שבו יצרתם את הדיסק:
gcloud compute disks list --filter="zone:( ZONE )"מחליפים את ה-placeholders הבאים:
- ZONE: האזור שבו נמצא ה-Cloud TPU.
אם הדיסק לא נמחק כשמחקתם את מכונת ה-TPU, אתם יכולים להשתמש בפקודה הבאה כדי למחוק אותו:
gcloud compute disks delete DISK_NAME \ --zone=ZONEמחליפים את ה-placeholders הבאים:
- DISK_NAME: השם של הדיסק שרוצים למחוק.
- ZONE: האזור שבו נמצא ה-Cloud TPU.