שיטות מומלצות להרצת עומסי עבודה של HPC ב-GKE

‫Google Kubernetes Engine‏ (GKE) מספק פלטפורמה ניתנת להתאמה עם ביצועים גבוהים לעומסי עבודה של מחשוב עתיר ביצועים (HPC). כדי להשיג ביצועים גבוהים ויעילות תפעולית, אתם יכולים להשתמש בתשתית שעברה אופטימיזציה לעומסי עבודה, כמו משפחות של מכונות וירטואליות שספציפיות ל-HPC, ש-GKE מספק. במסמך הזה מפורטות שיטות מומלצות לניהול התשתית ועומסי העבודה כדי לשפר את ההרצה של אפליקציות HPC ב-GKE.

סקירה מרוכזת של כל השיטות המומלצות ל-GKE זמינה במאמר שיטות מומלצות ל-GKE.

הגדרת התשתית והצומת

בקטע הזה מתוארות שיטות מומלצות להגדרת התשתית הבסיסית וצמתי GKE לעומסי עבודה של HPC.

בחירת מכונות וירטואליות מסוג H4D לעומסי עבודה אינטנסיביים

בוחרים את החומרה המתאימה לאפליקציה. מכונות וירטואליות מסוג H4D מיועדות למקסום התפוקה של אפליקציות HPC שדורשות הרבה משאבי מחשוב. מכונות ה-VM מסוג H4D מציעות ביצועים גבוהים, עלות נמוכה ומדרגיות לעומסי עבודה (workloads) מרובי-צמתים. מכונות וירטואליות מסוג H4D הן חלק ממשפחת המכונות שמותאמות לצריכת מעבד גבוהה, שמציעה מכונות וירטואליות שמותאמות לצריכת מעבד גבוהה ואידיאליות לעומסי עבודה (workload) של ניתוח נתונים אינטנסיביים ושל HPC.

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

הוראות ליצירת אשכולות GKE שעברו אופטימיזציה ל-HPC זמינות במאמר הרצת עומסי עבודה של מחשוב עתיר ביצועים (HPC) באמצעות H4D.

הקצאת משאבים לצומת

הסבר על ההבדל בין קיבולת המשאבים הכוללת של צומת לבין המשאבים שניתן להקצות לעומסי העבודה. בצמתי GKE פועלים רכיבי מערכת, כמו kubelet וזמן ריצה של קונטיינרים, שנדרשים להפעלת משאבים. מערכת GKE שומרת כמות מוגדרת מראש של משאבים לטובת פונקציונליות המערכת והמהימנות של הצומת. הבנה של כמות המשאבים האמיתית שהוקצו לעומס העבודה (גודל מכונת ה-VM פחות הקיבולת ש-GKE שומר) יכולה לעזור לכם להגדיר את גודל בקשות המשאבים לעומסי העבודה שלכם ב-HPC.

מידע נוסף זמין במקורות המידע הבאים:

שמירת ליבות כדי לצמצם את הסיכון להפסקות

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

כדי לשמור על רמת הביצועים, מומלץ לא להקצות את כל המעבדים הזמינים לעומס העבודה. תהליכי מערכת חיוניים דורשים תקורה קטנה של מעבד כדי לפעול בצורה תקינה. הקצאת 100% מיכולת החישוב לעומס העבודה יוצרת תחרות על משאבים עם רכיבי המערכת האלה, מה שעלול לפגוע בביצועים. לדוגמה, כדי לשמור על הביצועים של סוגי מכונות H4D, צריך להגדיר את עומס העבודה כך שישתמש בפחות מ-192 מעבדים.

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

בקטע הזה מתוארות שיטות מומלצות להגדרת אשכולות GKE ולפריסת עומסי עבודה של HPC.

שימוש ב-Cluster Toolkit ליצירת אשכול

אפשר להשתמש ב-Cluster Toolkit כדי לפשט את הפריסה והניהול של עומסי עבודה של HPC ב-GKE. ערכת הכלים מספקת תוכניות של עיצובים לדוגמה שמשלבות שיטות מומלצות להגדרת משאבי מחשוב, אחסון ורשת בסביבה עם ביצועים גבוהים.

הוראות לשימוש ב-Cluster Toolkit כדי ליצור אשכול H4D זמינות במאמר הרצת עומסי עבודה של מחשוב עתיר ביצועים (HPC) באמצעות H4D.

שימוש בהתחלה גמישה לניהול הקיבולת

לעומסי עבודה של HPC עם שימוש לא רציף (דינמי) או לא רגיש לזמן, כדאי להשתמש בהפעלה גמישה כדי לשפר את ניהול הקיבולת כשקיבולת לפי דרישה או קיבולת שמורה של H4D לא זמינה. התכונה Flex-start מנהלת את מחזור החיים של צמתי H4D ועוזרת לתת מענה לצרכים של משאבים שמשתנים במהירות או שרגישים לזמן.

מידע נוסף זמין במאמר בנושא יצירת אשכול H4D עם flex-start.

שימוש במדיניות למיקום קומפקטי עבור עומסי עבודה עם צימוד הדוק

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

אם יוצרים אשכול H4D באמצעות CLI של gcloud, כמו שמתואר במאמר הפעלת עומסי עבודה של מחשוב בעל ביצועים גבוהים (HPC) באמצעות H4D, ‏ GKE מגדיר באופן אוטומטי מדיניות מיקום קומפקטית. אם אתם משתמשים ב-Cluster Toolkit, המדיניות הזו מוגדרת גם באופן אוטומטי. אם רוצים להגדיר ידנית מיקום קומפקטי לסוגים אחרים של צמתים, אפשר לעיין במאמר הגדרת מיקום קומפקטי לצמתים של GKE.

הגדרת בקשות מתאימות למשאבים

לפני שקובעים את הגודל של עבודות ה-HPC, כדאי לבדוק את המעבד (CPU) שניתן להקצאה בפועל בצמתים. משתמשים בפקודה kubectl get node כדי לראות את המשאבים שניתן להקצות. מוודאים שדרישות המעבד של העבודה לא חורגות מהזמינות ב-GKE אחרי ההזמנות של מערכת GKE.

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

הקצאת צמתים שלמים לעומסי עבודה יחידים

מגדירים את עבודות ה-MPI כך שישתמשו בצומת H4D שלם. מכונות H4D מוקצות כמכונות וירטואליות של מארח שלם. האסטרטגיה הזו שומרת את רוב הקיבולת של הצומת, כדי להבטיח שעומס העבודה מבודד. כדי לוודא שהרפליקות לא ימוקמו באותו צומת פיזי, אפשר להשתמש בבקשות למשאבי קונטיינר או ב-Pod anti-affinity.

הפעלת Cloud RDMA לרשתות מהירות עם מכונות וירטואליות מסוג H4D

אם אתם משתמשים במכונות וירטואליות מסוג H4D, אתם צריכים להגדיר את מניפסט הפריסה כדי להפעיל Cloud RDMA עבור ה-Pods. ההגדרה הזו עוזרת לוודא שממשקי הרשת של RDMA במהירות גבוהה נחשפים בצורה נכונה לעומס העבודה שלכם שמבוסס על קונטיינרים. הוראות מפורטות זמינות במאמר הגדרת קובצי מניפסט ל-RDMA.

סיכום השיטות המומלצות

בטבלה הבאה מפורטות השיטות המומלצות שמופיעות במסמך הזה:

נושא משימה
הגדרת התשתית והצומת בחירת מכונות וירטואליות מסוג H4D לעומסי עבודה אינטנסיביים
הגדרת התשתית והצומת הקצאת משאבים לצומת
הגדרת התשתית והצומת שמירת ליבות כדי לצמצם את הסיכון להפסקות
הגדרות של אשכולות ועומסי עבודה שימוש ב-Cluster Toolkit ליצירת אשכול
הגדרות של אשכולות ועומסי עבודה שימוש בהתחלה גמישה לניהול הקיבולת
הגדרות של אשכולות ועומסי עבודה שימוש במדיניות למיקום קומפקטי עבור עומסי עבודה עם צימוד הדוק
הגדרות של אשכולות ועומסי עבודה הגדרת בקשות מתאימות למשאבים
הגדרות של אשכולות ועומסי עבודה הקצאת צמתים שלמים לעומסי עבודה יחידים
הגדרות של אשכולות ועומסי עבודה הפעלת Cloud RDMA לרשתות מהירות עם מכונות וירטואליות מסוג H4D

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