מידע על זמינות גבוהה אלסטית בין אזורים

אתם יכולים להשיג זמינות גבוהה וגמישה בין אזורים עבור עומסי עבודה תובעניים של הסקת מסקנות מ-AI ב-Google Kubernetes Engine ‏ (GKE), כדי לגשת ליכולת של מאיצים ביעילות ובאמינות באזורים שונים. Google Cloud הפתרון הזה משתמש ב-GKE Multi-Cluster Inference Gateway ובתכונות של התאמה אוטומטית לעומס (automatic scaling) ב-GKE, כדי לאפשר לעומסי העבודה שלכם לגשת לקיבולת של מאיצים באזורים שונים ולהתאים את עצמם לקיבולת הזו. הגישה הזו משפרת את הזמינות, את המדרגיות ואת החוסן של המשאבים באפליקציות ה-AI שלכם. במסמך הזה מתוארים היתרונות, הרכיבים העיקריים והמנגנונים הכלליים של זמינות גבוהה גמישה בין אזורים.

לפני שקוראים את המסמך הזה, חשוב להכיר את הנושאים הבאים:

המסמך הזה מיועד לאנשים עם התפקידים הבאים:

  • מהנדסי למידת מכונה (ML), מנהלי פלטפורמות ומפעילים, ומומחי נתונים ו-AI שמעוניינים להשתמש ב-Kubernetes להצגת עומסי עבודה של AI/ML
  • אדריכלי ענן או מומחי רשתות שמתקשרים עם רשתות Kubernetes

כדי לקרוא מידע נוסף על תפקידים נפוצים ועל משימות לדוגמה שאנחנו מתייחסים אליהן בGoogle Cloud תוכן, אפשר לעיין במאמר תפקידים נפוצים של משתמשים ומשימות ב-GKE Enterprise.

היתרונות של זמינות גבוהה גמישה בין אזורים

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

  • קיבולת ויכולת הרחבה גדולות יותר: אפשר להתגבר על מחסור במאיצים באזור יחיד על ידי איגום משאבי GPU או TPU מכמה אשכולות באזורים שונים. אפשר גם להשתמש בסוגים שונים של מאיצים כדי להגדיל עוד יותר את מאגר הקיבולת. הגישה הזו מאפשרת לעומסי העבודה של היקשי ה-AI שלכם להתרחב מעבר לקיבולת של אזור יחיד או סוג מאיץ יחיד, ולנצל באופן אוטומטי את המשאבים הזמינים ב-Fleet שלכם, ללא קשר לאזור.
  • מעבר אוטומטי לגיבוי, מהימנות וזמינות משופרות: שער הגישה (Gateway) מנתב את התנועה בצורה חכמה, ונותן עדיפות לאזורים או לאשכולות מועדפים. כשמגיעים למכסה באזור מסוים, התנועה עוברת אוטומטית לאזורים אחרים שבהם יש משאבים זמינים. הגישה הזו, בשילוב עם פריסות במספר אזורים, משפרת את הזמינות הגבוהה ואת עמידות המערכת בפני תקלות, כי המערכת יכולה לעקוף אשכולות או אזורים שבהם יש בעיות.
  • חלוקת תנועה שעברה אופטימיזציה באמצעות AI: אפשר להשתמש באיזון עומסים מבוסס-ניצול עם מדדים מותאמים אישית שספציפיים ל-AI, כמו שימוש במטמון של זוגות מפתח/ערך. ההגדרה הזו מבטיחה החלטות ניתוב שעברו אופטימיזציה גלובלית. הפצת תנועה שעברה אופטימיזציה באמצעות AI שולחת בקשות לשרתי הקצה העורפיים שמצוידים לטפל בהן. כך משפרים את מיקסום הביצועים ועוזרים למנוע עומס יתר בצי שלכם של Multi-Cluster Inference.

איך פועלת זמינות גבוהה גמישה בין אזורים

זמינות גבוהה אלסטית בין אזורים ב-GKE מאפשרת לעומסי העבודה של מסקנות ה-AI להשתמש אוטומטית בקיבולת של מאיצים (כמו GPU או TPU) בכמה אזורים של Google Cloud . אם יש מגבלות על הקיבולת של המשאבים הנדרשים באזור הראשי, הפתרון הזה מנתב את התנועה בצורה חכמה ומגדיל את עומסי העבודה לאזורים אחרים עם קיבולת זמינה, תוך התחשבות בהעדפות שהגדרתם.

בהמשך מוסבר על הרכיבים העיקריים של זמינות גבוהה אלסטית בין אזורים ואיך הם פועלים יחד:

  • Multi-Cluster Inference Gateway: אפליקציית ההסקה שלכם נפרסת במספר אשכולות GKE באזורים שונים. האשכולות האלה מנוהלים כחלק מצי GKE. שער הסקת מסקנות (MCG) מרובה אשכולות של GKE מוגדר עם מאזן עומסים פנימי, שמספק נקודת קצה פרטית אחת לבקשות להסקת מסקנות. השער הזה מודע לפריסות השירות שלכם בכל האשכולות ב-Fleet.
  • איזון עומסים מבוסס-ניצול: במקום להשתמש בשיעורי בקשות בסיסיים, מאזן העומסים מחלק את התנועה על סמך מדדי ניצול מותאמים אישית בזמן אמת שמדווחים משרתי המודל. במקרה של הסקת מסקנות מ-AI, זה בדרך כלל מדד כמו ניצול מטמון KV, שמשקף את העומס בפועל על השרת.
  • העדפות לגבי מיקום ומשאבים: אתם יכולים להגדיר באילו אזורים או אזורים זמינים מותר להריץ את עומסי העבודה של מסקנות ה-AI במהלך יצירת האשכול, ולציין סדר עדיפות באמצעות האפשרויות הבאות:
    • GCPBackendPolicy: המדיניות הזו מצורפת לשער ומאפשרת להגדיר שרתי קצה עדיפים. אתם יכולים לציין לאילו אזורים (כלומר, לאילו אשכולות) מאזן העומסים צריך לתת עדיפות בשליחת תנועה. המדיניות הזו בדרך כלל תואמת למקומות שבהם שריינתם קיבולת או למקומות שבהם יש לכם דרישות לזמן אחזור נמוך יותר.
    • מחלקה מותאמת אישית של מחשוב (אופציונלי, אם משתמשים ביצירה אוטומטית של מאגר צמתים): בכל אשכול GKE אפשר להשתמש באובייקטים מותאמים אישית של ComputeClass כדי להגדיר סוגי צמתים מועדפים, כולל סוגי מכונות (לדוגמה, a3-highgpu-8g), סוגי קיבולת (כמו שמורה, לפי דרישה וספוט), ואפילו אזורים מועדפים באותו אזור.
  • שינוי גודל דינמי וניתוב תנועה: התנועה משתנה ומנותבת בהתאם לתהליך הבא:
    • בקשות נכנסות מגיעות למאזן העומסים הפנימי של שער Multi-Cluster Ingress.
    • מאזן העומסים, בהתאם לGCPBackendPolicy, שולח תעבורת נתונים קודם לחלק האחורי של האתר באזורים המועדפים.
    • התנועה מפוזרת בתוך אזור ובאמצעות קצה עורפי על סמך מדדי הניצול המותאמים אישית.
    • ה-Horizontal-Pod-Autoscaler ‏ (HPA) בכל אשכול משנה את מספר ה-Pods של שרת המודל כלפי מעלה או כלפי מטה על סמך אותם מדדי ניצול.
    • המידרוג האוטומטי של אשכולות GKE והקצאת צמתים אוטומטית (NAP), בהתאם ל-ComputeClass המותאם אישית, מוסיפים או מסירים צמתים מהסוגים והתחומים המועדפים כדי לעמוד בדרישות ההתאמה לעומס של ה-Pod.
  • זמינות גבוהה גמישה בין אזורים בפעולה: אם השרתים של המודל באזורים המועדפים מגיעים לניצול מלא (כלומר, אין קיבולת נוספת זמינה), מאזן העומסים מעביר אוטומטית את התנועה לאשכולות באזורים מוגדרים אחרים שיש בהם קיבולת זמינה. לאחר מכן, ה-HPA וה-Cluster Autoscaler מרחיבים את המשאבים באזורי הגיבוי האלה לפי הצורך.

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