יצירת קמפיין A4X Max MIG שעבר אופטימיזציה באמצעות AI

במאמר הזה מוסבר איך ליצור קבוצת מופעי מכונה מנוהלים (MIG) שמשתמשת בסוגי מכונות עם אופטימיזציה למאיצים מסוג A4X Max. בדף סקירה כללית של אפשרויות הפריסה מוסבר איך יוצרים מכונות ואשכולות.

סוג המכונה של A4X Max

מכונה של Compute Engine, או מכונה, היא משאב מחשוב שמתארח בתשתית של Google ויכול להיות מכונה וירטואלית (VM) או מכונת Bare Metal. מכונות A4X Max זמינות כמכונות Bare Metal, ששונות ממכונות וירטואליות בכך שהן מספקות גישה ישירה ולא וירטואלית לחומרה הפיזית הבסיסית. מידע נוסף על סוג המכונה A4X Max זמין במאמר סדרת A4X Max במסמכי התיעוד של Compute Engine.

אם אתם רוצים לנהל כמה מכונות A4X Max כישות אחת, אתם יכולים ליצור קבוצת מכונות מנוהלת (MIG). למידע נוסף על MIGs, קראו את המאמר קבוצות מופעי מכונה מנוהלים במאמרי העזרה של Compute Engine.

מגבלות

כשמשתמשים בסוגי המכונות A4X Max כדי ליצור קבוצת MIG, חלות המגבלות הבאות:

  • אתם צריכים להשתמש במודל ההקצאה reservation-bound. אין תמיכה במודלים אחרים של הקצאת הרשאות.

  • אי אפשר להשתמש בבקשה לשינוי כמות כדי להוסיף מכונות A4X Max ל-MIG. כדי להוסיף את המכונות, צריך להגדיר את גודל היעד של קבוצת המכונות המנוהלת.

לפני שמתחילים

לפני שיוצרים קבוצת MIG, אם עדיין לא עשיתם זאת, בצעו את הפעולות הבאות:

  1. בחירת אפשרות צריכה: אפשרות הצריכה שתבחרו תקבע איך תקבלו את משאבי ה-GPU ותשתמשו בהם. מידע נוסף זמין במאמר בחירת אפשרות צריכה.
  2. השגת קיבולת: התהליך להשגת קיבולת שונה בכל אפשרות צריכה. במאמר סקירה כללית על קיבולת מוסבר איך מקבלים קיבולת לאפשרות הצריכה שבחרתם.
  3. אימות ההרשאות של סוכן השירות של Google APIs: כשיוצרים מכונות וירטואליות בקבוצת מכונות מנוהלת (MIG), Compute Engine משתמש בסוכן השירות של Google APIs (PROJECT_NUMBER@cloudservices.) בפרויקט. אם בתבנית של הגדרות המכונה נעשה שימוש במשאבים מפרויקט אחר, צריך לוודא שלסוכן השירות הזה יש את ההרשאות הנדרשות:

התפקידים הנדרשים

כדי לקבל את ההרשאות שנדרשות ליצירת קבוצת MIG, צריך לבקש מהאדמין להקצות לכם ב-IAM את התפקיד אדמין מכונות של Compute ‏ (v1) (roles/compute.instanceAdmin.v1) בפרויקט. כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.

זהו תפקיד שמוגדר מראש וכולל את ההרשאות שנדרשות ליצירת קבוצת MIG. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:

ההרשאות הנדרשות

כדי ליצור קבוצת MIG, צריך את ההרשאות הבאות:

  • כדי ליצור קבוצת MIG: ‫compute.instanceGroupManagers.create בפרויקט

יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.

היסודות של A4X Max

אשכול A4X Max מאורגן בהיררכיה של בלוקים ובלוקי משנה כדי לאפשר ביצועים ברשת בקנה מידה גדול, ללא חסימות. חשוב להבין את הטופולוגיה הזו כשמשריינים קיבולת ופורסים עומסי עבודה.

מכונה מסוג A4X Max
מכונה מסוג A4X Max היא מכונה אחת מסוג A4X Max שמחוברים אליה 4 מעבדי GPU.
בלוק משנה
בלוק משנה הוא היחידה הבסיסית של הקיבולת המקסימלית של A4X. ב-A4X Max, בלוק משנה מורכב מ-18 מכונות A4X Max‏ (72 יחידות GPU). המכונות האלה יוצרות דומיין NVLink ומחוברות באמצעות מערכת NVLink עם כמה צמתים. כדי ליצור בלוק משנה של A4X Max, צריך להחיל מדיניות עומס עבודה שמציינת טופולוגיה של 1x72.
חסימה
בלוק A4X Max מורכב מ-25 בלוקי משנה (דומיינים של NVLink), עד 450 מכונות A4X Max‏ (1,800 מעבדי GPU). תת-הבלוקים מיושרים בארכיטקטורת rail-aligned כדי לאפשר התאמה יעילה לעומס. כל בלוק משנה דורש קבוצת MIG. לכן, בבלוק אחד של A4X Max אפשר ליצור 25 קבוצות MIG.

בטבלה הבאה מפורטות אפשרויות הטופולוגיה הנתמכות למכונות A4X Max:

טופולוגיה (acceleratorTopology) מספר יחידות ה-GPU מספר המופעים
1x72 72 18

סקירה כללית

כדי ליצור קבוצת MIG עם סוג המכונה A4X Max:

  1. יצירת רשתות VPC
  2. יצירת מדיניות עומס עבודה
  3. יצירת תבנית של הגדרות מכונה
  4. יצירת MIG
  5. התקנת מנהלי התקנים של GPU

יצירת רשתות VPC

כדי להגדיר את הרשת לסוגי המכונות A4X Max, יוצרים שלוש רשתות VPC לממשקי הרשת הבאים:

  • ‫2 רשתות VPC רגילות לממשקי הרשת (NIC) של IDPF . לאחר מכן, כרטיסי ה-NIC משתמשים ברשתות ה-VPC האלה לתקשורת בין מארחים.
  • רשת VPC אחת עם פרופיל הרשת RoCE metal לכרטיסי ה-NIC מסוג CX-8 כשיוצרים כמה בלוקי משנה של A4X Max. רשת VPC מסוג RoCE למכונות Bare Metal יוצרת באופן אוטומטי תת-רשת אחת בשם default-subnet-1-RDMA_NAME_PREFIX-net לכל שמונת כרטיסי ה-NIC מסוג CX-8. כרטיסי ה-NIC האלה משתמשים ב-RDMA over Converged Ethernet‏ (RoCE), ומספקים תקשורת עם רוחב פס גבוה וזמן אחזור קצר, שחיונית להרחבה אופקית (scale out) לכמה בלוקי משנה של A4X Max.

למידע נוסף על סידור NIC, ראו בדיקת רוחב הפס של הרשת וסידור NIC.

אתם יכולים ליצור את הרשתות באופן ידני לפי ההוראות במדריכים, או באופן אוטומטי באמצעות הסקריפט שסופק.

מדריכי הוראות

כדי ליצור את הרשתות, אתם יכולים להשתמש בהוראות הבאות:

ברשתות ה-VPC האלה, מגדירים ערך גדול יותר ליחידת ההעברה המקסימלית (MTU). במכונות מסוג A4X Max, גודל ה-MTU המומלץ הוא 8896 בייטים. כדי לבדוק את הגדרות ה-MTU המומלצות לסוגי מכונות אחרים של GPU, קראו את המאמר הגדרות MTU לסוגי מכונות של GPU.

Script

כדי ליצור את הרשתות, מבצעים את השלבים הבאים.

ברשתות ה-VPC האלה, מגדירים ערך גדול יותר ליחידת ההעברה המקסימלית (MTU). במכונות מסוג A4X Max, גודל ה-MTU המומלץ הוא 8896 בייטים. כדי לבדוק את הגדרות ה-MTU המומלצות לסוגי מכונות אחרים של GPU, קראו את המאמר הגדרות MTU לסוגי מכונות של GPU.

  1. משתמשים בסקריפט הבא כדי ליצור רשתות VPC רגילות לכרטיסי הרשת של IDPF.

    
    
        #!/bin/bash
    
        # Create regular VPC network for the IDPF NICs
        gcloud compute networks create IDPF_NETWORK_PREFIX-net \
            --subnet-mode=custom \
            --mtu=8896 \
            --enable-ula-internal-ipv6
    
        # Create subnets for the IDPF NICs
        for N in $(seq 0 1); do
          gcloud compute networks subnets create IDPF_NETWORK_PREFIX-$N \
            --network=IDPF_NETWORK_PREFIX-net \
            --region=REGION \
            --stack-type=IPV6_ONLY \
            --ipv6-access-type=INTERNAL
        done
    
        gcloud compute firewall-rules create IDPF_NETWORK_PREFIX-internal \
          --network=IDPF_NETWORK_PREFIX-net \
            --action=ALLOW \
            --rules=tcp:0-65535,udp:0-65535,58 \
            --source-ranges=IP_RANGE
    
    
    
          
  2. אם אתם צריכים כמה בלוקי משנה של A4X Max, השתמשו בסקריפט הבא כדי ליצור את רשת ה-VPC של RoCE למכונות Bare Metal (roce-metal) והשתמשו בתת-הרשת שנוצרה באופן אוטומטי בשביל שמונת כרטיסי ה-NIC מסוג CX-8 בכל מכונת A4X Max.

    
    
        #!/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 RoCE VPC network for bare metal instances (roce-metal)
        gcloud compute networks create RDMA_NAME_PREFIX-net \
          --network-profile=ZONE-vpc-roce-metal \
          --subnet-mode custom \
          --mtu=8896
    
        # For RoCE VPC networks for bare metal instances, a single subnet named
        # default-subnet-1-RDMA_NAME_PREFIX-net is automatically provided.
        # For more details, see https://cloud.google.com/vpc/docs/rdma-network-profiles.
    
    
          
  3. מחליפים את מה שכתוב בשדות הבאים:

    • ‫IDPF_NETWORK_PREFIX: התחילית של השם בהתאמה אישית שמשמשת לרשתות VPC רגילות ולתת-רשתות של כרטיסי ה-NIC של IDPF.
    • ‫RDMA_NAME_PREFIX: התחילית של השם בהתאמה אישית של רשת ה-VPC של RoCE למכונות Bare Metal‏ (roce-metal) לכרטיסי הרשת CX-8.
    • ‫ZONE: מציינים אזור שבו סוג המכונה שרוצים להשתמש בה זמין, למשל us-central1-a. למידע על אזורים, קראו את המאמר זמינות של GPU לפי אזורים ותחומים.
    • ‫REGION: האזור שבו רוצים ליצור את רשתות המשנה. האזור הזה חייב להתאים לאזור שצוין. לדוגמה, אם האזור הוא us-central1-a, המחוז הוא us-central1.
    • ‫IP_RANGE: טווח כתובות ה-IP שמשמש לכללי חומת האש של SSH.
  4. אופציונלי: כדי לוודא שמשאבי רשת ה-VPC נוצרו בהצלחה, בודקים את הגדרות הרשת במסוף Google Cloud :
    1. נכנסים לדף VPC networks במסוף Google Cloud .

      כניסה לדף VPC networks

    2. מחפשים ברשימה את הרשתות שיצרתם בשלב הקודם.
    3. כדי לראות את רשתות המשנה, כללי חומת האש והגדרות רשת אחרות, לוחצים על שם הרשת.

יצירת מדיניות עומס עבודה

אם אתם רוצים ליצור מכונה אחת של A4X Max ב-MIG לצורך בדיקה, דלגו על השלב הזה. אחרת, תצטרכו ליצור מדיניות עומסי עבודה כדי ליצור קבוצת MIG עם מכונות A4X Max.

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

gcloud

כדי ליצור מדיניות עומסי עבודה, משתמשים בפקודה gcloud compute resource-policies create workload-policy.

כדי להגדיר רשת בין מאיצים, מציינים את הדגל --accelerator-topology בפקודה.

משתמשים בפקודה הבאה למכונה מסוג A4X Max. טופולוגיית המאיץ של 1x72 מציינת ש-72 יחידות GPU מחוברות באמצעות NVLink בתוך בלוק.

gcloud compute resource-policies create workload-policy WORKLOAD_POLICY_NAME \
    --type=high-throughput \
    --accelerator-topology=1x72 \
    --region=REGION

מחליפים את מה שכתוב בשדות הבאים:

  • ‫WORKLOAD_POLICY_NAME: השם של מדיניות עומס העבודה.
  • ‫REGION: האזור שבו רוצים ליצור את מדיניות עומס העבודה. מציינים אזור שבו רוצים ליצור את ה-MIG, וסוג המכונה שבו רוצים להשתמש זמין. למידע על אזורים, ראו זמינות GPU לפי אזורים ותחומים.

REST

כדי ליצור מדיניות עומסי עבודה, שולחים בקשת POST אל ה-method‏ resourcePolicies.insert.

כדי להגדיר רשת בין מאיצים, מציינים את השדה acceleratorTopology בבקשה.

שולחים את הבקשה הבאה למכונה מסוג A4X Max. טופולוגיית המאיץ 1x72 מציינת ש-72 יחידות GPU מחוברות באמצעות NVLink בתוך בלוק.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies
  {
    "name": "WORKLOAD_POLICY_NAME"
    "workloadPolicy": {
      "type": "HIGH_THROUGHPUT",
      "acceleratorTopology": "1x72"
    }
  }

מחליפים את מה שכתוב בשדות הבאים:

  • ‫PROJECT_ID: מזהה הפרויקט
  • ‫REGION: האזור שבו רוצים ליצור את מדיניות עומס העבודה. מציינים את האזור שבו רוצים ליצור את ה-MIG, ומוודאים שסוג המכונה שרוצים להשתמש בה זמין. למידע על אזורים, קראו את המאמר זמינות GPU לפי אזורים ותחומים.
  • ‫WORKLOAD_POLICY_NAME: השם של מדיניות עומס העבודה.

יצירת תבנית של הגדרות מכונה

כדי לציין את מאפייני המכונה של קבוצת מופעי מכונה מנוהלים (MIG), יוצרים תבנית של הגדרות מכונה.

כדי ליצור תבנית של הגדרות מכונה, בוחרים באחת מהאפשרויות הבאות.

הפקודות הבאות גם מגדירות את היקף הגישה למכונות. כדי לפשט את ניהול ההרשאות, Google ממליצה להגדיר את היקף הגישה במכונה לגישה מסוג cloud-platform, ואז להשתמש בתפקידי IAM כדי להגדיר לאילו שירותים המכונה יכולה לגשת. מידע נוסף זמין במאמר שיטות מומלצות להיקפים.

gcloud

כדי ליצור תבנית של הגדרות מכונה אזורית, משתמשים בפקודה gcloud compute instance-templates create.

במכונות A4X Max אפשר להשתמש בסוגי ההזמנות הבאים:

  • מקומות שמורים לעתיד בגושי קיבולת
  • מקומות שמורים לעתיד במצב תזמון

כדי להשתמש בסוגים האלה של הזמנות, המכונה צריכה להשתמש במודל הקצאה שמוגבל להזמנות. לדוגמה, משתמשים בפרמטרים הבאים ליצירה.

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --machine-type=a4x-maxgpu-4g-metal \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --instance-template-region=REGION \
    --boot-disk-type=hyperdisk-balanced \
    --boot-disk-size=DISK_SIZE \
    --scopes=cloud-platform \
    --network-interface=nic-type=IDPF,network=IDPF_NETWORK_PREFIX-net,stack-type=IPV6_ONLY,subnet=IDPF_NETWORK_PREFIX-sub-0 \
    --network-interface=nic-type=IDPF,network=IDPF_NETWORK_PREFIX-net,stack-type=IPV6_ONLY,subnet=IDPF_NETWORK_PREFIX-sub-1,no-address \
    --network-interface=subnet=default-subnet-1-RDMA_NAME_PREFIX-net,stack-type=IPV6_ONLY,nic-type=mrdma \
    --network-interface=subnet=default-subnet-1-RDMA_NAME_PREFIX-net,stack-type=IPV6_ONLY,nic-type=mrdma \
    --network-interface=subnet=default-subnet-1-RDMA_NAME_PREFIX-net,stack-type=IPV6_ONLY,nic-type=mrdma \
    --network-interface=subnet=default-subnet-1-RDMA_NAME_PREFIX-net,stack-type=IPV6_ONLY,nic-type=mrdma \
    --network-interface=subnet=default-subnet-1-RDMA_NAME_PREFIX-net,stack-type=IPV6_ONLY,nic-type=mrdma \
    --network-interface=subnet=default-subnet-1-RDMA_NAME_PREFIX-net,stack-type=IPV6_ONLY,nic-type=mrdma \
    --network-interface=subnet=default-subnet-1-RDMA_NAME_PREFIX-net,stack-type=IPV6_ONLY,nic-type=mrdma \
    --network-interface=subnet=default-subnet-1-RDMA_NAME_PREFIX-net,stack-type=IPV6_ONLY,nic-type=mrdma \
    --reservation-affinity=specific \
    --reservation=RESERVATION \
    --provisioning-model=RESERVATION_BOUND \
    --instance-termination-action=DELETE \
    --maintenance-policy=TERMINATE \
    --restart-on-failure

מחליפים את מה שכתוב בשדות הבאים:

  • ‫INSTANCE_TEMPLATE_NAME: השם של התבנית של הגדרות המכונה.
  • ‫IMAGE_FAMILY: משפחת קובצי האימג' של מערכת ההפעלה שבה רוצים להשתמש. רשימה של כל מערכות ההפעלה הנתמכות
  • ‫IMAGE_PROJECT: מזהה הפרויקט של קובץ האימג' של מערכת ההפעלה.
  • ‫REGION: האזור שבו רוצים ליצור את התבנית של הגדרות המכונה. מציינים אזור שבו סוג המכונה שרוצים להשתמש בה זמין. למידע על אזורים, ראו זמינות GPU לפי אזורים ותחומים.
  • ‫DISK_SIZE: גודל דיסק האתחול ב-GB. למידע נוסף, קראו את המאמר מגבלות הגודל של Google Cloud Hyperdisk או מגבלות הגודל של Persistent Disk, בהתאם לסוג הדיסק.
  • ‫IDPF_NETWORK_PREFIX: התחילית של השם שציינתם כשיצרתם את רשתות ה-VPC ואת רשתות המשנה שמשתמשות בכרטיסי רשת IDPF.
  • ‫RDMA_NAME_PREFIX: התחילית של השם שציינתם כשיצרתם את רשתות ה-VPC ואת רשתות המשנה שמשתמשות בכרטיסי רשת של RDMA.
  • ‫RESERVATION: שם ההזמנה, בלוק או בלוק משנה בתוך הזמנה. כדי לראות את שם ההזמנה או את הבלוקים הזמינים, עיינו במאמר הצגת הקיבולת השמורה. בהתאם לדרישות שלכם לגבי מיקום המכונה, בוחרים באחת מהאפשרויות הבאות:
    • כדי ליצור מכונות A4X Max בכל בלוק בודד:
          projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME
          
    • כדי ליצור מכונות A4X Max בבלוק ספציפי:
          projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME
          
    • כדי ליצור מכונות A4X Max בבלוק משנה ספציפי:
          projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME/reservationSubBlocks/RESERVATION_SUBBLOCK_NAME
          

REST

כדי ליצור תבנית של הגדרות מכונה אזורית, שולחים בקשת POST ל-method‏ regionInstanceTemplates.insert.

במכונות A4X Max אפשר להשתמש בסוגי ההזמנות הבאים:

  • מקומות שמורים לעתיד בגושי קיבולת
  • מקומות שמורים לעתיד במצב תזמון

כדי להשתמש בסוגים האלה של הזמנות, המכונה צריכה להשתמש במודל הקצאה שמוגבל להזמנות. לדוגמה, משתמשים בפרמטרים הבאים ליצירה.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
  "name": "INSTANCE_TEMPLATE_NAME",
  "properties": {
    "machineType": "a4x-maxgpu-4g-metal",
    "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/IDPF_NETWORK_PREFIX-net",
      "nicType": "IDPF",
      "stackType": "IPV6_ONLY",
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/IDPF_NETWORK_PREFIX-sub-0"
    },
    {
      "network": "projects/NETWORK_PROJECT_ID/global/networks/IDPF_NETWORK_PREFIX-net",
      "nicType": "IDPF",
      "stackType": "IPV6_ONLY",
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/IDPF_NETWORK_PREFIX-sub-1"
    },
    {
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/default-subnet-1-RDMA_NAME_PREFIX-net",
      "nicType": "MRDMA",
      "stackType": "IPV6_ONLY"
    },
    {
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/default-subnet-1-RDMA_NAME_PREFIX-net",
      "nicType": "MRDMA",
      "stackType": "IPV6_ONLY"
    },
    {
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/default-subnet-1-RDMA_NAME_PREFIX-net",
      "nicType": "MRDMA",
      "stackType": "IPV6_ONLY"
    },
    {
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/default-subnet-1-RDMA_NAME_PREFIX-net",
      "nicType": "MRDMA",
      "stackType": "IPV6_ONLY"
    },
    {
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/default-subnet-1-RDMA_NAME_PREFIX-net",
      "nicType": "MRDMA",
      "stackType": "IPV6_ONLY"
    },
    {
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/default-subnet-1-RDMA_NAME_PREFIX-net",
      "nicType": "MRDMA",
      "stackType": "IPV6_ONLY"
    },
    {
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/default-subnet-1-RDMA_NAME_PREFIX-net",
      "nicType": "MRDMA",
      "stackType": "IPV6_ONLY"
    },
    {
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/default-subnet-1-RDMA_NAME_PREFIX-net",
      "nicType": "MRDMA",
      "stackType": "IPV6_ONLY"
    }
  ],
    "reservationAffinity": {
        "consumeReservationType": "SPECIFIC_RESERVATION",
        "key": "compute.googleapis.com/reservation-name",
        "values": [
          "RESERVATION"
        ]
      },
    "scheduling": {
        "provisioningModel": "RESERVATION_BOUND",
        "instanceTerminationAction": "DELETE",
        "onHostMaintenance": "TERMINATE",
        "automaticRestart": true
      }
  }
}

מחליפים את מה שכתוב בשדות הבאים:

  • ‫INSTANCE_TEMPLATE_NAME: השם של התבנית של הגדרות המכונה.
  • ‫IMAGE_FAMILY: משפחת קובצי האימג' של מערכת ההפעלה שבה רוצים להשתמש. רשימה של כל מערכות ההפעלה הנתמכות
  • ‫IMAGE_PROJECT: מזהה הפרויקט של קובץ האימג' של מערכת ההפעלה.
  • ‫REGION: האזור שבו רוצים ליצור את התבנית של הגדרות המכונה. מציינים אזור שבו סוג המכונה שרוצים להשתמש בה זמין. למידע על אזורים, קראו את המאמר זמינות GPU לפי אזורים ותחומים.
  • ‫DISK_SIZE: גודל דיסק האתחול ב-GB. למידע נוסף, קראו את המאמר מגבלות הגודל של Google Cloud Hyperdisk או מגבלות הגודל של Persistent Disk, בהתאם לסוג הדיסק.
  • ‫NETWORK_PROJECT_ID: מזהה הפרויקט של הרשת.
  • ‫IDPF_NETWORK_PREFIX: התחילית של השם שציינתם כשיצרתם את רשתות ה-VPC ואת רשתות המשנה שמשתמשות בכרטיסי רשת IDPF.
  • ‫REGION: האזור של רשת המשנה.
  • ‫RDMA_NAME_PREFIX: התחילית של השם שציינתם כשיצרתם את רשתות ה-VPC ואת רשתות המשנה שמשתמשות בכרטיסי רשת של RDMA.
  • ‫RESERVATION: שם ההזמנה, בלוק או בלוק משנה בתוך הזמנה. כדי לראות את שם ההזמנה או את הבלוקים הזמינים, עיינו במאמר הצגת הקיבולת השמורה. בהתאם לדרישות שלכם לגבי מיקום המכונה, בוחרים באחת מהאפשרויות הבאות:
    • כדי ליצור מכונות A4X Max בכל בלוק בודד:
          projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME
          
    • כדי ליצור מכונות A4X Max בבלוק ספציפי:
          projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME
          
    • כדי ליצור מכונות A4X Max בבלוק משנה ספציפי:
          projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME/reservationSubBlocks/RESERVATION_SUBBLOCK_NAME
          

יצירת MIG

כשיוצרים קבוצת MIG באמצעות סוג המכונה A4X Max, מציינים את מספר המכונות באמצעות גודל היעד של קבוצת ה-MIG. כשיוצרים MIG, אפשר להגדיר את גודל היעד למספר המכונות הנדרש, או להתחיל מאפס ולהגדיל אותו מאוחר יותר. שימו לב שאי אפשר להשתמש בבקשות לשינוי כמות כדי להוסיף מכונות לקבוצת MIG מסוג A4X Max.

כדי לקבל טופולוגיית GPU של 1x72, צריך ליצור קבוצת MIG עם 18 מכונות A4X Max. כשיוצרים את ה-MIG, מחילים את מדיניות עומס העבודה שמציינת את השדה acceleratorTopology. החלת המדיניות מבטיחה ש-Compute Engine ייצור את כל 18 המכונות של A4X Max בבלוק משנה אחד כדי להשתמש בדומיין NVLink. אם בבלוק המשנה אין מספיק קיבולת לכל 18 המכונות, כל מכונה מנוהלת שלא ניתן ליצור באופן מיידי תישאר במצב CREATING עד שתתפנה קיבולת. המכונות המנוהלות האלה מייצגות את המכונות שנוצרות על ידי ה-MIG כשיש קיבולת.

כשמחילים מדיניות עומסי עבודה שבה השדה acceleratorTopology מוגדר לערך 1x72, אי אפשר ליצור יותר מ-18 מכונות A4X Max ב-MIG. אם תציינו יותר מ-18 מכונות, יצירת ה-MIG תיכשל. כדי ליצור כמה דומיינים של NVLink, צריך ליצור MIG נפרד לכל דומיין ולהחיל את אותה מדיניות עומס עבודה על כל MIG.

כדי ליצור MIG, בוחרים באחת מהאפשרויות הבאות:

gcloud

כדי ליצור קבוצת MIG עם גודל יעד מסוים, משתמשים בפקודה instance-groups managed create.

כדי ליצור קבוצת MIG אזורית או קבוצת MIG של אזור, מבצעים את הפעולות הבאות:

  • כדי ליצור קבוצת MIG אזורית, משתמשים בפקודה הבאה:
    gcloud compute instance-groups managed create MIG_NAME \
      --template=INSTANCE_TEMPLATE_URL \
      --size=TARGET_SIZE \
      --workload-policy=WORKLOAD_POLICY_URL \
      --zone=ZONE
    
  • כדי ליצור קבוצת MIG אזורית, משתמשים בפקודה הבאה:
    gcloud compute instance-groups managed create MIG_NAME \
        --template=INSTANCE_TEMPLATE_URL \
        --size=TARGET_SIZE \
        --workload-policy=WORKLOAD_POLICY_URL \
        --region=REGION
    
מחליפים את הערכים הבאים:
  • ‫MIG_NAME: שם ה-MIG.
  • ‫INSTANCE_TEMPLATE_URL: כתובת ה-URL של תבנית של הגדרות מכונה שבה רוצים להשתמש כדי ליצור מכונות ב-MIG. כתובת ה-URL יכולה להכיל את המזהה או את השם של תבנית של הגדרות מכונה. מציינים אחד מהערכים הבאים:
    • לתבנית של הגדרות מכונה אזורית: projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
    • לתבנית גלובלית של הגדרות מכונה: INSTANCE_TEMPLATE_ID
  • ‫TARGET_SIZE: מספר המכונות שרוצים שיהיו בקבוצת המכונות המנוהלות. לטופולוגיית המאיץ 1x72, מגדירים את גודל היעד ל-18.
  • ‫WORKLOAD_POLICY_URL: כתובת ה-URL של מדיניות עומס העבודה, לדוגמה projects/example-project/regions/us-central1/resourcePolicies/example-workload-policy.
  • ‫ZONE: האזור שבו רוצים ליצור את ה-MIG. צריך לציין אזור בתוך האזור של מדיניות עומס העבודה.
  • ‫REGION: האזור שבו רוצים ליצור את ה-MIG. מציינים את אותו אזור שצוין במדיניות של עומס העבודה. בקבוצת MIG אזורית, במקום אזור, אפשר לציין את האזורים באותו אזור באמצעות הדגל --zones.

REST

כדי ליצור קבוצת MIG עם גודל יעד מסוים, שולחים בקשת POST.

כדי ליצור קבוצת MIG אזורית או קבוצת MIG של אזור, מבצעים את הפעולות הבאות:

  • כדי ליצור קבוצת MIG אזורית, שולחים בקשת POST ל-method‏ instanceGroupManagers.insert.
    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers
    {
      "versions": [
        {
          "instanceTemplate": "INSTANCE_TEMPLATE_URL"
        }
      ],
      "name": "MIG_NAME",
      "targetSize": TARGET_SIZE,
      "resourcePolicies": {
        "workloadPolicy": "WORKLOAD_POLICY_URL"
      }
    }
    
  • כדי ליצור קבוצת MIG אזורית, שולחים בקשת POST ל-method‏ regionInstanceGroupManagers.insert.
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers
      {
        "name": "MIG_NAME",
        "instanceTemplate": "INSTANCE_TEMPLATE_URL",
        "targetSize": TARGET_SIZE,
        "resourcePolicies": {
          "workloadPolicy": "WORKLOAD_POLICY_URL"
        }
      }
    
מחליפים את הערכים הבאים:
  • ‫PROJECT_ID: מזהה הפרויקט.
  • ‫ZONE: האזור שבו רוצים ליצור את ה-MIG. צריך לציין אזור בתוך המיקום של מדיניות עומסי העבודה.
  • ‫REGION: האזור שבו רוצים ליצור את ה-MIG. מציינים את אותו אזור שצוין במדיניות של עומס העבודה.
  • ‫INSTANCE_TEMPLATE_URL: כתובת ה-URL של תבנית של הגדרות מכונה שבה רוצים להשתמש כדי ליצור מכונות ב-MIG. כתובת ה-URL יכולה להכיל את המזהה או את השם של תבנית של הגדרות מכונה. מציינים אחד מהערכים הבאים:
    • לתבנית של הגדרות מכונה אזורית: projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
    • לתבנית גלובלית של הגדרות מכונה: INSTANCE_TEMPLATE_ID
  • ‫MIG_NAME: שם ה-MIG.
  • ‫TARGET_SIZE: מספר המכונות שרוצים שיהיו ב-MIG. בטופולוגיית מאיץ החומרה 1x72, מגדירים את גודל היעד ל-18.
  • ‫WORKLOAD_POLICY_URL: כתובת ה-URL של מדיניות עומס העבודה, לדוגמה projects/example-project/regions/us-central1/resourcePolicies/example-workload-policy.

התקנת מנהלי התקנים של GPU

אחרי שיוצרים מכונה, היא לא יכולה להשתמש ב-GPU שלה אלא אם מנהלי ההתקנים הנכונים של ה-GPU כבר מותקנים. אם לא ציינתם קובץ אימג' של מערכת ההפעלה שכולל מנהלי התקנים של GPU, עיינו במאמר התקנת מנהלי התקנים של GPU במסמכי התיעוד של Compute Engine.

מה השלב הבא?