שימוש במנהל ההתקן IRDMA Cloud RDMA

‫Cloud RDMA מאפשר יכולות העברת הודעות אמינות עם זמן אחזור קצר באמצעות מנהל ההתקן IRDMA RDMA. מנהל ההתקן הזה תומך בגישה ישירה לזיכרון מרחוק (RDMA) בין מכונות Compute Engine. ‫RDMA מעביר נתונים בין מכונות מרוחקות וזיכרון מקומי דרך ממשק הרשת בלי להשתמש ב-CPU של המארח או במאגרי מארח ביניים.

במכונות שתומכות ב-Cloud RDMA צריך לפחות שני ממשקי רשת וירטואליים (vNIC):

  • ‫vNIC לתקשורת Cloud RDMA שמשתמש במנהל ההתקן של הרשת IDPF ובמנהל ההתקן של RDMA IRDMA. אי אפשר לחבר את ה-vNIC הזה לאינטרנט. למופע יכול להיות רק vNIC אחד שמשתמש ב-Cloud RDMA.
  • כרטיס vNIC לתנועה רגילה ברשת. ה-vNIC הזה מחובר באופן מלא לרשתGoogle Cloud ויכול להתחבר לאינטרנט. ב-vNIC הזה נעשה שימוש במנהל ההתקן של הרשת gVNIC. אפשר להוסיף עד שמונה ממשקי רשת gVNIC נוספים, כך שיהיו בסך הכול 10 ממשקי vNIC לכל מכונה.

מנהל ההתקן IRDMA נתמך במכונות H4D ובמכונות Z4M.

כשמגדירים vNIC שמשתמש במנהל ההתקן IRDMA, צריך לציין רשת VPC שנוצרה באמצעות פרופיל רשת Falcon RDMA.

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

  • אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות. אימות הוא תהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי API ולשירותים של Google Cloud . כדי להריץ קוד או דוגמאות מסביבת פיתוח מקומית, אפשר לבצע אימות ל-Compute Engine באחת מהדרכים הבאות:

    צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:

    המסוף

    כשמשתמשים במסוף Google Cloud כדי לגשת Google Cloud לשירותים ולממשקי ה-API, לא צריך להגדיר אימות.

    gcloud

    1. התקינו את ה-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 .

תמיכה במערכת הפעלה

‫Google ממליצה להשתמש ב-Advanced Compute Images או ב-HPC VM image, שמגיעים עם מנהלי התקנים של Cloud RDMA מותקנים מראש.

מנהל ההתקן IRDMA RDMA נתמך בקובצי האימג' הציבוריים הבאים של מערכת ההפעלה שזמינים עבור Google Cloud:

  • מערכת הפעלה שמותאמת לקונטיינרים (Container-Optimized OS) בגרסה 117 LTS ואילך
  • ‫Rocky Linux 8 מותאם ל- Google Cloud ומגרסאות מאוחרות יותר מותאם ל- Google Cloud

סקירה כללית על שימוש ב-Cloud RDMA עם מכונות Compute Engine

כדי ליצור מכונת Compute Engine שמשתמשת ב-Cloud RDMA, צריך לפחות רשת VPC רגילה אחת ורשת Falcon VPC אחת. רשת ה-VPC של Falcon משתמשת בפרופיל הרשת Falcon RDMA כדי לאפשר תעבורת נתונים של Cloud RDMA בין מכונות H4D. הרשת הזו נפרדת מרשת ה-VPC הרגילה שמעבירה תנועה שהיא לא RDMA לשירותיGoogle Cloud אחרים או לאינטרנט.

כדי ליצור מכונה שמשתמשת ב-Cloud RDMA, צריך לבצע את הפעולות הבאות:

  1. בוחרים קובץ אימג' ציבורי של מערכת ההפעלה שתומך ב-Cloud RDMA, או יוצרים קובץ אימג' בהתאמה אישית של מערכת ההפעלה שמתויג לשימוש ב-IRDMA.
  2. מזהים או יוצרים לפחות שתי רשתות VPC:

    • רשת VPC רגילה לתעבורה שעוברת דרך ממשק הרשת gVNIC
    • רשת Falcon VPC לתעבורת הנתונים של Cloud RDMA
  3. יוצרים מכונה באמצעות קובץ אימג' ציבורי של מערכת ההפעלה או קובץ אימג' בהתאמה אישית של מערכת ההפעלה. במהלך יצירת המכונה, מגדירים לפחות שני ממשקי רשת: אחד שמשתמש במנהל התקן של רשת gVNIC ואחד שמשתמש במנהל התקן IRDMA RDMA.

  4. מוודאים ש-Cloud RDMA מופעל.

הוספת מנהל ההתקן של IRDMA לקובץ אימג' של מערכת הפעלה

כדי להשתמש בקובץ אימג' של מערכת ההפעלה שבה מנהל ההתקן IRDMA לא מותקן כברירת מחדל, צריך לבצע את השלבים הבאים:

  1. יוצרים מכונה שמשתמשת בקובץ האימג' של מערכת ההפעלה שרוצים להשתמש בו עם Cloud RDMA.

  2. מתחברים למכונה שיצרתם.

  3. אם אתם לא משתמשים בקובץ אימג' של מערכת הפעלה שמותאמת ל- Google Cloud, הוסיפו את המאגר של CIQ באחת מהאפשרויות הבאות:

    • מומלץ: להתקין ישירות את חבילת ה-RPM של CIQ כדי להגדיר את מאגר ה-CIQ:

      sudo dnf install -y https://depot.ciq.com/public/files/gce-accelerator/irdma-kernel-modules-el8-x86_64/irdma-repos.rpm
      
    • אפשר גם לעדכן את מאגרי ה-YUM ישירות:

      sudo tee /etc/yum.repos.d/irdma-kernel-modules.repo > /dev/null << 'EOF'
      [irdma-kernel-modules]
      name = irdma kernel modules for EL $releasever ($basearch)
      baseurl = https://depot.ciq.com/public/files/gce-accelerator/irdma-kernel-modules-el$releasever-$basearch
      metadata_expire = 5m
      priority = -1
      repo_gpgcheck = false
      gpgcheck = false
      enabled = true
      skip_if_unavailable = true
      
      [irdma-kernel-modules-source]
      name = irdma kernel modules for EL $releasever (source)
      baseurl = https://depot.ciq.com/public/files/gce-accelerator/irdma-kernel-modules-el$releasever-source
      metadata_expire = 5m
      priority = -1
      repo_gpgcheck = false
      gpgcheck = false
      enabled = false
      skip_if_unavailable = true
      
      [irdma-kernel-modules-testing]
      name = irdma kernel modules for EL $releasever ($basearch) - testing
      baseurl = https://depot.ciq.com/public/files/gce-accelerator/irdma-kernel-modules-testing-el$releasever-$basearch
      metadata_expire = 5m
      priority = -1
      repo_gpgcheck = false
      gpgcheck = false
      enabled = false
      skip_if_unavailable = true
      
      [irdma-kernel-modules-testing-source]
      name = irdma kernel modules for EL $releasever (source) - testing
      baseurl = https://depot.ciq.com/public/files/gce-accelerator/irdma-kernel-modules-testing-el$releasever-source
      metadata_expire = 5m
      priority = -1
      repo_gpgcheck = false
      gpgcheck = false
      enabled = false
      skip_if_unavailable = true
      EOF
      
  4. מתקינים את חבילת מנהלי ההתקנים kmod-idpf-irdma, שכוללת את מנהלי ההתקנים IDPF ו-IRDMA:

    sudo dnf install kmod-idpf-irdma
    

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

    • אם גרסת הליבה שלכם ישנה יותר מהגרסה הנדרשת, התקנת החבילה משדרגת באופן אוטומטי את הליבה ואת חבילות המערכת האחרות כתלות.
    • אם גרסת הליבה חדשה יותר מהגרסה שנתמכת במאגר CIQ, יכול להיות שההתקנה תיכשל. במקרה כזה, צריך להשתמש בקובץ אימג' של מערכת הפעלה שעבר אופטימיזציה ל- Google Cloud, שמשתמש בגרסה נתמכת של הליבה.
  5. מוודאים שהחבילה kmod-idpf-irdma מותקנת:

    sudo dnf list --installed
    

    הפלט כולל רשומה שדומה לזו:

    kmod-idpf-irdma.ARCHITECTURE VERSION@REPO_NAME
  6. מתקינים את החבילות של מרחב המשתמש:

    sudo dnf install -y \
        libibverbs libibverbs-devel libibverbs-utils \
        librdmacm librdmacm-devel librdmacm-utils \
        infiniband-diags
    

    החבילות librdmacm-utils ו-libibverbs-utils מתקינות כלי עזר נוספים לבדיקת הפונקציונליות של RDMA, כמו rping ו-ibv_devinfo.

  7. מומלץ: אחרי שמעדכנים את מערכת ההפעלה במופע החישוב לשימוש ב-IRDMA, יוצרים קובץ אימג' בהתאמה אישית על סמך קובץ אימג' של מערכת ההפעלה הזו. לאחר מכן תוכלו להשתמש באימג' בהתאמה אישית כדי ליצור עוד מופעי מחשוב שמשתמשים ב-IRDMA במערכת ההפעלה הזו.

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

יצירת קובץ אימג' של מערכת הפעלה בהתאמה אישית מקובץ אימג' ציבורי של מערכת הפעלה שתומך ב-Cloud RDMA

אפשר ליצור את קובץ אימג' של מערכת ההפעלה באמצעות Google Cloud CLI או REST. מידע מפורט ושיטות מומלצות ליצירת קובצי אימג' של מערכת ההפעלה בהתאמה אישית זמינים במאמר יצירת קובצי אימג' של מערכת ההפעלה בהתאמה אישית.

gcloud

  1. בוחרים קובץ אימג' של מערכת ההפעלה או משפחת קובצי אימג' שתומכים בממשק ובמנהל ההתקן של IRDMA. מידע נוסף מופיע במאמר פרטים על מערכת ההפעלה. בכרטיסייה ממשקים.

  2. יוצרים קובץ אימג' בהתאמה אישית של מערכת ההפעלה, באמצעות קובץ האימג' או משפחת קובצי האימג' של מערכת ההפעלה שבחרתם בשלב הקודם. כדי ליצור את קובץ אימג' של מערכת ההפעלה בהתאמה אישית, משתמשים בפקודה gcloud compute images create. לדוגמה, הפקודה הבאה יוצרת קובץ אימג' של מערכת ההפעלה בהתאמה אישית שתומך במנהל ההתקן IRDMA ומבוסס על קובץ אימג' ספציפי של מערכת ההפעלה.

    gcloud compute images create IMAGE_NAME \
        --source-image=SOURCE_IMAGE \
        --source-image-project=SOURCE_IMAGE_PROJECT
    

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

    • ‫IMAGE_NAME: השם של קובץ האימג' שרוצים ליצור
    • ‫SOURCE_IMAGE: קובץ אימג' ספציפי של מערכת ההפעלה שתומך במנהל ההתקן של IRDMA, לדוגמה: hpc-rocky-linux-8-v20250721

      אם רוצים להשתמש ב קובץ אימג' של מערכת ההפעלה העדכני במשפחת תמונות, צריך להחליף את הדגל --source-image בדגל --source-image-family ולהגדיר את הערך שלו למשפחת תמונות שתומכת בדרייבר IRDMA. לדוגמה: --source-image-family=hpc-rocky-linux-8.

    • ‫SOURCE_IMAGE_PROJECT: שם הפרויקט שמכיל את קובץ האימג' של מערכת ההפעלה או את משפחת קובצי האימג' של המקור

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

REST

  1. בוחרים קובץ אימג' של מערכת ההפעלה או משפחת קובצי אימג' שתומכת בממשק הרשת IRDMA. מידע נוסף על מערכת ההפעלה

  2. משתמשים בקובץ האימג' של מערכת ההפעלה או במשפחת קובצי האימג' שבחרתם בשלב הקודם, ויוצרים קובץ אימג' של מערכת ההפעלה באמצעות ה-method‏ images.insert.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images
    {
      "name":"IMAGE_NAME",
      "sourceImage":"SOURCE_IMAGE_URI"
    }
    

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

    • ‫PROJECT_ID: המזהה של הפרויקט שבו רוצים ליצור את התמונה החדשה
    • ‫IMAGE_NAME: שם לתמונה בהתאמה אישית
    • ‫SOURCE_IMAGE_URI: ה-URI של קובץ אימג' של מערכת ההפעלה הספציפי או של משפחת קובצי האימג' שבהם רוצים להשתמש

      לדוגמה:

      • קובץ אימג' ספציפי של מערכת ההפעלה: "sourceImage": "projects/rocky-linux-cloud/global/images/hpc-rocky-linux-8-v20250721"
      • משפחת התמונות: "sourceImage": "projects/rocky-linux-cloud/global/images/family/hpc-rocky-linux-8"

      כשמציינים משפחת תמונות,‏ Compute Engine יוצר מכונת VM מקובץ אימג' של מערכת ההפעלה העדכני ביותר שלא יצא משימוש במשפחה הזו. למידע נוסף על המקרים שבהם כדאי להשתמש במשפחות של תמונות, אפשר לעיין במאמר בנושא שיטות מומלצות לשימוש במשפחות של תמונות.

יצירת VM עם תמיכה במנהל התקן IRDMA

אתם יכולים ליצור VM באמצעות אחד מקובצי האימג' הציבוריים הנתמכים של מערכת ההפעלה, או באמצעות קובץ אימג' בהתאמה אישית של מערכת ההפעלה שיצרתם לפי השלבים שמפורטים בקטע יצירת קובץ אימג' בהתאמה אישית של מערכת ההפעלה שתומך ב-IRDMA.

כדי להשתמש ב-Cloud RDMA במכונה, צריך להגדיר כמה ממשקי רשת (NIC) במכונה. כרטיס רשת אחד צריך להשתמש במנהל ההתקן של gVNIC (מציינים nic-type=GVNIC) וכרטיס רשת אחר צריך להשתמש במנהל ההתקן של IRDMA (מציינים nic-type=IRDMA).

יצירת מכונה וירטואלית באמצעות תמונת מערכת הפעלה ציבורית

כדי ליצור מכונות וירטואליות באמצעות Advanced Compute Images, תמונת מכונה וירטואלית של HPC או קובץ אימג' של מערכת ההפעלה ציבורית שתומכת ב-Cloud RDMA, פועלים לפי ההוראות בדפים הבאים:

יצירת מכונה וירטואלית באמצעות קובץ אימג' של מערכת ההפעלה בהתאמה אישית

אם יצרתם קובץ אימג' של מערכת הפעלה בהתאמה אישית שתומך ב-Cloud RDMA, אתם יכולים להשתמש בו כדי ליצור מכונה וירטואלית באמצעות Google Cloud מסוף Google Cloud, Google Cloud CLI או REST.

הוראות ליצירת מכונה באמצעות קובץ אימג' בהתאמה אישית מפורטות במאמר יצירת מכונה מקובץ אימג' בהתאמה אישית.

בדיקה שהתכונה Cloud RDMA מופעלת

אחרי פריסת ה-VM, מריצים את בדיקת רוחב הפס הבאה כדי לוודא שאתם מריצים מכונה תקינה של Cloud RDMA-enabled VM.

ib_send_bw -aF & # start the server
ib_send_bw -aF $(hostname) # start the client (can be done on the same machine)

רוחב הפס המדווח של חיבור יחיד BW average [MB/s] צריך להגיע ל-11,000 MBps לפחות בשורות שגבוהות מ-4096 B. ערכים קטנים יותר צפויים להודעות קטנות יותר.

המאמרים הבאים