ב-AI Hypercomputer נעשה שימוש בשירותי רשת ספציפיים שנקבעים לפי סוג המכונה עם GPU שבוחרים. הבנה של השירותים האלה מאפשרת לכם לבצע אופטימיזציה של הביצועים ושל התפוקה: ההתקדמות האפקטיבית של משימת אימון של מכונת למידה.
רשתות לפי תשתית
ארכיטקטורת הרשת של הפריסה תלויה בבחירת התשתית, ב-GPU כללי או ב-GPU מקובץ.
רשת VPC רגילה לשימוש ביחידות GPU כלליות
מעבדים גרפיים כלליים משתמשים ברישות VPC רגיל של Google Cloud.
- ארכיטקטורה: מסתמכת על עיצוב סטנדרטי של VPC עם מספר דיירים להסקת מסקנות, להצגת מודלים ולמחקרים ראשוניים.
- פרוטוקולים: משתמשים ב-TCP/IP דרך Google Virtual NIC (gVNIC).
בדים בעלי ביצועים גבוהים ל-GPU באשכול
AI Hypercomputer עוזר לכם לפרוס מכונות GPU שמשתמשות בארכיטקטורת רשת היררכית ומותאמת למסילות. העיצוב הזה מאפשר קישוריות צפויה וביצועים גבוהים, ומצמצם את התקורה של התקשורת. כך משתפרת התפוקה (goodput) באופן ישיר, כי המעבדים הגרפיים יכולים להקדיש יותר זמן לחישובים במקום לחכות לנתונים.
הסידור של יחידות GPU מקובצות בארכיטקטורת rail-aligned כולל שלושה רכיבים:
- תתי-בלוקים: קבוצה של מארחים שממוקמים פיזית באותו בלוק. מתג ToR (עליון במארז) מחבר בין המארחים האלה, ומאפשר תקשורת יעילה במיוחד עם קפיצה אחת בין כל שתי יחידות GPU בתוך תת-הבלוק. RDMA over Converged Ethernet (RoCE) מאפשר תקשורת ישירה כזו. ספריית NCCL משופרת שעברה אופטימיזציה לטופולוגיה של Google בארכיטקטורת rail-aligned, מטפלת בקולקטיבים של תקשורת בין מעבדי GPU.
- בלוקים: אוסף של תת-בלוקים שמחוברים ביניהם באמצעות רשת מהירה ללא חסימה שמספקת רוחב פס גבוה. אפשר להגיע לכל GPU בבלוק ב-2 קפיצות רשת לכל היותר. המערכת חושפת מטא-נתונים של בלוקים ותתי-בלוקים כדי לאפשר מיקום אופטימלי של משימות.
- אשכולות: אוסף של בלוקים מחוברים שאפשר להרחיב לאלפי מעבדי GPU, מה שמאפשר להריץ עומסי עבודה של אימון בהיקפים גדולים. התקשורת בין בלוקים שונים מוסיפה רק קפיצה אחת נוספת, וכך נשמרים ביצועים גבוהים וצפיות טובות גם בהיקף גדול מאוד. כדי לאפשר הצבה חכמה של משרות בהיקף גדול, מטא-נתונים ברמת האשכול זמינים גם למנהלי תזמור.
טכנולוגיות לתקשורת בין יחידות GPU
מכונות עם מעבד גרפי משתמשות בשילוב של טכנולוגיות כדי לספק ביצועים גבוהים, תפוקה גבוהה וזמן אחזור נמוך לעומסי עבודה. הטכנולוגיות האלה כוללות RDMA over Converged Ethernet (RoCE), NVIDIA NICs וטופולוגיית רשת של Google בארכיטקטורת rail-aligned שמתאימה לכל מרכזי הנתונים.
טכנולוגיית NVLink של NVIDIA יוצרת נתיבי נתונים ישירים במהירות גבוהה במיוחד בין כרטיסי ה-NIC של NVIDIA בכל מכונה. בנוסף, RoCE מאפשרת RDMA יעיל בין GPU במכונות שונות.
ערימות נטוורקינג של GPU
מערך פרוטוקולי רשת הוא אוסף של פרוטוקולי תוכנה, דרייברים ושכבות שפועלים יחד כדי להטמיע תקשורת בין GPU ל-GPU. סוגים שונים של מכונות GPU משתמשים בסטאקים שונים של רשתות. בטבלה הבאה מוגדרות ערימות הרשת וסוגי המכונות שמשויכים אליהן:
| רשימת רשתות בתהליך בחירת הרשת | תיאור | סוג מכונה עם GPU |
|---|---|---|
| GPUDirect RDMA | מאפשרת נתיב ישיר להעברת נתונים בין GPU לבין מכשיר אחר. במקרים של A4X Max ומופעי A4X, מחסנית הרשת הזו משתמשת ב-RoCE. מידע נוסף זמין במאמר בנושא אפשרויות להגדרת אשכול עם GPUDirect RDMA. | |
| GPUDirect-TCPXO | שיפור של GPUDirect-TCPX על ידי העברת פרוטוקול TCP. באמצעות GPUDirect-TCPXO, סוג המכונה A3 Mega מכפיל את רוחב הפס ברשת בהשוואה ל-A3 High. מידע על מיקסום רוחב הפס ברשת באשכולות GKE שמשתמשים ב-GPUDirect-TCPXO זמין במאמר מיקסום רוחב הפס ברשת של GPU באשכולות במצב רגיל. צריך לבחור בכרטיסייה GPUDirect-TCPXO. | |
| GPUDirect-TCPX | שיפור הביצועים של הרשת על ידי העברה ישירה של נתוני מטען של מנות נתונים מזיכרון ה-GPU לממשק הרשת. מידע על מיקסום רוחב הפס של הרשת באשכולות GKE שמשתמשים ב-GPUDirect-TCPX זמין במאמר מיקסום רוחב הפס של רשת ה-GPU באשכולות במצב רגיל. צריך לבחור בכרטיסייה GPUDirect-TCPX. |
|
| TCP/IP רגיל | פרוטוקול הרשת הבסיסי לעומסי עבודה כלליים (רגילים). הוא מספק אמינות גבוהה ותאימות רחבה לשירותי VPC רגילים. |
|
רשת מישור הנתונים של המארח והאחסון
מכונות עם כמה מעבדי GPU דורשות הגדרות רשת שונות לתקשורת עם מכונת החישוב לעומת עיבוד מידע מ-GPU ל-GPU.
נתיב רשת נפרד (שנקרא לפעמים גם רשת צפון-דרום או רשת חזיתית) מטפל בכל התקשורת עם מופע החישוב. התעבורה הזו כוללת גישה לדיסק, תקשורת בין מכונות וירטואליות, גישה לאינטרנט, גישה ל-Cloud Storage, ניהול ברמת המארח ותקשורת עם שירותים אחרים של Google Cloud.
כדי לנהל את התנועה הזו, סוגי המכונות עם GPU משתמשים בהגדרת Google Virtual NIC (gVNIC) במקום ב-Google Titanium NICs. כרטיסי רשת של Titanium מעבירים משימות עיבוד ברשת מהמעבד, וכך מאפשרים למעבד להתמקד בעומסי העבודה. ההפרדה הזו עוזרת לוודא שתעבורת נתונים לשימוש כללי של המארח ותעבורת נתונים ייעודית מ-GPU ל-GPU משתמשות בממשקים פיזיים שונים, וכך נמנע מצב שבו הן מתחרות על אותם משאבי מערכת.
סביבה עם כמה רשתות VPC
כל עומסי העבודה פועלים בענן הווירטואלי הפרטי (VPC) של Google Cloud.
מכונות עם האצת ביצועים גבוהה כוללות עיצוב חומרה מיוחד שמשתמש בכמה ממשקי רשת פיזיים כדי לטפל בסוגים שונים של תנועה. כדי לטפל בעיצוב החומרה המיוחד הזה, נדרש סביבת multi-VPC, בלי קשר לשימוש ב-Slurm, ב-GKE או ב-Compute Engine להפעלת עומסי העבודה.
ההגדרה הספציפית של כמה רשתות VPC תלויה בסוג מכונת ה-GPU ובמערך הרשת שלה:
A4X Max, A4X, A4 ו-A3 Ultra עם GPUDirect RDMA: המכונות האלה מגובות בשני כרטיסי NIC פיזיים: אחד שתומך בתעבורה למטרות כלליות ואחד שתומך בתעבורת RDMA. ממשקי רשת וירטואליים (vNIC) של מכונות וירטואליות שממופים לממשק רשת פיזי לשימוש כללי (ממשק
nic0וממשק רשת נוסף) מצורפים לרשתות VPC רגילות. כרטיסי RDMA vNIC שממופים לכרטיס RDMA פיזי מחוברים לרשת VPC נפרדת עם פרופיל רשת RDMA כדי להשתמש ב-GPUDirect RDMA. בסך הכול, סוגי המכונות האלה דורשים שלוש רשתות VPC. במאמר יצירת רשתות VPC ותת-רשתות מוסבר איך להגדיר את תשתית הרשת הזו.A3 Mega עם GPUDirect-TCPXO: המכונות האלה דורשות שמונה רשתות VPC נפרדות עבור כרטיסי ה-NIC של ה-GPU, שמוקדשים לתקשורת עם רוחב פס גבוה. שלבים מפורטים להשלמת ההגדרה הזו מופיעים במאמר יצירה של רשתות VPC ורשתות משנה.
A3 High עם GPUDirect-TCPX: המכונות האלה דורשות ארבעה רשתות VPC נפרדות עבור כרטיסי ה-NIC של ה-GPU, שמוקדשים לתקשורת עם רוחב פס גבוה. שלבים מפורטים להשלמת ההגדרה הזו מופיעים במאמר יצירה של רשתות VPC ורשתות משנה.
ההגדרה הזו של כמה רשתות VPC עוזרת לוודא שפעולות אחסון ומשימות מערכת אחרות לא מתחרות על רוחב הפס עם תקשורת קריטית בין GPU ל-GPU.
ההגדרה הנדרשת של רשתות מרובות VPC משתנה בהתאם לסוג המכונה עם ה-GPU. מדריך מפורט בנושא סידור הרשת, מהירויות רוחב הפס וכרטיסי רשת לכל סוגי המכונות הנתמכים עם GPU זמין במאמר רשתות ומכונות עם GPU.
בתרשים הבא מוצגת ארכיטקטורת הרשת של מכונת GPU מקובצת, עם הדגשה של ההפרדה בין תנועה למטרות כלליות לבין תנועה ייעודית מ-GPU ל-GPU במישורים שונים של הרשת.
כפי שמוצג בתרשים הקודם, מכונות ה-GPU האלה משתמשות בנתיבי רשת ייעודיים לסוגים שונים של תעבורת נתונים. תנועה לשימוש כללי, כולל גישה לניהול ולאחסון, עוברת דרך כרטיסי רשת של Google Titanium שמחוברים ל-VPC. תקשורת בין מעבדי GPU עם ביצועים גבוהים משתמשת בממשקי רשת נפרדים ובעננים וירטואליים פרטיים (VPC), שעברו אופטימיזציה באמצעות טכנולוגיות כמו RDMA, כדי להבטיח רוחב פס גבוה וזמן אחזור נמוך לעומסי עבודה של AI ו-ML.
ספריות ורכיבים של רשתות
כדי למקסם את רוחב הפס והביצועים של הרשת, ספריות ורכיבים של רשתות מאפשרים לכם להשתמש במעבדי GPU עם מחסנית הרשת של Google:
- gVNIC: Google Virtual NIC (gVNIC) הוא ממשק רשת וירטואלי שנועד במיוחד ל-Compute Engine. gVNIC משפר את הביצועים, מגדיל את העקביות ועוזר לצמצם את הבעיות שנובעות משימוש במשאבים משותפים. מומלץ להשתמש ב-gVNIC בכל משפחות המכונות, והוא ה-vNIC המומלץ לתקשורת בין מארחים. מידע נוסף מופיע במאמר בנושא שימוש ב-Google Virtual NIC.
- NCCL: ספריית התקשורת הקולקטיבית של NVIDIA (NCCL) מספקת פרימיטיבים שעברו אופטימיזציה לפעולות תקשורת קולקטיביות. NCCL תוכננה במיוחד לסביבות מרובות GPU ומרובות צמתים (nodes) באמצעות GPU ורשתות של NVIDIA. מריצים בדיקות NCCL כדי להעריך את הביצועים של אשכולות שנפרסו. מידע נוסף זמין במאמר בנושא בדיקת ביצועי הרשת.
- GKE multi-networking: תמיכה ברישות מרובה ל-Pods מאפשרת שימוש בכמה ממשקים בצמתים וב-Pods באשכול GKE. פרטים על הגדרת רישות מרובה בהקשר של GPUDirect זמינים במאמרים Maximize GPU network bandwidth in Standard mode clusters ו-Cluster configuration options with GPUDirect RDMA.
פרטים נוספים על חבילות התוכנה הזמינות מופיעים במאמר תמונות של מערכות הפעלה ו-Docker.
המאמרים הבאים
- שיטות מומלצות לשימוש בחשבונות שירות
- במאמר כללים של חומת אש ב-VPC מוסבר איך להקשיח את הרשת.
- מידע נוסף על קישוריות של מאיצים זמין במאמר סקירה כללית על רשתות GPU.