יצירת קבוצת מופעים מנוהלת (MIG) שעברה אופטימיזציה באמצעות AI עם A4X

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

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

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

מגבלות

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

מגבלות על מכונות וירטואליות מסוג A4X

המגבלות הבאות חלות על מכונות ספציפיות:

מגבלות על MIG

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

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

  • אי אפשר להגדיר גמישות של מופעים ב-MIG.

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

  • אי אפשר להשתמש בתבנית של הגדרות מכונה שמציינת מדיניות מיקום כדי ליצור קבוצת MIG שמשתמשת במדיניות עומס עבודה.

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

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

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

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

  1. בחירת אפשרות צריכה: האפשרות שתבחרו לצריכה תקבע איך תקבלו גישה למשאבי GPU ואיך תשתמשו בהם. מידע נוסף זמין במאמר בנושא בחירת אפשרות צריכה.
  2. קבלת קיבולת: התהליך לקבלת קיבולת שונה לכל אפשרות צריכה. כדי לקבל מידע על התהליך להשגת קיבולת לאפשרות הצריכה שבחרתם, אפשר לעיין במאמר סקירה כללית על קיבולת.

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

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

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

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

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

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

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

היסודות של A4X

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

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

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

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

סקירה כללית

יצירת MIG עם סוג המכונה A4X כוללת את השלבים הבאים:

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

יצירת רשתות VPC

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

  • ‫2 רשתות VPC רגילות לממשקי הרשת (NIC) של gVNIC. הם משמשים לתקשורת בין מארחים.
  • רשת VPC אחת עם פרופיל רשת RoCE עבור כרטיסי ה-NIC של CX-7 כשיוצרים כמה תת-בלוקים של A4X. ברשת ה-VPC של RoCE צריכות להיות 4 רשתות משנה, רשת משנה אחת לכל כרטיס רשת CX-7. כרטיסי ה-NIC האלה משתמשים ב-RDMA over Converged Ethernet ‏ (RoCE), ומספקים את רוחב הפס הגבוה והתקשורת עם השהייה הנמוכה שחיוניים להרחבת קנה המידה למספר תת-בלוקים של A4X. אם יש לכם רק תת-בלוק אחד של A4X, אתם יכולים לדלג על רשת ה-VPC הזו, כי בתוך תת-בלוק יחיד, התקשורת הישירה בין GPU ל-GPU מטופלת על ידי NVLink מרובה צמתים.

מידע נוסף על סידור כרטיסי רשת זמין במאמר בדיקת רוחב הפס ברשת וסידור כרטיסי הרשת.

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

מדריכים להוראה

כדי ליצור את הרשתות, אפשר לפעול לפי ההוראות הבאות:

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

Script

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

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

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

      
        #!/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=192.168.$N.0/24
    
          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=192.168.0.0/16
        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
    
      
  2. אם אתם צריכים כמה בלוקים משנה של A4X, אתם יכולים להשתמש בסקריפט הבא כדי ליצור את רשת ה-VPC של RoCE ואת רשתות המשנה עבור ארבעת כרטיסי ה-NIC של CX-7 בכל מופע A4X.

      
        #!/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 3); do
          gcloud compute networks subnets create RDMA_NAME_PREFIX-mrdma-sub-$N \
            --network=RDMA_NAME_PREFIX-mrdma \
            --region=REGION \
            --range=192.168.$((N+2)).0/24 # offset to avoid overlap with gVNICs
        done
    
      

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

    • GVNIC_NAME_PREFIX: התחילית של השם המותאם אישית שמשמשת לרשתות ולתת-רשתות רגילות של VPC עבור gVNIC.
    • RDMA_NAME_PREFIX: תחילית השם המותאמת אישית שבה רוצים להשתמש עבור רשת ה-VPC ותת-הרשתות של RoCE עבור כרטיסי ה-NIC של CX-7.
    • ZONE: מציינים אזור שבו סוג המכונה שרוצים להשתמש בו זמין, למשל us-central1-a. מידע על אזורים זמין במאמר זמינות של GPU לפי אזורים ותחומים.
    • REGION: האזור שבו רוצים ליצור את רשתות המשנה. האזור הזה צריך להתאים לאזור שצוין. לדוגמה, אם האזור הוא us-central1-a, האזור הוא us-central1.
    • IP_RANGE: טווח כתובות ה-IP שבו ייעשה שימוש עבור כללי חומת האש של SSH.
  3. אופציונלי: כדי לוודא שהמשאבים של רשת ה-VPC נוצרו בהצלחה, בודקים את הגדרות הרשת במסוף Google Cloud :
    1. נכנסים לדף VPC networks במסוף Google Cloud .

      מעבר לרשתות VPC

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

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

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

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

gcloud

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

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

משתמשים בפקודה הבאה עבור סוג המכונה A4X. טופולוגיית המאיץ של 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. טופולוגיית המאיץ של 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: השם של מדיניות עומסי העבודה.

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

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

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

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

gcloud

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

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --machine-type=a4x-highgpu-4g \
    --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=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 \
    --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.
  • GVNIC_NAME_PREFIX: תוספת השם שציינתם כשאתם יוצרים את רשתות ה-VPC הרגילות ואת רשתות המשנה שמשתמשות בממשקי רשת gVNIC.
  • RDMA_NAME_PREFIX: תחילית השם שציינתם כשייצרתם את רשתות ה-VPC ואת תת-הרשתות שמשתמשות בכרטיסי NIC של RDMA.
  • RESERVATION: שם ההזמנה, הבלוק או תת-הבלוק בהזמנה. כדי לראות את שם ההזמנה או את הבלוקים הזמינים, אפשר לעיין במאמר איך רואים את הקיבולת שהוזמנה. בהתאם לדרישות שלכם לגבי מיקום המופע, בוחרים באחת מהאפשרויות הבאות:
    • כדי ליצור מופעי A4X בכל בלוק יחיד:
          projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME
          
    • כדי ליצור מכונות A4X בבלוק ספציפי:
          projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME
          
    • כדי ליצור מופעים של A4X בתת-בלוק ספציפי:
          projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME/reservationSubBlocks/RESERVATION_SUBBLOCK_NAME
          

REST

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

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
  "name":"INSTANCE_TEMPLATE_NAME",
  "properties":{
    "machineType":"a4x-highgpu-4g",
    "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"
      }
    ],
    "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.
  • NETWORK_PROJECT_ID: מזהה הפרויקט של הרשת.
  • GVNIC_NAME_PREFIX: תוספת השם שציינתם כשאתם יוצרים את רשתות ה-VPC הרגילות ואת רשתות המשנה שמשתמשות בממשקי רשת gVNIC.
  • REGION: האזור של רשת המשנה.
  • RDMA_NAME_PREFIX: תחילית השם שציינתם כשייצרתם את רשתות ה-VPC ואת תת-הרשתות שמשתמשות בכרטיסי NIC של RDMA.
  • RESERVATION: שם ההזמנה, הבלוק או תת-הבלוק בהזמנה. כדי לראות את שם ההזמנה או את הבלוקים הזמינים, אפשר לעיין במאמר איך רואים את הקיבולת שהוזמנה. בהתאם לדרישות שלכם לגבי מיקום המופע, בוחרים באחת מהאפשרויות הבאות:
    • כדי ליצור מופעי A4X בכל בלוק יחיד:
          projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME
          
    • כדי ליצור מכונות A4X בבלוק ספציפי:
          projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME
          
    • כדי ליצור מופעים של A4X בתת-בלוק ספציפי:
          projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME/reservationSubBlocks/RESERVATION_SUBBLOCK_NAME
          

יצירת קבוצת מופעים מנוהלת (MIG)

כשמשתמשים בסוג מכונה A4X, צריך ליצור MIG ולציין את גודל היעד שלו.

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

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

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

gcloud

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

כדי ליצור קבוצת 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 אזורית, שולחים בקשת 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: מספר המופעים שרוצים בקבוצת המופעים המנוהלת. בטופולוגיית המאיץ של 1x72, מגדירים את גודל היעד ל-18.
  • WORKLOAD_POLICY_URL: כתובת ה-URL של מדיניות העומס – לדוגמה, projects/example-project/regions/us-central1/resourcePolicies/example-workload-policy.

מה השלב הבא?