יצירת אשכול Slurm מנוהל במלואו לעומסי עבודה של AI

במאמר הזה מוסבר איך להגדיר ולפרוס אשכול Slurm מנוהל לחלוטין באמצעות Cluster Director עם סוגי המכונות A4X,‏ A4,‏ A3 Ultra או A3 Mega. למידע נוסף על סוגי המכונות האלה, שעברו אופטימיזציה למאיצים, קראו את המאמר מידע על מאיצי GPU.

‫Cluster Director הוא מוצר של Google Cloudשמגדיר באופן אוטומטי אשכולות של Slurm. המוצר הזה מיועד לאדמינים ממחלקת IT ולחוקרי AI שרוצים להימנע מהתקורה של ניהול אשכול ולהתמקד בהרצת עומסי העבודה שלהם. אם אתם רוצים יותר שליטה על פריסת האשכול, צרו את האשכול באמצעות Cluster Toolkit.

מגבלות

בהתאם לסוג המכונה שבה משתמשים במכונות של Compute Engine באשכול, חלות המגבלות הבאות:

A4X

A4

A3 Ultra

A3 Mega

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

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

  1. בחירת אפשרות צריכה: אפשרות הצריכה שתבחרו תקבע איך תקבלו את משאבי ה-GPU ותשתמשו בהם. מידע נוסף זמין במאמר בחירת אפשרות צריכה.
  2. השגת קיבולת: התהליך להשגת קיבולת שונה בכל אפשרות צריכה. במאמר סקירה כללית על קיבולת מוסבר איך מקבלים קיבולת לאפשרות הצריכה שבחרתם.
  3. מוודאים שיש לכם מספיק מכסה לקיבולת של Filestore: לפני הפריסה, צריך לוודא שיש לכם מספיק מכסה ל-Filestore באזור היעד. במכונות מסוג A4X,‏ A4,‏ A3 Ultra ו-A3 Mega, צריך קיבולת מינימלית של 10 TiB‏ (10,240 GiB) של HIGH_SCALE_SSD (אזורי).

    כדי לבדוק את המכסה או לבקש להגדיל אותה, אפשר לעיין במאמרים הבאים:

  4. אימות המדיניות בנושא קובצי אימג' מהימנים: אם לארגון שבו נמצא הפרויקט יש מדיניות בנושא קובצי אימג' מהימנים (constraints/compute.trustedImageProjects), צריך לוודא שהפרויקט clusterdirector-public-images נכלל ברשימת הפרויקטים המורשים. מידע נוסף זמין במאמר הגדרת כללי מדיניות בנושא קובצי אימג' מהימנים.

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

כדי ליצור אשכול Slurm, צריך את תפקידי ה-IAM וההרשאות הבאים:

יצירת אשכול Slurm

כדי ליצור אשכול שמותאם ל-AI באמצעות Cluster Director:

  1. הגדרת משאבי המחשוב

  2. הגדרת רשת

  3. הגדרת משאבי אחסון

  4. הגדרת סביבת Slurm

הגדרת משאבי המחשוב

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

  1. נכנסים לדף Cluster Director במסוף Google Cloud .

    כניסה ל-Cluster Director

  2. לוחצים על Create cluster.

  3. בתיבת הדו-שיח שמופיעה, לוחצים על Reference architecture. נפתח הדף Create a cluster.

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

  5. לוחצים על התאמה אישית.

  6. בקטע Compute, בשדה Cluster name, נותנים שם לאשכול. השם יכול להכיל עד 10 תווים, ורק מספרים או אותיות קטנות (a-z).

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

    1. בקטע Compute, לוחצים על Edit resource configuration. מופיע החלונית Add resource configuration.

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

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

    4. בקטע Consumption options, מציינים את אפשרות הצריכה שבה רוצים להשתמש כדי לקבל משאבים:

      • כדי ליצור מכונות באמצעות הזמנה:

        1. לוחצים על הכרטיסייה Use reservation.

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

        3. בוחרים את ההזמנה שבה רוצים להשתמש. אחר כך לוחצים על בחירה. הפעולה הזו מגדירה באופן אוטומטי את האזור ואת התחום של משאבי המחשוב.

      • כדי ליצור מכונות Flex-start VM:

        1. לוחצים על הכרטיסייה Flex start.

        2. בקטע Time limit for the VM, מציינים את משך זמן הריצה של המכונות. הערך צריך להיות בין 10 דקות ל-7 ימים.

        3. בקטע Location, בוחרים את האזור שבו רוצים ליצור את המכונות הווירטואליות מסוג Flex-start.Google Cloud מסננת באופן אוטומטי את האזורים הזמינים, ומציגה רק את האזורים שתומכים במכונות Flex-start VM לסוג המכונה שבחרתם.

      • כדי ליצור מכונות וירטואליות (VM) במודל Spot:

        1. לוחצים על הכרטיסייה Use spot.

        2. ברשימה On VM termination בוחרים אחת מהאפשרויות הבאות:

          • כדי למחוק את ה-VM במודל Spot כשהן מפסיקות לפני הזמן, בוחרים באפשרות Delete.

          • כדי לעצור מכונות VM במודל Spot בזמן הפקעה, בוחרים באפשרות Stop.

        3. בקטע Location, בוחרים את האזור (Region) והתחום (Zone) שבהם רוצים ליצור את ה-VM במודל Spot.Google Cloud מסננת באופן אוטומטי את האזורים הזמינים, ומציגה רק את האזורים שתומכים במכונות וירטואליות במודל Spot לסוג המכונה שבחרתם.

    5. לוחצים על סיום.

    6. אופציונלי: כדי ליצור הגדרות נוספות של משאבי מחשוב למחיצה, לוחצים על Add resource configuration ופועלים לפי ההנחיות כדי לציין את משאבי המחשוב.

  8. לוחצים על Continue.

הגדרת רשת

כדי להגדיר את הרשת שבה משתמש האשכול:

  1. בקטע Choose a Virtual Private Cloud (VPC) network, מבצעים אחת מהפעולות הבאות:

    • מומלץ: כדי לאפשר ל-AI Hypercomputer ליצור באופן אוטומטי רשת VPC שהוגדרה מראש לאשכול, מבצעים את הפעולות הבאות:

      1. בוחרים באפשרות Create a new VPC network.

      2. בשדה Network name, נותנים שם לרשת ה-VPC.

    • כדי להשתמש ברשת VPC קיימת או ברשת VPC משותפת:

      1. בוחרים באפשרות שימוש ברשת VPC בפרויקט הנוכחי או באפשרות שימוש ברשת VPC משותפת המתארחת בפרויקט אחר.

      2. ברשימה Select VPC network או Shared VPC network, בוחרים רשת VPC או רשת VPC משותפת שעומדת בהגדרות הנדרשות.

      3. ברשימה Select subnetwork, בוחרים רשת משנה קיימת.

  2. לוחצים על Continue.

הגדרת משאבי אחסון

כשיוצרים אשכול מתבנית של Cluster Director, המערכת מגדירה באופן אוטומטי מכונה של Filestore או של Managed Lustre כמשאב האחסון של האשכול.

כדי להוסיף או לערוך את משאבי האחסון שבהם משתמש האשכול, מבצעים את הפעולות הבאות בקטע Storage. מידע נוסף על שירותי האחסון שאפשר להגדיר מופיע במאמר שירותי אחסון נתמכים ב-Cluster Director.

  1. אופציונלי: כדי לערוך משאב אחסון, לוחצים על Edit storage plan ופועלים לפי ההנחיות כדי לעדכן את ההגדרות של משאב האחסון.

  2. אופציונלי: כדי להוסיף משאבי אחסון לאשכול, לוחצים על Add storage configuration ופועלים לפי ההנחיות כדי לציין את ההגדרות של משאבי האחסון.

    שירותי האחסון שנתמכים ב-Cluster Director

  3. לוחצים על Continue.

הגדרת סביבת Slurm

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

  1. אופציונלי: כדי לערוך את המספר והסוג של המכונות שצומת ההתחברות משתמש בהן, מרחיבים את הקטע Login node ופועלים לפי ההנחיות לעדכון משאבי המחשוב.

  2. אופציונלי: כדי לערוך את המחיצות של האשכול ולארגן את משאבי המחשוב, מרחיבים את הקטע Partitions ומבצעים אחת מהפעולות הבאות:

    • כדי להוסיף מחיצה, לוחצים על הוספת מחיצה ואז מבצעים את הפעולות הבאות:

      1. בשדה Partition name, נותנים שם למחיצה.

      2. כדי לערוך קבוצת צמתים, לוחצים על החלפת מצב של קבוצת צמתים. אחרת, כדי להוסיף קבוצת צמתים, לוחצים על Add nodeset.

      3. בשדה Nodeset name, נותנים שם לקבוצת הצמתים.

      4. בשדה Resource configuration, בוחרים את הגדרת משאב המחשוב שיצרתם בשלבים הקודמים.

      5. ברשימה Source image, בוחרים באחד מקובצי האימג' של מערכת ההפעלה שנתמכים ב-AI Hypercomputer.

      6. בשדה Static node count, מזינים את המספר המינימלי של מכונות ה-Compute שתמיד צריכות לפעול באשכול.

      7. בשדה Dynamic node count, מזינים את המספר המקסימלי של מכונות ש-AI Hypercomputer יכול להוסיף לאשכול כשיש עלייה בנפח התנועה.

      8. ברשימה Boot disk type ובשדה Boot disk size, מזינים את הסוג והגודל של דיסק האתחול שבו ישתמשו המכונות.

      9. לוחצים על סיום.

    • כדי להסיר מחיצה, לוחצים על Delete partition.

  3. אופציונלי: כדי להוסיף סקריפטים של פרולוג או אפילוג לסביבת Slurm:

    1. מרחיבים את הקטע הגדרות תזמור מתקדמות.

    2. בקטע תסריטים, פועלים לפי ההנחיות כדי להוסיף תסריטים.

  4. לוחצים על יצירה. מופיע הדף Clusters. יצירת האשכול עשויה להימשך זמן מה. משך הזמן תלוי במספר המכונות שביקשתם ובזמינות המשאבים באזור של המכונות. אם המשאבים שביקשתם לא זמינים, בקשת היצירה נשמרת ב-AI Hypercomputer עד שהמשאבים יהיו זמינים. כדי לראות את הסטטוס של פעולת יצירת האשכול, צפו בפרטי האשכול.

התחברות לאשכול Slurm

אחרי ש-AI Hypercomputer יוצר את צומת ההתחברות, סטטוס האשכול משתנה ל-Ready. אחרי כן תוכלו להתחבר לאשכול, אבל תוכלו להריץ עומסי עבודה רק אחרי ש-AI Hypercomputer ייצור את צומתי המחשוב באשכול.

כדי להתחבר לצומת ההתחברות של אשכול באמצעות SSH דרך מסוףGoogle Cloud :

  1. נכנסים לדף Clusters במסוף Google Cloud .

    כניסה לדף Clusters

  2. בטבלה Clusters, בעמודה Name, לוחצים על שם האשכול שיצרתם בקטע הקודם. מופיע דף עם פרטי האשכול, והכרטיסייה Details נבחרת.

  3. לוחצים על הכרטיסייה Nodes.

  4. בקטע Login nodes, בעמודה Connect, מאתרים את צומת ההתחברות של האשכול, ששמו CLUSTER_NAME-login-001.

  5. בעמודה Connect בצומת של ההתחברות, לוחצים על הכפתור SSH. החלון SSH-in-browser נפתח.

  6. אם מופיעה בקשה, לוחצים על Authorize. ההתחברות לצומת יכולה להימשך עד דקה.

אימות התקינות של אשכול Slurm

לפני שמריצים משימה בצומת מחשוב, Slurm מריץ באופן אוטומטי בדיקת תקינות מהירה של ה-GPU בצומת. אם הצומת נכשל בבדיקה, Slurm מרוקן את הצומת ומונע תזמון של משימות חדשות בו.

כדי לבדוק בצורה יסודית יותר את תקינות ה-GPU ואת רוחב הפס של הרשת בצומתי המחשוב במחיצת האשכול, אתם יכולים להריץ באופן ידני בדיקות של NVIDIA Collective Communications Library‏ (NCCL). אם בדיקת NCCL מזהה צמתים לא תקינים, אתם יכולים לתקן את הצמתים או לשנות את האשכול. בדיקות NCCL עוזרות לכם לוודא את תקינות האשכול לפני שאתם מריצים עומסי עבודה קריטיים. למידע נוסף, ראו אימות תקינות האשכול.

מחיקת אשכול Slurm

כדי למחוק אשכול Slurm בפרויקט, בוחרים באחת מהאפשרויות הבאות:

  1. נכנסים לדף Clusters במסוף Google Cloud .

    כניסה לדף Clusters

  2. בטבלה Clusters, בעמודה Name, לוחצים על שם האשכול שרוצים למחוק. מופיע דף עם פרטי האשכול, והכרטיסייה Details נבחרת.

  3. לוחצים על מחיקה.

  4. בתיבת הדו-שיח שמופיעה, מזינים את שם האשכול ולוחצים על Delete כדי לאשר. מופיע הדף Clusters. מחיקת האשכול יכולה להימשך זמן מה.

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