Google Kubernetes Engine (GKE) מספק פלטפורמה ניתנת להתאמה עם ביצועים גבוהים לעומסי עבודה של מחשוב עתיר ביצועים (HPC). כדי להשיג ביצועים גבוהים ויעילות תפעולית, אתם יכולים להשתמש בתשתית שעברה אופטימיזציה לעומסי עבודה, כמו משפחות של מכונות וירטואליות ספציפיות ל-HPC, ש-GKE מספקת. במסמך הזה מפורטות שיטות מומלצות לניהול התשתית ועומסי העבודה כדי לבצע אופטימיזציה של ההרצה של אפליקציות HPC ב-GKE.
הגדרת התשתית והצומת
בקטע הזה מתוארות שיטות מומלצות להגדרת התשתית הבסיסית וצמתי GKE לעומסי עבודה של HPC.
בחירת מכונות וירטואליות מסוג H4D לעומסי עבודה אינטנסיביים
בוחרים את החומרה המתאימה לאפליקציה. מכונות וירטואליות מסוג H4D מיועדות למקסום התפוקה של אפליקציות HPC שדורשות הרבה משאבי מחשוב. מכונות ה-VM מסוג H4D מציעות ביצועים גבוהים, עלות נמוכה ומדרגיות לעומסי עבודה (workloads) מרובי-צמתים. H4D היא חלק ממשפחת המכונות שמותאמת לצריכת מעבד גבוהה (compute-optimized), שמציעה מכונות שמותאמות לצריכת מעבד גבוהה ואידיאליות למחשוב עתיר ביצועים (HPC) ולמשימות שדורשות הרבה משאבי מחשוב.
מידע נוסף על סדרת המכונות H4D זמין במאמר משפחת מכונות מותאמת לצריכת מעבד גבוהה (compute-optimized): סדרת המכונות H4D.
הוראות ליצירת אשכולות GKE שעברו אופטימיזציה ל-HPC זמינות במאמר בנושא הפעלת עומסי עבודה של מחשוב עתיר ביצועים (HPC) באמצעות H4D.
הקצאת משאבים בצומת
הסבר על ההבדל בין קיבולת המשאבים הכוללת של צומת לבין המשאבים שניתן להקצות לעומסי העבודה. צמתי GKE מריצים רכיבי מערכת, כמו kubelet וזמן ריצה של קונטיינרים, שדורשים משאבים כדי לפעול. מערכת GKE שומרת כמות מוגדרת מראש של משאבים עבור פונקציונליות המערכת ואמינות הצומת. הבנה של כמות הקצאת המשאבים האמיתית שיש לכם לעומס העבודה (גודל מכונת ה-VM פחות הקיבולת ש-GKE שומר) יכולה לעזור לכם להגדיר את גודל בקשות המשאבים לעומסי העבודה שלכם ב-HPC.
מידע נוסף זמין במקורות המידע הבאים:
- מסמכי GKE בנושא תכנון גדלי הצמתים: בדיקת משאבים שניתנים להקצאה בצומת.
- מסמכי Kubernetes בנושא שמירת משאבי מחשוב עבור שדי מערכת.
הקצאת ליבות כדי לצמצם את הסיכון להפסקות זמניות
אם עומס עבודה משתמש בכל ליבות הפיזיות שזמינות לו בצומת, הוא עלול להתחרות עם דמונים של מערכת שרגישים לזמן האחזור. התחרות הזו עלולה לגרום להפסקות תכופות שבהן מתזמן מערכת ההפעלה מפריע לעומס העבודה של ה-HPC כדי לבצע משימות מערכת, מה שעלול לפגוע בביצועים.
כדי לשמור על רמת הביצועים, מומלץ להימנע מהקצאת כל המעבדים הזמינים לעומס העבודה. תהליכי מערכת חיוניים דורשים תקורה קטנה של CPU כדי לפעול כראוי. הקצאת 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 |