Google Kubernetes Engine (GKE) מספק פלטפורמה ניתנת להתאמה עם ביצועים גבוהים לעומסי עבודה של מחשוב עתיר ביצועים (HPC). כדי להשיג ביצועים גבוהים ויעילות תפעולית, אתם יכולים להשתמש בתשתית שעברה אופטימיזציה לעומסי עבודה, כמו משפחות של מכונות וירטואליות ספציפיות ל-HPC, ש-GKE מספקת. במאמר הזה מפורטות שיטות מומלצות לניהול התשתית ועומסי העבודה, כדי לבצע אופטימיזציה של הרצת אפליקציות HPC ב-GKE.
לסקירה מרוכזת של כל השיטות המומלצות ל-GKE, אפשר לעיין במאמר שיטות מומלצות ל-GKE.הגדרת התשתית והצומת
בקטע הזה מתוארות שיטות מומלצות להגדרת התשתית הבסיסית וצומתי GKE לעומסי עבודה של HPC.
בחירת מכונות וירטואליות מסוג H4D לעומסי עבודה (workloads) שדורשים הרבה משאבי מחשוב
בוחרים את החומרה המתאימה לאפליקציה. מכונות וירטואליות מסוג H4D מיועדות למקסום התפוקה של אפליקציות HPC שדורשות הרבה משאבי מחשוב. מכונות וירטואליות מסוג H4D מציעות ביצועים גבוהים, עלות נמוכה ומדרגיות לעומסי עבודה (workloads) מרובי-צמתים. מכונות וירטואליות מסוג H4D הן חלק ממשפחת המכונות שמותאמות לצריכת מעבד גבוהה, שמציעה מכונות וירטואליות שמותאמות לצריכת מעבד גבוהה ואידיאליות לחישובים אינטנסיביים ול-HPC.
מידע נוסף על סדרת המכונות H4D זמין במאמר משפחת מכונות מותאמת לצריכת מעבד גבוהה (compute-optimized): סדרת המכונות H4D.
במאמר הרצת עומסי עבודה של מחשוב עתיר ביצועים באמצעות H4D מוסבר איך יוצרים אשכולות GKE שמותאמים ל-HPC.
הקצאת משאבים לצומת
הסבר על ההבדל בין קיבולת המשאבים הכוללת של צומת לבין המשאבים שניתן להקצות לעומסי העבודה. צמתים של GKE מריצים רכיבי מערכת, כמו kubelet וזמן ריצה של קונטיינרים, שדורשים משאבים כדי לפעול. מערכת GKE שומרת כמות מוגדרת מראש של משאבים לטובת פונקציונליות המערכת והמהימנות של הצומת. הבנה של כמות הקצאת המשאבים האמיתית שיש לכם עבור עומס העבודה (גודל המכונה הווירטואלית פחות הקיבולת ש-GKE שומר) יכולה לעזור לכם להגדיר את הגודל הנכון של בקשות המשאבים עבור עומסי העבודה שלכם ב-HPC.
מידע נוסף זמין במקורות המידע הבאים:
- מסמכי GKE בנושא תכנון גודלי הצמתים: בדיקת משאבים שניתנים להקצאה בצומת.
- מסמכי Kubernetes בנושא הזמנת משאבי מחשוב עבור שדים של המערכת.
שמירת ליבות כדי לצמצם את הסיכון להפסקות
אם עומס עבודה משתמש בכל ליבות הפיזיות שזמינות לו בצומת, הוא עלול להתחרות עם שדים של מערכת שרגישים לזמן האחזור. התחרות הזו עלולה לגרום להפסקות תכופות שבהן מתזמן מערכת ההפעלה מפריע לעומס העבודה של ה-HPC כדי לבצע משימות מערכת, מה שעלול לפגוע בביצועים.
כדי לשמור על הביצועים, מומלץ לא להקצות את כל המעבדים הזמינים לעומס העבודה. תהליכי מערכת חיוניים דורשים כמות קטנה של תקורה של מעבד כדי לפעול בצורה תקינה. הקצאת 100% מקיבולת המחשוב לעומס העבודה יוצרת תחרות על משאבים עם רכיבי המערכת האלה, מה שעלול לפגוע בביצועים. לדוגמה, כדי לשמור על הביצועים של סוגי מכונות H4D, צריך להגדיר את עומס העבודה כך שישתמש בפחות מ-192 מעבדים.
הגדרת האשכול ועומס העבודה
בקטע הזה מתוארות שיטות מומלצות להגדרת אשכולות GKE ולפריסת עומסי עבודה של HPC.
שימוש ב-Cluster Toolkit ליצירת אשכולות
כדי לפשט את הפריסה והניהול של עומסי עבודה של HPC ב-GKE, אפשר להשתמש ב-Cluster Toolkit. ערכת הכלים מספקת תוכניות של עיצובים לדוגמה שכוללות שיטות מומלצות להגדרת משאבי מחשוב, אחסון ורשת בסביבה עם ביצועים גבוהים.
הוראות לשימוש ב-Cluster Toolkit כדי ליצור אשכול H4D זמינות במאמר הרצת עומסי עבודה של מחשוב עתיר ביצועים (HPC) באמצעות H4D.
שימוש ב"התחלה גמישה" לניהול קיבולת
לעומסי עבודה של HPC עם שימוש לא רציף (דינמי) או לא רגיש לזמן, כדאי להשתמש בהתחלה גמישה כדי לשפר את ניהול הקיבולת כשקיבולת על פי דרישה או קיבולת שמורה של H4D לא זמינה. התכונה Flex-start מנהלת את מחזור החיים של צמתים מסוג H4D ועוזרת לתת מענה לצרכים של משאבים שמשתנים במהירות או שרגישים לזמן.
מידע נוסף זמין במאמר יצירת אשכול H4D עם התחלה גמישה.
שימוש במדיניות למיקום קומפקטי לעומסי עבודה עם צימוד חזק
יישום מדיניות למיקום קומפקטי של עומסי עבודה (workloads) של HPC שרגישים לזמן אחזור ומצומדים חזק זה לזה. המדיניות הזו עוזרת לוודא שכל ה-Pods מוקצים קרוב זה לזה במכונות המארחות. ההגדרה הזו מצמצמת את זמן האחזור ברשת בין הצמתים, וזה חשוב לאפליקציות שמסתמכות על תקשורת בין צמתים.
אם יוצרים אשכול H4D באמצעות ה-CLI של gcloud, כמו שמתואר במאמר הפעלת עומסי עבודה של מחשוב בעל ביצועים גבוהים (HPC) באמצעות H4D, GKE מגדיר באופן אוטומטי מדיניות מיקום קומפקטית. אם אתם משתמשים ב-Cluster Toolkit, המדיניות הזו מוגדרת גם באופן אוטומטי. אם אתם רוצים להגדיר באופן ידני מיקום קומפקטי לסוגי צמתים אחרים, קראו את המאמר הגדרת מיקום קומפקטי לצומתי GKE.
הגדרת בקשות מתאימות למשאבים
לפני שקובעים את הגודל של עבודות ה-HPC, כדאי לבדוק את המעבד שניתן להקצאה בפועל בצמתים.
משתמשים בפקודה kubectl get node כדי לראות את המשאבים שניתן להקצות. מוודאים שדרישות המעבד של העבודה לא חורגות מהזמינות ב-GKE אחרי ההזמנות של מערכת GKE.
ל-GKE יש כמה תכונות שעוזרות לנתח את בקשות המשאבים ולהתאים אותן באופן אוטומטי. מידע נוסף זמין במאמר זיהוי עומסי עבודה עם הקצאת יתר או הקצאה חסרה של משאבים.
הקצאת צמתים שלמים לעומסי עבודה יחידים
מגדירים את עבודות ה-MPI כך שינצלו את כל הצומת H4D. מכונות H4D מוקצות כמכונות וירטואליות של מארח שלם. האסטרטגיה הזו שומרת את רוב הקיבולת של הצומת, כדי להבטיח שעומס העבודה יהיה מבודד. כדי לוודא שהרפליקות לא יגיעו לאותו צומת פיזי, השתמשו בבקשות למשאבי קונטיינר או ב-Pod anti-affinity.
הפעלת Cloud RDMA לרשתות במהירות גבוהה עם מכונות וירטואליות מסוג H4D
אם אתם משתמשים במכונות וירטואליות מסוג H4D, אתם צריכים להגדיר את מניפסט הפריסה כדי להפעיל את Cloud RDMA בפודים. ההגדרה הזו עוזרת לוודא שממשקי הרשת של RDMA במהירות גבוהה נחשפים בצורה נכונה לעומס העבודה שלכם שמבוסס על קונטיינרים. להוראות, ראו הגדרת מניפסטים ל-RDMA.
סיכום של השיטות המומלצות
בטבלה הבאה מפורטות השיטות המומלצות שמופיעות במסמך הזה:
| נושא | משימה |
|---|---|
| הגדרת התשתית והצומת | בחירת מכונות וירטואליות מסוג H4D לעומסי עבודה אינטנסיביים |
| הגדרת התשתית והצומת | הקצאת משאבים לצומת |
| הגדרת התשתית והצומת | שמירת ליבות כדי לצמצם את ההפקעות |
| הגדרת האשכול ועומס העבודה | שימוש ב-Cluster Toolkit ליצירת אשכולות |
| הגדרת האשכול ועומס העבודה | שימוש במועד התחלה גמיש לניהול הקיבולת |
| הגדרת אשכולות ועומסי עבודה | שימוש במדיניות למיקום קומפקטי לעומסי עבודה (workloads) עם צימוד הדוק |
| הגדרת האשכול ועומס העבודה | הגדרת בקשות מתאימות למשאבים |
| הגדרת האשכול ועומס העבודה | הקצאת צמתים שלמים לעומסי עבודה יחידים |
| הגדרת האשכול ועומס העבודה | הפעלת Cloud RDMA לרשתות במהירות גבוהה עם מכונות וירטואליות מסוג H4D |