שיתוף הזמנה של Cloud TPU
במאמר הזה מוסבר איך להפעיל שיתוף של הזמנות. שיתוף הזמנות מאפשר לכם ליצור הזמנה של Cloud TPU בפרויקט אחד (פרויקט הבעלים) ולהשתמש בהזמנה הזו בפרויקט אחר (פרויקט הצרכן) באותו ארגון שבו נמצא פרויקט הבעלים. שיתוף הזמנות מאפשר גם להריץ משימות אימון בהתאמה אישית או משימות חיזוי ב-Vertex AI באמצעות הזמנה של TPU.
פרויקט הבעלים הוא הפרויקט שבו יצרתם את המקום השמור. פרויקטים צרכניים הם פרויקט אחד או יותר שחולקים את ההזמנה. אתם יכולים ליצור מכונות TPU וירטואליות בפרויקט הבעלים ובפרויקטים הצרכניים באמצעות ההזמנה בפרויקט הבעלים.
מידע נוסף על קבלת הזמנה של TPU זמין במאמר מידע על הזמנות של Cloud TPU.
מגבלות
לפני שמשתפים הזמנת TPU, כדאי לשים לב לנקודות הבאות:
אפשר לשנות הזמנה משותפת רק מפרויקט הבעלים שלה.
אפשר לשנות הזמנה לטווח קצר במצב יומן או הזמנה לטווח ארוך רק באופן הבא:
אפשר לשנות את ההזמנה רק אחרי שעת ההתחלה שלה.
אפשר לשנות את השמירה רק כדי לאפשר או לא לאפשר למשימות ב-Vertex AI להשתמש בה.
שיתוף הזמנה של Cloud TPU
בקטעים הבאים מתוארות השיטות השונות לשיתוף הזמנה.
הפעלת שיתוף של הזמנת TPU
אפשר ליצור מכונות וירטואליות של TPU בפרויקט לצרכן באמצעות הזמנה בבעלות של פרויקט אחר. כל הפרויקטים שמשתמשים באותו שובר TPU צריכים להיות חלק מאותו ארגון.
כדי להפעיל שיתוף של הזמנת TPU:
נותנים לפרויקט הבעלים הרשאה ליצור ולשנות הזמנות משותפות באמצעות הפקודה
gcloud resource-manager org-policies allow:gcloud resource-manager org-policies allow \ compute.sharedReservationsOwnerProjects \ projects/OWNER_PROJECT_NUMBER --organization=ORGANIZATION_ID
מחליפים את מה שכתוב בשדות הבאים:
- OWNER_PROJECT_NUMBER: מספר הפרויקט (לא מזהה הפרויקט) של פרויקט בארגון שרוצים לאפשר לו ליצור ולשנות הזמנות משותפות.
- ORGANIZATION_ID: מזהה משאב הארגון של הארגון.
מפעילים את האפשרות של חלוקת ההנחות תמורת התחייבות לשימוש דרך מסוף Google Cloud . ההוראות מפורטות במאמר בנושא הפעלת שיתוף של הנחות תמורת התחייבות לשימוש במשאבים.
כדי להפעיל שיתוף, משתמשים בפקודה
gcloud beta compute reservations updateעם הדגלים--share-setting=projectsו---share-with:gcloud beta compute reservations update RESERVATION_NAME \ --project=OWNER_PROJECT_ID \ --share-setting=projects \ --share-with=CONSUMER_PROJECT_IDS \ --zone=ZONE
מחליפים את מה שכתוב בשדות הבאים:
- RESERVATION_NAME: השם של ההזמנה.
- OWNER_PROJECT_ID: מזהה הפרויקט שמכיל את ההזמנה.
- CONSUMER_PROJECT_IDS: רשימה מופרדת בפסיקים של מזהי פרויקטים שיכולים להשתמש בהזמנה הזו. לדוגמה,
project-1,project-2. אפשר לכלול עד 100 פרויקטים לצרכן. הפרויקטים האלה צריכים להיות באותו ארגון כמו פרויקט הבעלים. לא כוללים את פרויקט הבעלים. כברירת מחדל, הפרויקט הבעלים כבר יכול להשתמש במקום השמור. - ZONE: האזור שבו נמצאת ההזמנה.
השבתת השיתוף של הזמנת TPU
כדי להשבית את השיתוף של הזמנת TPU עם רשימה של פרויקטים צרכניים, משתמשים בפקודה gcloud beta compute reservations
update עם הדגלים --share-setting=projects ו---remove-share-with:
gcloud compute reservations update RESERVATION_NAME \ --project=OWNER_PROJECT_ID \ --share-setting=projects \ --remove-share-with=CONSUMER_PROJECT_IDS \ --zone=ZONE
מחליפים את מה שכתוב בשדות הבאים:
- RESERVATION_NAME: השם של ההזמנה.
- OWNER_PROJECT_ID: מזהה הפרויקט שמכיל את ההזמנה.
- CONSUMER_PROJECT_IDS: רשימה מופרדת בפסיקים של מזהי הפרויקטים שרוצים להפסיק את השיתוף של ההזמנה איתם. לדוגמה,
project-1,project-2. - ZONE: האזור שבו נמצאת ההזמנה.
כדי להשבית את השיתוף של הזמנת TPU עם כל פרויקטי הצרכן, משנים את ההזמנה להזמנה מקומית באמצעות הפקודה gcloud beta compute reservations
update עם הדגל --share-setting=local:
gcloud beta compute reservations update RESERVATION_NAME \ --project=OWNER_PROJECT_ID \ --share-setting=local \ --zone=ZONE
מחליפים את מה שכתוב בשדות הבאים:
- RESERVATION_NAME: השם של ההזמנה.
- OWNER_PROJECT_ID: מזהה הפרויקט שמכיל את ההזמנה.
- ZONE: האזור שבו נמצאת ההזמנה.
איך מאפשרים ל-Vertex AI להשתמש בשמירת מקום ב-TPU
אפשר לאפשר למשימות אימון או למשימות חיזוי ב-Vertex AI להשתמש בשמירת מקום לטווח קצר במצב יומן או בשמירת מקום לטווח ארוך רק אחרי שעת ההתחלה שלה.
כדי לאפשר ל-Vertex AI להשתמש בשמירת מקום ב-TPU, מפעילים את הפקודה gcloud beta compute
reservations update עם הדגל --reservation-sharing-policy=ALLOW_ALL:
gcloud beta compute reservations update RESERVATION_NAME \ --project=OWNER_PROJECT_ID \ --zone=ZONE \ --reservation-sharing-policy=ALLOW_ALL
מחליפים את מה שכתוב בשדות הבאים:
- RESERVATION_NAME: השם של ההזמנה.
- OWNER_PROJECT_ID: מזהה הפרויקט שמכיל את ההזמנה.
- ZONE: האזור של השמירה.
איך אוסרים על Vertex AI להשתמש בהזמנת TPU
לפני שמונעים מ-Vertex AI להשתמש בהזמנה של TPU, צריך להפסיק את כל המשימות של Vertex AI שמשתמשות בה. אחרת, תקבלו שגיאות.
כדי למנוע מ-Vertex AI להשתמש בהזמנת TPU, מפעילים את הפקודה gcloud beta compute reservations
update עם הדגל --reservation-sharing-policy=DISALLOW_ALL:
gcloud beta compute reservations update RESERVATION_NAME \ --project=OWNER_PROJECT_ID \ --zone=ZONE \ --reservation-sharing-policy=DISALLOW_ALL
מחליפים את מה שכתוב בשדות הבאים:
- RESERVATION_NAME: השם של ההזמנה.
- OWNER_PROJECT_ID: מזהה הפרויקט שמכיל את ההזמנה.
- ZONE: האזור של השמירה.
קבלת מידע על הזמנה משותפת
אפשר לקבל מידע על הזמנה משותפת רק מהפרויקט שבו היא נוצרה.
כדי לקבל מידע על הזמנה משותפת, משתמשים בפקודה gcloud compute
reservations describe:
gcloud compute reservations describe RESERVATION_NAME \ --project=OWNER_PROJECT_ID \ --zone=ZONE
מחליפים את מה שכתוב בשדות הבאים:
- RESERVATION_NAME: השם של ההזמנה.
- OWNER_PROJECT_ID: מזהה הפרויקט שמכיל את ההזמנה.
- ZONE: האזור של השמירה.
התגובה אמורה להיראות כך:
aggregateReservation: [...] name: RESERVATION_NAME reservationSharingPolicy: serviceShareType: ALLOW_ALL resourceStatus: {} selfLink: https://www.googleapis.com/compute/v1/projects/OWNER_PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME shareSettings: projectMap: 'CONSUMER_PROJECT_1': projectId: 'CONSUMER_PROJECT_1' 'CONSUMER_PROJECT_2': projectId: 'CONSUMER_PROJECT_2' shareType: SPECIFIC_PROJECTS specificReservationRequired: true status: READY zone: https://www.googleapis.com/compute/v1/projects/OWNER_PROJECT_ID/zones/ZONE