במאמר הזה מוסבר איך ליצור מכונות A3 Ultra או A4 עם יחידות GPU מצורפות. מידע נוסף על יצירת מכונות Compute Engine עם מעבדי GPU מצורפים זמין במאמר סקירה כללית על יצירת מכונה עם מעבדי GPU מצורפים.
סדרות המכונות A4 ו-A3 Ultra נועדו לאפשר לכם להריץ אשכולות AI/ML בקנה מידה גדול, עם תכונות כמו מיקום ממוקד של עומסי עבודה, אמצעי בקרה מתקדמים לתחזוקת אשכולות ותזמון מודע-טופולוגיה. מידע נוסף מופיע במאמר סקירה כללית על ניהול אשכולות.
לפני שמתחילים
- כדי לעיין במגבלות ובשלבים נוספים שנדרשים ליצירת מכונות עם מעבדי GPU מצורפים, כמו בחירת קובץ אימג' של מערכת ההפעלה או בדיקת מכסת ה-GPU, אפשר לעיין במאמר סקירה כללית על יצירת מכונה עם מעבדי GPU מצורפים.
-
אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות.
אימות הוא תהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי API ולשירותים של Google Cloud . כדי להריץ קוד או דוגמאות מסביבת פיתוח מקומית, אפשר לבצע אימות ל-Compute Engine באחת מהדרכים הבאות:
צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:
המסוף
כשמשתמשים במסוף Google Cloud כדי לגשת לשירותים ולממשקי ה-API, לא צריך להגדיר אימות. Google Cloud
gcloud
-
התקינו את ה-CLI של Google Cloud. אחר כך, אתחלו את ה-CLI של Google Cloud באמצעות הפקודה הבאה:
gcloud initאם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
- הגדרת אזור ותחום כברירת מחדל
REST
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של API בארכיטקטורת REST שבדף הזה, צריך להשתמש בפרטי הכניסה שאתם נותנים ל-CLI של gcloud.
התקינו את ה-CLI של Google Cloud.
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
מידע נוסף מופיע במאמר אימות לשימוש ב-REST במסמכי האימות של Google Cloud .
התפקידים הנדרשים
כדי לקבל את ההרשאות שנדרשות ליצירת מכונות, צריך לבקש מהאדמין להקצות לכם ב-IAM את התפקיד אדמין מכונות של Compute (v1) (roles/compute.instanceAdmin.v1) בפרויקט.
כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
זהו תפקיד שמוגדר מראש וכולל את ההרשאות שנדרשות ליצירת מכונות. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
כדי ליצור מכונות, צריך את ההרשאות הבאות:
-
compute.instances.createבפרויקט -
כדי להשתמש באימג' בהתאמה אישית ליצירת המכונה הווירטואלית (VM):
compute.images.useReadOnlyבקובץ אימג' -
כדי להשתמש ב-snapshot ליצירת המכונה הווירטואלית:
compute.snapshots.useReadOnlyבקובץ snapshot -
כדי להשתמש בתבנית של הגדרות מכונה ליצירת המכונה הווירטואלית:
compute.instanceTemplates.useReadOnlyבתבנית של הגדרות המכונה -
כדי לציין רשת משנה למכונה הווירטואלית:
compute.subnetworks.useבפרויקט או ברשת המשנה שנבחרה -
כדי לציין כתובת IP סטטית למכונה הווירטואלית:
compute.addresses.useבפרויקט -
כדי להקצות כתובת IP חיצונית למכונה הווירטואלית כשמשתמשים ברשת VPC:
compute.subnetworks.useExternalIpבפרויקט או ברשת המשנה שנבחרה -
כדי להקצות רשת מדור קודם למכונה הווירטואלית:
compute.networks.useבפרויקט -
כדי להקצות כתובת IP חיצונית למכונה הווירטואלית כשמשתמשים ברשת מדור קודם:
compute.networks.useExternalIpבפרויקט -
כדי להגדיר מטא-נתונים של המכונה הווירטואלית:
compute.instances.setMetadataבפרויקט -
כדי להגדיר תגים למכונה הווירטואלית:
compute.instances.setTagsבמכונה הווירטואלית -
כדי להגדיר תוויות למכונה הווירטואלית:
compute.instances.setLabelsבמכונה הווירטואלית -
כדי להגדיר חשבון שירות לשימוש של המכונה הווירטואלית:
compute.instances.setServiceAccountבמכונה הווירטואלית -
כדי ליצור דיסק חדש למכונה הווירטואלית:
compute.disks.createבפרויקט -
כדי לצרף דיסק קיים במצב קריאה-בלבד או במצב קריאה וכתיבה:
compute.disks.useבדיסק -
כדי לצרף דיסק קיים במצב קריאה-בלבד:
compute.disks.useReadOnlyבדיסק
יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
קובעים איך ליצור מופעי A3 Ultra או A4
כדי להחליט באילו אפשרויות להשתמש כדי ליצור מכונות A3 Ultra או A4, מבצעים את השלבים הבאים:
בחירת אפשרות צריכה: כדי להבין איך לבחור אפשרות צריכה למופע A3 Ultra או A4, אפשר לעיין במאמר בחירת אפשרות צריכה במאמרי העזרה בנושא AI Hypercomputer.
קבלת קיבולת: כדי להבין איך לקבל קיבולת למופעי A3 Ultra או A4 לאפשרות הצריכה שבחרתם, אפשר לעיין במאמר סקירה כללית של הקיבולת במסמכי התיעוד של AI Hypercomputer.
בחירת הוראות ליצירה: כדי לקבל מידע על כל האפשרויות שבהן אפשר להשתמש כדי ליצור מכונות A3 Ultra או A4, כמו קבוצות של מכונות מנוהלות (MIG) או אשכולות, אפשר לעיין במאמר סקירה כללית על יצירת מכונות וירטואליות ואשכולות במסמכי התיעוד של AI Hypercomputer.
אם אתם רוצים להשתמש בתכונות לניהול אשכולות של A3 Ultra או A4, או אם אתם לא רוצים ליצור מופעים עצמאיים, אתם יכולים לבחור באפשרות יצירה במקום זאת במסמכי התיעוד של AI Hypercomputer.
יצירת מופע A3 Ultra או A4
כדי ליצור מופע A3 Ultra או A4, מבצעים את השלבים הבאים:
יצירת רשתות VPC
כדי להגדיר את הרשת לסוגי מכונות A4 או A3 Ultra, צריך ליצור שלוש רשתות VPC לממשקי הרשת הבאים:
- 2 רשתות VPC רגילות לממשקי הרשת (NIC) של gVNIC. לאחר מכן, כרטיסי ה-NIC משתמשים ברשתות ה-VPC האלה לתקשורת בין המארחים.
- רשת VPC אחת עם פרופיל רשת RoCE עבור כרטיסי רשת מסוג CX-7. ברשת ה-VPC של RoCE למכונות וירטואליות צריכות להיות 8 תת-רשתות, תת-רשת אחת לכל כרטיס רשת CX-7. כרטיסי ה-NIC האלה משתמשים ב-RDMA over Converged Ethernet (RoCE), ומספקים את התקשורת עם רוחב הפס הגבוה וההשהיה הנמוכה שחיונית לתקשורת בין יחידות GPU.
מידע נוסף על סידור כרטיסי רשת זמין במאמר בדיקת רוחב הפס ברשת וסידור כרטיסי הרשת.
אפשר ליצור את הרשתות באופן ידני לפי מדריכי ההוראות, או באופן אוטומטי באמצעות הסקריפט שסופק.
מדריכים להוראות
כדי ליצור את הרשתות, אפשר לפעול לפי ההוראות הבאות:
- כדי ליצור רשתות VPC רגילות לממשקי הרשת של gVNIC, אפשר לעיין במאמר בנושא יצירה וניהול של רשתות ענן וירטואלי פרטי.
- כדי ליצור את רשת ה-VPC של RoCE למכונות וירטואליות (
roce), אפשר לעיין במאמר בנושא יצירת רשת של ענן וירטואלי פרטי (VPC) לכרטיסי NIC של RDMA.
ברשתות ה-VPC האלה, מגדירים את יחידת השידור המקסימלית (MTU) לערך גדול יותר.
עבור סוגי מכונות A4 או A3 Ultra, ה-MTU המומלץ הוא 8896 בייט.
כדי לבדוק את הגדרות ה-MTU המומלצות לסוגים אחרים של מכונות GPU, אפשר לעיין במאמר בנושא הגדרות MTU לסוגים של מכונות GPU.
Script
כדי ליצור את הרשתות, פועלים לפי השלבים הבאים.
ברשתות ה-VPC האלה, מגדירים את יחידת השידור המקסימלית (MTU) לערך גדול יותר.
עבור סוגי מכונות A4 או A3 Ultra, ה-MTU המומלץ הוא 8896 בייט.
כדי לבדוק את הגדרות ה-MTU המומלצות לסוגים אחרים של מכונות GPU, אפשר לעיין במאמר בנושא הגדרות MTU לסוגים של מכונות GPU.
משתמשים בסקריפט הבא כדי ליצור רשתות VPC עבור gVNIC ו-CX-7 NIC.
#!/bin/bash # Create regular VPC networks and subnets for the gVNICs for N in $(seq 0 1); do gcloud compute networks create GVNIC_NAME_PREFIX-net-$N \ --subnet-mode=custom \ --mtu=8896 gcloud compute networks subnets create GVNIC_NAME_PREFIX-sub-$N \ --network=GVNIC_NAME_PREFIX-net-$N \ --region=REGION \ --range=10.$N.0.0/16 gcloud compute firewall-rules create GVNIC_NAME_PREFIX-internal-$N \ --network=GVNIC_NAME_PREFIX-net-$N \ --action=ALLOW \ --rules=tcp:0-65535,udp:0-65535,icmp \ --source-ranges=10.0.0.0/8 done # Create SSH firewall rules gcloud compute firewall-rules create GVNIC_NAME_PREFIX-ssh \ --network=GVNIC_NAME_PREFIX-net-0 \ --action=ALLOW \ --rules=tcp:22 \ --source-ranges=IP_RANGE # Assumes that an external IP is only created for vNIC 0 gcloud compute firewall-rules create GVNIC_NAME_PREFIX-allow-ping-net-0 \ --network=GVNIC_NAME_PREFIX-net-0 \ --action=ALLOW \ --rules=icmp \ --source-ranges=IP_RANGE #!/bin/bash # List and make sure network profiles exist in the machine type's zone gcloud compute network-profiles list --filter "location.name=ZONE" # Create network for RDMA NICs gcloud compute networks create RDMA_NAME_PREFIX-mrdma \ --network-profile=ZONE-vpc-roce \ --subnet-mode custom \ --mtu=8896 # Create subnets for N in $(seq 0 7); do gcloud compute networks subnets create RDMA_NAME_PREFIX-mrdma-sub-$N \ --network=RDMA_NAME_PREFIX-mrdma \ --region=REGION \ --range=10.$((N+2)).0.0/16 # offset to avoid overlap with gVNICs done-
GVNIC_NAME_PREFIX: התחילית של השם המותאם אישית שמשמשת לרשתות ולתת-רשתות רגילות של VPC עבור gVNIC. -
RDMA_NAME_PREFIX: התחילית של השם המותאם אישית שמשמשת לרשת ה-VPC של RoCE למכונות וירטואליות (roce) ולתת-רשתות לכרטיסי ה-NIC של CX-7. -
ZONE: מציינים אזור שבו סוג המכונה שרוצים להשתמש בו זמין, למשלus-central1-a. מידע על אזורים זמין במאמר זמינות של GPU לפי אזורים ותחומים. -
REGION: האזור שבו רוצים ליצור את רשתות המשנה. האזור הזה צריך להתאים לאזור שצוין. לדוגמה, אם האזור הואus-central1-a, האזור הואus-central1. -
IP_RANGE: טווח כתובות ה-IP לשימוש בכללים של חומת האש של SSH. - אופציונלי: כדי לוודא שהמשאבים של רשת ה-VPC נוצרו בהצלחה, בודקים את הגדרות הרשת במסוף Google Cloud :
- נכנסים לדף VPC networks במסוף Google Cloud .
- מחפשים ברשימה את הרשתות שיצרתם בשלב הקודם.
- כדי לראות את רשתות המשנה, את כללי חומת האש והגדרות רשת אחרות, לוחצים על שם הרשת.
מחליפים את מה שכתוב בשדות הבאים:
יצירת מדיניות למיקום קומפקטי
כדי למקם את מופעי A4 או A3 Ultra בבלוקים בודדים או סמוכים, אתם יכולים לציין את מיקום המופע על ידי יצירה והחלה של מדיניות מיקום קומפקטית על המופעים. כדי למקם את המופעים שלכם בבלוק ספציפי, מדלגים על השלב הזה ומזינים את שם הבלוק כשיוצרים מופעים.
הוראות ליצירת מדיניות למיקום קומפקטי עם ערך מרחק מקסימלי של 3 (למיקום מכונות בבלוקים סמוכים) או 2 (למיקום מכונות בבלוק יחיד) מופיעות במאמר יצירת מדיניות למיקום קומפקטי.
יצירת המופע
כדי ליצור מכונה שמציינת מדיניות למיקום קומפקטי, משתמשים ב-CLI של gcloud או ב-API בארכיטקטורת REST. אחרת, בוחרים באחת מהאפשרויות הבאות:
המסוף
נכנסים לדף Create an instance במסוף Google Cloud .
בחלונית Machine configuration (הגדרות המכונה), מבצעים את הפעולות הבאות:
מציינים שם למכונה. מוסכמות למתן שמות למשאבים
בוחרים את האזור והתחום שבהם שריינתם קיבולת.
לוחצים על הכרטיסייה GPUs ומבצעים את השלבים הבאים:
ברשימה סוג ה-GPU, בוחרים את סוג ה-GPU.
למופעי A4, בוחרים באפשרות NVIDIA B200.
למופעי A3 Ultra, בוחרים באפשרות NVIDIA H200 141GB.
ברשימה Number of GPUs בוחרים באפשרות 8.
בתפריט הניווט, לוחצים על מערכת הפעלה ואחסון. בחלונית OS and storage שמופיעה, מבצעים את הפעולות הבאות:
לוחצים על Change. מופיעה החלונית תצורת דיסק אתחול.
בכרטיסייה תמונות ציבוריות, בוחרים תמונה מומלצת. רשימה של תמונות מומלצות זמינה במאמר בנושא מערכות הפעלה.
כדי לאשר את האפשרויות של דיסק האתחול, לוחצים על בחירה.
כדי ליצור מכונה עם כמה כרטיסי NIC, מבצעים את השלבים הבאים. אם מדובר במופע עם כרטיס רשת יחיד, מדלגים על השלבים האלה.
בתפריט הניווט, לוחצים על Networking (רשת). בחלונית Networking שמופיעה, מבצעים את הפעולות הבאות:
בקטע Network interfaces (ממשקי רשת), מבצעים את השלבים הבאים:
מוחקים את ממשק הרשת שמוגדר כברירת מחדל. כדי למחוק את הממשק, לוחצים על מחיקה.
לוחצים על הוספת ממשק רשת. משתמשים באפשרות הזו כדי להוסיף ממשקי רשת שמצורפים לרשתות ה-VPC שיצרתם בקטע הקודם. כשמוסיפים את ממשקי הרשת, חשוב לזכור את הדברים הבאים:
לממשק רשת שמשמש לתקשורת בין מארחים, בוחרים רשת VPC רגילה ורשת משנה מהרשימות רשת ורשת משנה, ומגדירים את הרשימה כרטיס ממשק רשת לערך gVNIC.
עבור ממשק רשת שמשמש לתקשורת בין GPU ל-GPU, בוחרים את רשת ה-VPC ואת רשת המשנה של RoCE מהרשימות Network (רשת) ו-Subnetwork (רשת משנה), ומגדירים את הרשימה Network interface card (כרטיס רשת) ל-MRDMA עבור ממשקי הרשת האלה.
בתפריט הניווט, לוחצים על מתקדם. לאחר מכן, מבצעים את השלבים הבאים בהתאם למודל ההקצאה שבו רוצים להשתמש.
Flex-start
- בקטע Provisioning model, ברשימה VM provisioning model, בוחרים באפשרות Flex-start.
בשדה Enter number of hours מזינים את משך הזמן המקסימלי שבו רוצים שהמכונה הווירטואלית תפעל. הערך צריך להיות בין
0.01(0.01 שעות, או 36 שניות) לבין168(168 שעות, או שבעה ימים).בוחרים באפשרות Set a wait time for VM creation (הגדרת זמן המתנה ליצירת מכונה וירטואלית).
בהתאם לדרישות האזוריות של עומס העבודה, מציינים את אחד משני משכי הזמן הבאים כדי להגדיל את הסיכויים שהבקשה ליצירת מכונה וירטואלית תצליח:
- עומסי עבודה עם דרישות אזוריות מחמירות: אם עומס העבודה מחייב אתכם ליצור את המכונה הווירטואלית באזור ספציפי, עליכם לציין משך זמן בין 90 שניות לבין שעתיים. ככל שהמשך ארוך יותר, כך גדל הסיכוי להשיג משאבים.
- עומסי עבודה ללא דרישות מחמירות לגבי תחום הזמינות: אם המכונה הווירטואלית יכולה לפעול בכל תחום זמינות באזור, צריך לציין משך של 0 שניות או לבטל את הסימון של התיבה הגדרת זמן המתנה ליצירת מכונה וירטואלית. הפעולה הזו מציינת ש-Compute Engine יקצה משאבים רק אם הם זמינים באופן מיידי. אם הבקשה ליצירת מכונה וירטואלית נכשלת כי המשאבים לא זמינים, צריך לנסות שוב את הבקשה באזור אחר.
בשדה On VM termination, בוחרים אם להפסיק או למחוק את המכונה הווירטואלית בסיום משך ההפעלה שלה:
- כדי למחוק את המכונה הווירטואלית, לוחצים על מחיקה.
- כדי לעצור את מכונת ה-VM, בוחרים באפשרות עצירה.
הזמנה בלבד
לוחצים על בחירת הזמנה. הפעולה הזו פותחת חלונית עם רשימה של הזמנות זמינות באזור שנבחר. ברשימת ההזמנות, פועלים לפי השלבים הבאים:
- בוחרים את ההזמנה שרוצים להשתמש בה עבור המכונה הווירטואלית. אפשר גם לבחור בלוק ספציפי בהזמנה.
- לוחצים על בחירה.
Spot
- בקטע Provisioning model בוחרים באפשרות Spot מהרשימה VM provisioning model.
אופציונלי: כדי לבחור את פעולת הסיום שמתבצעת כש-Compute Engine מבצעת דחיקה של מכונת ה-VM, מבצעים את השלבים הבאים:
- מרחיבים את הקטע VM provisioning model advanced settings (הגדרות מתקדמות של מודל הקצאת מכונות וירטואליות).
- ברשימה On VM termination בוחרים באחת מהאפשרויות הבאות:
- כדי לעצור את המכונה הווירטואלית במהלך הפסקת הפעולה לפני הזמן, בוחרים באפשרות Stop (ברירת מחדל).
- כדי למחוק את המכונה הווירטואלית במהלך ההפסקה לפני הזמן, בוחרים באפשרות מחיקה.
כדי ליצור את המכונה ולהפעיל אותה, לוחצים על Create.
gcloud
כדי ליצור את המכונה הווירטואלית, משתמשים
בפקודה gcloud compute instances create.
הפרמטרים שצריך לציין תלויים באפשרות הצריכה שבה אתם משתמשים לפריסה הזו. בוחרים את הכרטיסייה שמתאימה לאפשרות הצריכה שלכם.
הזמנה
במופעי A4 או A3 Ultra יש תמיכה בסוגי ההזמנות הבאים:
- מקומות שמורים לעתיד ב-AI Hypercomputer
- הזמנות עתידיות במצב יומן
כדי להשתמש בסוגים האלה של הזמנות, מופע צריך להשתמש במודל הקצאת משאבים שמוגבל להזמנה. לדוגמה, משתמשים בפרמטרים הבאים ליצירה.
לפני שמריצים את הפקודה, בודקים את כל השלבים הבאים כדי להחליט אם לכלול דגלים נוספים.
gcloud compute instances create INSTANCE_NAME \
--machine-type=MACHINE_TYPE \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--zone=ZONE \
--boot-disk-type=hyperdisk-balanced \
--boot-disk-size=DISK_SIZE \
--scopes=cloud-platform \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-0,subnet=GVNIC_NAME_PREFIX-sub-0 \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address
--network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-0,no-address \
--network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-1,no-address \
--network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-2,no-address \
--network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-3,no-address \
--network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-4,no-address \
--network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-5,no-address \
--network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-6,no-address \
--network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-7,no-address \
--reservation-affinity=specific \
--reservation=RESERVATION \
--provisioning-model=RESERVATION_BOUND \
--instance-termination-action=TERMINATION_ACTION \
--maintenance-policy=TERMINATE \
--restart-on-failure
כך עושים את זה:
-
מחליפים את מה שכתוב בשדות הבאים:
-
INSTANCE_NAME: שם ה-VM. -
MACHINE_TYPE: סוג המכונה שבה רוצים להשתמש עבור המכונה הווירטואלית. מידע נוסף זמין במאמר סוגי מכונות עם GPU במאמרי העזרה של Compute Engine. -
IMAGE_FAMILY: משפחת התמונות של תמונת מערכת ההפעלה שרוצים להשתמש בה. רשימה של כל מערכות ההפעלה הנתמכות מופיעה במאמר בנושא מערכות הפעלה נתמכות. -
IMAGE_PROJECT: מזהה הפרויקט של תמונת מערכת ההפעלה. -
ZONE: האזור שבו זמין סוג המכונה שרוצים להשתמש בו. כדי לציין מדיניות למיקום קומפקטי, משתמשים באזור באותו אזור כמו המדיניות למיקום קומפקטי. מידע על אזורים זמין במאמר זמינות של GPU לפי אזורים ותחומים. -
DISK_SIZE: גודל דיסק האתחול ב-GB. למידע נוסף, אפשר לעיין במאמרים מגבלות הגודל של Google Cloud Hyperdisk או מגבלות הגודל של Persistent Disk, בהתאם לסוג הדיסק. -
GVNIC_NAME_PREFIX: תחילית השם שציינתם כשאתם יוצרים את רשתות ה-VPC הרגילות ואת רשתות המשנה שמשתמשות ב-gVNIC. -
RDMA_NAME_PREFIX: תחילית השם שציינתם כשייצרתם את רשתות ה-VPC ואת תת-הרשתות שמשתמשות בכרטיסי NIC של RDMA. -
RESERVATION: שם ההזמנה או בלוק ספציפי בהזמנה. כדי לראות את שם ההזמנה או את הבלוקים הזמינים, אפשר לעיין במאמר בנושא הצגת קיבולת מוזמנת. בהתאם לדרישה שלכם לגבי מיקום המופע, בוחרים באחת מהאפשרויות הבאות:כדי ליצור את המופע בכל בלוק:
projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME
בנוסף, כדי ליצור כמה מופעים באותו בלוק, צריך להחיל את אותה מדיניות מיקום קומפקטית שמציינת מיקום משותף של בלוק (
maxDistance=2) כשיוצרים כל מופע. לאחר מכן, Compute Engine מחיל את המדיניות על השמורה ויוצר מכונות באותו בלוק.כדי ליצור את המופע בבלוק ספציפי:
projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME
TERMINATION_ACTION: האם Compute Engine מפסיק (STOP) או מוחק (DELETE) את המכונה הווירטואלית בסיום תקופת השמירה.
-
-
אופציונלי: כדי להשתמש במדיניות למיקום קומפקטי, מוסיפים את הדגל הבא:
--resource-policies=POLICY_NAME
מחליפים את מה שכתוב בשדות הבאים:
-
POLICY_NAME: השם של מדיניות המיקום הקומפקטי.
-
- מריצים את הפקודה.
Flex-start
לפני שמריצים את הפקודה, בודקים את כל השלבים הבאים כדי להחליט אם לכלול דגלים נוספים.
gcloud compute instances create INSTANCE_NAME \
--machine-type=MACHINE_TYPE \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--zone=ZONE \
--boot-disk-type=hyperdisk-balanced \
--boot-disk-size=DISK_SIZE \
--scopes=cloud-platform \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-0,subnet=GVNIC_NAME_PREFIX-sub-0 \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address
--network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-0,no-address \
--network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-1,no-address \
--network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-2,no-address \
--network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-3,no-address \
--network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-4,no-address \
--network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-5,no-address \
--network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-6,no-address \
--network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-7,no-address \
--reservation-affinity=none \
--provisioning-model=FLEX_START \
--request-valid-for-duration=REQUEST_VALID_FOR_DURATION \
--max-run-duration=MAX_RUN_DURATION \
--instance-termination-action=TERMINATION_ACTION \
--maintenance-policy=TERMINATE
כך עושים את זה:
-
מחליפים את מה שכתוב בשדות הבאים:
-
INSTANCE_NAME: שם ה-VM. -
MACHINE_TYPE: סוג המכונה שבה רוצים להשתמש עבור המכונה הווירטואלית. מידע נוסף זמין במאמר סוגי מכונות עם GPU במאמרי העזרה של Compute Engine. -
IMAGE_FAMILY: משפחת התמונות של תמונת מערכת ההפעלה שרוצים להשתמש בה. רשימה של כל מערכות ההפעלה הנתמכות מופיעה במאמר בנושא מערכות הפעלה נתמכות. -
IMAGE_PROJECT: מזהה הפרויקט של תמונת מערכת ההפעלה. -
ZONE: האזור שבו זמין סוג המכונה שרוצים להשתמש בו. כדי לציין מדיניות למיקום קומפקטי, משתמשים באזור באותו אזור כמו המדיניות למיקום קומפקטי. מידע על אזורים זמין במאמר זמינות של GPU לפי אזורים ותחומים. -
DISK_SIZE: גודל דיסק האתחול ב-GB. למידע נוסף, אפשר לעיין במאמרים מגבלות הגודל של Google Cloud Hyperdisk או מגבלות הגודל של Persistent Disk, בהתאם לסוג הדיסק. -
GVNIC_NAME_PREFIX: תחילית השם שציינתם כשאתם יוצרים את רשתות ה-VPC הרגילות ואת רשתות המשנה שמשתמשות ב-gVNIC. -
RDMA_NAME_PREFIX: תחילית השם שציינתם כשייצרתם את רשתות ה-VPC ואת תת-הרשתות שמשתמשות בכרטיסי NIC של RDMA.
REQUEST_VALID_FOR_DURATION: משך הזמן שהבקשה ליצירת המכונה הווירטואלית (VM) נשארת בתוקף. הערך צריך להיות בפורמט של מספר הימים, השעות, הדקות או השניות, ואחריוd,h,mו-sבהתאמה. לדוגמה, מציינים30mל-30 דקות או1h2m3sלשעה, שתי דקות ושלוש שניות.בהתאם לדרישות האזוריות של עומס העבודה, מציינים את אחד משני משכי הזמן הבאים כדי להגדיל את הסיכויים שהבקשה ליצירת מכונה וירטואלית תצליח:
- עומסי עבודה עם דרישות אזוריות מחמירות: אם עומס העבודה מחייב אתכם ליצור את המכונה הווירטואלית באזור ספציפי, צריך לציין משך זמן בין 90 שניות (
90s) לשעתיים (2h). משך זמן ארוך יותר מגדיל את הסיכויים לקבל משאבים. - עומסי עבודה ללא דרישות מחמירות לגבי תחום: אם המכונה הווירטואלית יכולה לפעול בכל תחום באזור, צריך לציין משך של אפס שניות (
0s). הפעולה הזו מציינת ש-Compute Engine יקצה משאבים רק אם הם זמינים באופן מיידי. אם הבקשה ליצירת מכונה וירטואלית נכשלת כי המשאבים לא זמינים, צריך לנסות שוב את הבקשה באזור אחר.
- עומסי עבודה עם דרישות אזוריות מחמירות: אם עומס העבודה מחייב אתכם ליצור את המכונה הווירטואלית באזור ספציפי, צריך לציין משך זמן בין 90 שניות (
MAX_RUN_DURATION: משך הזמן שבו רוצים שהמכונות הווירטואליות המבוקשות יפעלו. צריך להזין את הערך בפורמט של מספר הימים, השעות, הדקות או השניות, ואחריו את הערכיםd,h,mו-sבהתאמה. הערך צריך להיות בין 10 דקות לשבעה ימים.
TERMINATION_ACTION: מציין אם Compute Engine מפסיק (STOP) או מוחק (DELETE) את המכונה הווירטואלית בסוף משך ההפעלה שלה.
-
-
אופציונלי: כדי להשתמש במדיניות למיקום קומפקטי, מוסיפים את הדגל הבא:
--resource-policies=POLICY_NAME
מחליפים את מה שכתוב בשדות הבאים:
-
POLICY_NAME: השם של מדיניות המיקום הקומפקטי.
-
- מריצים את הפקודה.
Spot
לפני שמריצים את הפקודה, בודקים את כל השלבים הבאים כדי להחליט אם לכלול דגלים נוספים.
gcloud compute instances create INSTANCE_NAME \
--machine-type=MACHINE_TYPE \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--zone=ZONE \
--boot-disk-type=hyperdisk-balanced \
--boot-disk-size=DISK_SIZE \
--scopes=cloud-platform \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-0,subnet=GVNIC_NAME_PREFIX-sub-0 \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address
--network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-0,no-address \
--network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-1,no-address \
--network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-2,no-address \
--network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-3,no-address \
--network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-4,no-address \
--network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-5,no-address \
--network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-6,no-address \
--network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-7,no-address \
--provisioning-model=SPOT \
--instance-termination-action=TERMINATION_ACTION \
--maintenance-policy=TERMINATE \
--no-restart-on-failure
כך עושים את זה:
-
מחליפים את מה שכתוב בשדות הבאים:
-
INSTANCE_NAME: שם ה-VM. -
MACHINE_TYPE: סוג המכונה שבה רוצים להשתמש עבור המכונה הווירטואלית. מידע נוסף זמין במאמר סוגי מכונות עם GPU במאמרי העזרה של Compute Engine. -
IMAGE_FAMILY: משפחת התמונות של תמונת מערכת ההפעלה שרוצים להשתמש בה. רשימה של כל מערכות ההפעלה הנתמכות מופיעה במאמר בנושא מערכות הפעלה נתמכות. -
IMAGE_PROJECT: מזהה הפרויקט של תמונת מערכת ההפעלה. -
ZONE: האזור שבו זמין סוג המכונה שרוצים להשתמש בו. כדי לציין מדיניות למיקום קומפקטי, משתמשים באזור באותו אזור כמו המדיניות למיקום קומפקטי. מידע על אזורים זמין במאמר זמינות של GPU לפי אזורים ותחומים. -
DISK_SIZE: גודל דיסק האתחול ב-GB. למידע נוסף, אפשר לעיין במאמרים מגבלות הגודל של Google Cloud Hyperdisk או מגבלות הגודל של Persistent Disk, בהתאם לסוג הדיסק. -
GVNIC_NAME_PREFIX: תחילית השם שציינתם כשאתם יוצרים את רשתות ה-VPC הרגילות ואת רשתות המשנה שמשתמשות ב-gVNIC. -
RDMA_NAME_PREFIX: תחילית השם שציינתם כשייצרתם את רשתות ה-VPC ואת תת-הרשתות שמשתמשות בכרטיסי NIC של RDMA.
TERMINATION_ACTION: הפעולה שתתבצע כש-Compute Engine יבצע דחיקה של המכונה, האפשרויות הןSTOP(ברירת מחדל) אוDELETE.
-
-
אופציונלי: כדי להשתמש במדיניות למיקום קומפקטי, מוסיפים את הדגל הבא:
--resource-policies=POLICY_NAME
מחליפים את מה שכתוב בשדות הבאים:
-
POLICY_NAME: השם של מדיניות המיקום הקומפקטי.
-
- מריצים את הפקודה.
REST
כדי ליצור את המכונה הווירטואלית, שולחים בקשת POST אל
ה-method instances.insert.
הפרמטרים שצריך לציין תלויים באפשרות הצריכה שבה אתם משתמשים לפריסה הזו. בוחרים את הכרטיסייה שמתאימה לאפשרות הצריכה שלכם.
הזמנה
במופעי A4 או A3 Ultra יש תמיכה בסוגי ההזמנות הבאים:
- מקומות שמורים לעתיד ב-AI Hypercomputer
- הזמנות עתידיות במצב יומן
כדי להשתמש בסוגים האלה של הזמנות, מופע צריך להשתמש במודל הקצאת משאבים שמוגבל להזמנה. לדוגמה, משתמשים בפרמטרים הבאים ליצירה.
לפני ששולחים את הבקשה, כדאי לעיין בכל השלבים הבאים כדי להחליט אם לכלול שדות נוספים.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
"machineType": "projects/PROJECT_ID/zones/ZONE/machineTypes/MACHINE_TYPE",
"name": "INSTANCE_NAME",
"disks": [
{
"boot": true,
"initializeParams": {
"diskSizeGb": "DISK_SIZE",
"diskType": "hyperdisk-balanced",
"sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
},
"mode": "READ_WRITE",
"type": "PERSISTENT"
}
],
"serviceAccounts": [
{
"email": "default",
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
],
"networkInterfaces": [
{
"accessConfigs": [
{
"name": "external-nat",
"type": "ONE_TO_ONE_NAT"
}
],
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-0",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-0"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-1",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-1"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
"nicType": "MRDMA",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-0"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
"nicType": "MRDMA",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-1"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
"nicType": "MRDMA",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-2"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
"nicType": "MRDMA",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-3"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
"nicType": "MRDMA",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-4"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
"nicType": "MRDMA",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-5"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
"nicType": "MRDMA",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-6"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
"nicType": "MRDMA",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-7"
}
],
"reservationAffinity": {
"consumeReservationType": "SPECIFIC_RESERVATION",
"key": "compute.googleapis.com/reservation-name",
"values": [
"RESERVATION"
]
},
"scheduling": {
"provisioningModel": "RESERVATION_BOUND",
"instanceTerminationAction": "TERMINATION_ACTION",
"onHostMaintenance": "TERMINATE",
"automaticRestart": true
}
}
כך עושים את זה:
-
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט שבו רוצים ליצור את המכונה הווירטואלית. -
ZONE: האזור שבו זמין סוג המכונה שרוצים להשתמש בו. אם רוצים לציין מדיניות למיקום קומפקטי, צריך להשתמש באזור שנמצא באותו אזור כמו המדיניות למיקום קומפקטי. מידע על אזורים זמין במאמר זמינות של GPU לפי אזורים ותחומים. -
MACHINE_TYPE: סוג המכונה שבה רוצים להשתמש עבור המכונה הווירטואלית. מידע נוסף זמין במאמר סוגי מכונות עם GPU במאמרי העזרה של Compute Engine. -
INSTANCE_NAME: שם ה-VM. -
DISK_SIZE: גודל דיסק האתחול ב-GB. למידע נוסף, אפשר לעיין במאמרים מגבלות הגודל של Google Cloud Hyperdisk או מגבלות הגודל של Persistent Disk, בהתאם לסוג הדיסק. -
IMAGE_PROJECT: מזהה הפרויקט של תמונת מערכת ההפעלה. -
IMAGE_FAMILY: משפחת התמונות של תמונת מערכת ההפעלה שרוצים להשתמש בה. רשימה של כל מערכות ההפעלה הנתמכות מופיעה במאמר בנושא מערכות הפעלה נתמכות. -
NETWORK_PROJECT_ID: מזהה הפרויקט של הרשת. -
GVNIC_NAME_PREFIX: תחילית השם שציינתם כשאתם יוצרים את רשתות ה-VPC הרגילות ואת רשתות המשנה שמשתמשות ב-gVNIC. -
REGION: האזור של רשת המשנה. -
RDMA_NAME_PREFIX: תחילית השם שציינתם כשייצרתם את רשתות ה-VPC ואת תת-הרשתות שמשתמשות בכרטיסי NIC של RDMA. -
RESERVATION: שם ההזמנה או בלוק ספציפי בהזמנה. כדי לראות את שם ההזמנה או את הבלוקים הזמינים, אפשר לעיין במאמר בנושא הצגת קיבולת מוזמנת. בהתאם לדרישה שלכם לגבי מיקום המופע, בוחרים באחת מהאפשרויות הבאות:כדי ליצור את המופע בכל בלוק:
projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME
בנוסף, כדי ליצור כמה מופעים באותו בלוק, צריך להחיל את אותה מדיניות מיקום קומפקטית שמציינת מיקום משותף של בלוק (
maxDistance=2) כשיוצרים כל מופע. לאחר מכן, Compute Engine מחיל את המדיניות על השמורה ויוצר מכונות באותו בלוק.כדי ליצור את המופע בבלוק ספציפי:
projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME
TERMINATION_ACTION: האם Compute Engine מפסיק (STOP) או מוחק (DELETE) את המכונה הווירטואלית בסיום תקופת השמירה.
-
-
אופציונלי: אם בחרתם להשתמש במדיניות מיקום קומפקטית, מוסיפים את השדה הבא לגוף הבקשה:
"resourcePolicies": [ "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME" ]מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט של מדיניות המיקום הקומפקטית. -
REGION: האזור של מדיניות המיקום הקומפקטי. -
POLICY_NAME: השם של מדיניות המיקום הקומפקטי.
-
- שולחים את הבקשה.
Flex-start
לפני ששולחים את הבקשה, כדאי לעיין בכל השלבים הבאים כדי להחליט אם לכלול שדות נוספים.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
"machineType": "projects/PROJECT_ID/zones/ZONE/machineTypes/MACHINE_TYPE",
"name": "INSTANCE_NAME",
"disks": [
{
"boot": true,
"initializeParams": {
"diskSizeGb": "DISK_SIZE",
"diskType": "hyperdisk-balanced",
"sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
},
"mode": "READ_WRITE",
"type": "PERSISTENT"
}
],
"serviceAccounts": [
{
"email": "default",
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
],
"networkInterfaces": [
{
"accessConfigs": [
{
"name": "external-nat",
"type": "ONE_TO_ONE_NAT"
}
],
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-0",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-0"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-1",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-1"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
"nicType": "MRDMA",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-0"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
"nicType": "MRDMA",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-1"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
"nicType": "MRDMA",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-2"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
"nicType": "MRDMA",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-3"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
"nicType": "MRDMA",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-4"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
"nicType": "MRDMA",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-5"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
"nicType": "MRDMA",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-6"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
"nicType": "MRDMA",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-7"
}
],
"reservationAffinity": {
"consumeReservationType": "NO_RESERVATION",
},
"scheduling": {
"provisioningModel": "FLEX_START",
"requestValidForDuration": {
"seconds": REQUEST_VALID_FOR_DURATION
},
"maxRunDuration": {
"seconds": MAX_RUN_DURATION
},
"instanceTerminationAction": "TERMINATION_ACTION",
"onHostMaintenance": "TERMINATE",
}
}
כך עושים את זה:
-
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט שבו רוצים ליצור את המכונה הווירטואלית. -
ZONE: האזור שבו זמין סוג המכונה שרוצים להשתמש בו. אם רוצים לציין מדיניות למיקום קומפקטי, צריך להשתמש באזור שנמצא באותו אזור כמו המדיניות למיקום קומפקטי. מידע על אזורים זמין במאמר זמינות של GPU לפי אזורים ותחומים. -
MACHINE_TYPE: סוג המכונה שבה רוצים להשתמש עבור המכונה הווירטואלית. מידע נוסף זמין במאמר סוגי מכונות עם GPU במאמרי העזרה של Compute Engine. -
INSTANCE_NAME: שם ה-VM. -
DISK_SIZE: גודל דיסק האתחול ב-GB. למידע נוסף, אפשר לעיין במאמרים מגבלות הגודל של Google Cloud Hyperdisk או מגבלות הגודל של Persistent Disk, בהתאם לסוג הדיסק. -
IMAGE_PROJECT: מזהה הפרויקט של תמונת מערכת ההפעלה. -
IMAGE_FAMILY: משפחת התמונות של תמונת מערכת ההפעלה שרוצים להשתמש בה. רשימה של כל מערכות ההפעלה הנתמכות מופיעה במאמר בנושא מערכות הפעלה נתמכות. -
NETWORK_PROJECT_ID: מזהה הפרויקט של הרשת. -
GVNIC_NAME_PREFIX: תחילית השם שציינתם כשאתם יוצרים את רשתות ה-VPC הרגילות ואת רשתות המשנה שמשתמשות ב-gVNIC. -
REGION: האזור של רשת המשנה. -
RDMA_NAME_PREFIX: תחילית השם שציינתם כשייצרתם את רשתות ה-VPC ואת תת-הרשתות שמשתמשות בכרטיסי NIC של RDMA.
REQUEST_VALID_FOR_DURATION: משך הזמן, בשניות, שבו הבקשה ליצירת המכונה הווירטואלית נשארת בתוקף.בהתאם לדרישות האזוריות של עומס העבודה, מציינים את אחד משני משכי הזמן הבאים כדי להגדיל את הסיכויים שהבקשה ליצירת מכונה וירטואלית תצליח:
- עומסי עבודה עם דרישות אזוריות מחמירות: אם עומס העבודה מחייב אתכם ליצור את המכונה הווירטואלית באזור ספציפי, צריך לציין משך זמן בין 90 שניות (
90) לשעתיים (7200). משך זמן ארוך יותר מגדיל את הסיכויים לקבל משאבים. - עומסי עבודה ללא דרישות מחמירות לגבי תחום: אם המכונה הווירטואלית יכולה לפעול בכל תחום באזור, צריך לציין משך של אפס שניות (
0). הפעולה הזו מציינת ש-Compute Engine יקצה משאבים רק אם הם זמינים באופן מיידי. אם הבקשה ליצירת מכונה וירטואלית נכשלת כי המשאבים לא זמינים, צריך לנסות שוב את הבקשה באזור אחר.
- עומסי עבודה עם דרישות אזוריות מחמירות: אם עומס העבודה מחייב אתכם ליצור את המכונה הווירטואלית באזור ספציפי, צריך לציין משך זמן בין 90 שניות (
MAX_RUN_DURATION: משך הזמן שבו רוצים שהמכונות הווירטואליות המבוקשות יפעלו. אתם צריכים לעצב את הערך כמספר השניות. לדוגמה, מציינים86400ל-86,400 שניות (24 שעות). הערך צריך להיות בין 10 דקות לשבעה ימים.
TERMINATION_ACTION: מציין אם Compute Engine מפסיק (STOP) או מוחק (DELETE) את המכונה הווירטואלית בסוף משך ההפעלה שלה.
-
-
אופציונלי: אם בחרתם להשתמש במדיניות מיקום קומפקטית, מוסיפים את השדה הבא לגוף הבקשה:
"resourcePolicies": [ "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME" ]מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט של מדיניות המיקום הקומפקטית. -
REGION: האזור של מדיניות המיקום הקומפקטי. -
POLICY_NAME: השם של מדיניות המיקום הקומפקטי.
-
- שולחים את הבקשה.
Spot
לפני ששולחים את הבקשה, כדאי לעיין בכל השלבים הבאים כדי להחליט אם לכלול שדות נוספים.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
"machineType": "projects/PROJECT_ID/zones/ZONE/machineTypes/MACHINE_TYPE",
"name": "INSTANCE_NAME",
"disks": [
{
"boot": true,
"initializeParams": {
"diskSizeGb": "DISK_SIZE",
"diskType": "hyperdisk-balanced",
"sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
},
"mode": "READ_WRITE",
"type": "PERSISTENT"
}
],
"serviceAccounts": [
{
"email": "default",
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
],
"networkInterfaces": [
{
"accessConfigs": [
{
"name": "external-nat",
"type": "ONE_TO_ONE_NAT"
}
],
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-0",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-0"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-1",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-1"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
"nicType": "MRDMA",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-0"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
"nicType": "MRDMA",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-1"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
"nicType": "MRDMA",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-2"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
"nicType": "MRDMA",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-3"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
"nicType": "MRDMA",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-4"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
"nicType": "MRDMA",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-5"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
"nicType": "MRDMA",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-6"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
"nicType": "MRDMA",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-7"
}
],
"scheduling":
{
"provisioningModel": "SPOT",
"instanceTerminationAction": "TERMINATION_ACTION",
"onHostMaintenance": "TERMINATE",
"automaticRestart": false
}
}
כך עושים את זה:
-
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט שבו רוצים ליצור את המכונה הווירטואלית. -
ZONE: האזור שבו זמין סוג המכונה שרוצים להשתמש בו. אם רוצים לציין מדיניות למיקום קומפקטי, צריך להשתמש באזור שנמצא באותו אזור כמו המדיניות למיקום קומפקטי. מידע על אזורים זמין במאמר זמינות של GPU לפי אזורים ותחומים. -
MACHINE_TYPE: סוג המכונה שבה רוצים להשתמש עבור המכונה הווירטואלית. מידע נוסף זמין במאמר סוגי מכונות עם GPU במאמרי העזרה של Compute Engine. -
INSTANCE_NAME: שם ה-VM. -
DISK_SIZE: גודל דיסק האתחול ב-GB. למידע נוסף, אפשר לעיין במאמרים מגבלות הגודל של Google Cloud Hyperdisk או מגבלות הגודל של Persistent Disk, בהתאם לסוג הדיסק. -
IMAGE_PROJECT: מזהה הפרויקט של תמונת מערכת ההפעלה. -
IMAGE_FAMILY: משפחת התמונות של תמונת מערכת ההפעלה שרוצים להשתמש בה. רשימה של כל מערכות ההפעלה הנתמכות מופיעה במאמר בנושא מערכות הפעלה נתמכות. -
NETWORK_PROJECT_ID: מזהה הפרויקט של הרשת. -
GVNIC_NAME_PREFIX: תחילית השם שציינתם כשאתם יוצרים את רשתות ה-VPC הרגילות ואת רשתות המשנה שמשתמשות ב-gVNIC. -
REGION: האזור של רשת המשנה. -
RDMA_NAME_PREFIX: תחילית השם שציינתם כשייצרתם את רשתות ה-VPC ואת תת-הרשתות שמשתמשות בכרטיסי NIC של RDMA.
TERMINATION_ACTION: הפעולה שתתבצע כש-Compute Engine יבצע דחיקה של המכונה, האפשרויות הןSTOP(ברירת מחדל) אוDELETE.
-
-
אופציונלי: אם בחרתם להשתמש במדיניות מיקום קומפקטית, מוסיפים את השדה הבא לגוף הבקשה:
"resourcePolicies": [ "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME" ]מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט של מדיניות המיקום הקומפקטית. -
REGION: האזור של מדיניות המיקום הקומפקטי. -
POLICY_NAME: השם של מדיניות המיקום הקומפקטי.
-
- שולחים את הבקשה.
הכנת המופע לשימוש
כדי להכין לשימוש מופע שמצורפים אליו כרטיסי GPU, מבצעים את השלבים הבאים:
מכונות A4 ו-A3 Ultra דורשות דרייברים של GPU. אם תמונת מערכת ההפעלה שבה נעשה שימוש במופע לא כוללת מנהלי התקנים של GPU, צריך להתקין אותם.
אם יצרתם VM במודל Spot בקטע הקודם, מבצעים את השלבים הבאים:
במאמר ניהול הפסקה זמנית של VM במודל Spot מוסבר איך להכין את ה-VM במודל Spot להפסקה זמנית פוטנציאלית.
אופציונלי: שיטות מומלצות לשימוש במכונות וירטואליות מסוג Spot
המאמרים הבאים
כדי לעקוב אחרי הביצועים של ה-GPU, אפשר לעיין במאמר בנושא מעקב אחרי הביצועים של ה-GPU.
כדי לפתור בעיות במכונות וירטואליות עם GPU, אפשר לעיין במאמר בנושא פתרון בעיות במכונות וירטואליות עם GPU.