התפקיד הקריטי של לטעון Balancing במערכות הנדסה דיסטריוט

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

גישות מסורתיות כמו סביב-robin או לפחות חיבורים לעבוד טוב עבור תרחישים פשוטים, אבל הם נופלים קצר כאשר משימות יש דרישות משאבים שונים נרחב או כאשר נודס להציג תכונות ביצועים לא לינארית.זה המקום שבו FLT:0דינמית תכנות (DP) LACLT:1 נכנס לתמונה. DP מציעה דרך שיטתית לחקור את החלל של התפלגות העומסים אפשריים ולמצוא פתרון אופטימלי או קרוב, אפילו תחת בעיות מורכבות לתוך אלגוריתמיות.

מימון של לטעון Balancing במערכות הנדסה דיסטריוט

לפני דיון באלגוריתמים של DP, זה & #8217; חשוב להבין את התכונות הליבה של בעיה מבוססת עומס. במערכת מבוזרת, aFLT:0loadigtureFLT:1 יכול להיות משימה חישובית, חבילת רשת, נתח נתונים, או בקשה למשתמש.כל אחד לא יש יכולת סופית (CPU, זיכרון, רוחב פס) וכל משימה לצרוך כמות מסוימת של משאבים מסוימים, לא מסתכם, אין כל אחד מהם, או לא פחות מצמצם את הקיבולתו של זמן.

המונחים: Dynamic Load Balancing

אסטרטגיות של טעינה-balancing נופלות לשתי קטגוריות רחבות:

  • (FLT:0) איזון עומס סטטי: החלטות נעשו לפני ביצוע, לעתים קרובות באמצעות אלגוריתם לא מקוון.זה עובד טוב עבור עומסי עבודה צפויים (למשל, עבודה אצווה ב-HPC) אך נכשל כאשר משימות מגיעות ללא משפט.
  • (FLT:0) איזון עומס דינמי איזון בין היתר: החלטות נעשות בריצה, תגובה למצב המערכת.זה דורש ניטור רציף והתאמה מחודשת מהירה. אלגוריתמים DP יכולים להיות מותאמים להגדרות מקוונות על ידי קביעת מדיניות במרווחים קבועים או על כל משימה.

מפתחי Metrics ו- Constraints

מדדי ביצועים משותפים כוללים:

  • (ב) ,0) ,(ה) ,(ה) ,הזמן שבו תסתיים המשימה האחרונה.
  • (ב) [15] חוסר איזון מוחלט (ב"ג): סטייה מקסימלית מן העומס הממוצע על פני צמתים.
  • (ב) ,0) ,(א) , ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
  • (ב) ב[[1924]], [[1924]]]], [[1924]]]], [[1924]]]], [[1924]]]]]], [[1924]]]]]]

התנגשויות עשויות להיות כרוכות במגבלות יכולת קשות, היערכות משימה (הסדר חייב להיות שמור), או תקשורת מעל ראש (אם משימות חילופי נתונים).

למה תוכנה דינמית לטעינה Balancing?

תכנות דינמי אינו טכניקת האופטימיזציה היחידה זמינה.אלגוריתמים גריידיים מהירים אך לעתים קרובות תת-אופטימיים של קוויר יכולים להתמודד עם מגבלות רבות, אך עשוי להיות איטי מדי עבור החלטות בזמן אמת; DP תופסת מקום מתוק: הוא יכול למצוא את FLT:0exact אופטימלי פתרונות FLT:1 עבור שיעור רחב של בעיות המוצגות:2opal StructureFLT3 ו-Fpropping5:

  • (FLT:0) ,Uptimal substructment 1: הקצאה אופטימלית עבור כל סט המשימות ניתן לבנות ממשימות אופטימליות עבור תת-תחומי משימות.לדוגמה, אם יש לנו רצף של משימות ואנחנו להקצות משימה לצומת, את המשימות הנותרים יש להקצות אופטימלית לקיבולת שנותרה.
  • (ב) [13] רצף משימות שונות מוביל לאותו מצב יכולת שנותר.

תכונות אלה קיימות באופן טבעי בנוסחאות רבות של עומס, במיוחד כאשר משימות עצמאיות וניתן להקצות בכל סדר, או כאשר החלטות ניתוק נעשות צעד אחר צעד.

תכנות דינמי הליבה מתקרב לעומס Balancing

בלמן & #8217; אלגורית'ם עבור רוסטינג ושדרינג

(Lman ’ אלגוריתם (ה- “ Bellman משוואה ”) משמש מפורסם בעומס קצר-פת, אבל אותו רעיון חל על לוח מודעות.ברשת מבוזרת, כל צומת מקבל משימות כי יש לעבור עיבוד של כל אחד, אולי באמצעות ניסוחים ביניים.

דוגמה מעשית היא האלגוריתם של אלגוריתם 1 (FLT:0) המשמש באיזונים מסוימים של עננים: ה-DP מעריך את העומס העתידי הצפוי בהתחשב בהחלטות הנוכחיות, ובוחר את הצומת עם העלות הנמוכה ביותר בכל שלב.

סכיניםack-based Resource Allocation

הקצאת משימות בגדלים שונים לשרתים עם גבולות היא קלאסית (FLT:0) לבעיה של מכונות תזמון שנותרה ב-knapsack 1 (כל שרת הוא knapsack עם יכולת (למשל, CPU ליבות תזמון או זיכרון), וכל משימה יש משקל (צריכת קוד) וערך (פרטיות או רווח).המטרה עשויה להיות למקסם את הערך הכולל של מספר משימות מרביות) תוך כדי שמירה על מספר מינימלי של תכונות של שימוש בעדיפות גבוהה של שרת.

תהליכי החלטה רב-תחומיים עבור הקצאת משימות קיומיות

(במערכות בעולם האמיתי רבות, משימות מגיעות אחת על ידי אחת והחלטות חייבות להיעשות מיד ללא ידע על יבוא עתידי (הגדרה מקוונת) גם אז, ניתן להשתמש בגישה DP כדי למקם אופטימלית FLT:0offlineFLT:1 מדיניות עבור רצף ידוע, או כדי לתכנן אלגוריתם מקוון עם יחס תחרותי מוכח.

ניסוח רב-שלבי נוסף הוא (FLT:0) תזמון דינמי על מכונות מקבילות FLT:1 בהתחשב קבוצה של עבודות עם זמני עיבוד ומגבלות טרום-קיום, DP יכול לקבוע אותם על FLT:2mFLT 3: 3, בהתחשב במכונות זהות כדי למזער את תוחלת העבודה.

ניסוח עומס Balancing כבעיה בתכנות דינמי

כדי ליישם את ה-DP, עלינו להגדיר:

  • (ב) ⁇ :0 ⁇ ⁇ : צילום של המערכת, למשל, את היכולות הנותרים של כל הצומת לאחר הקצאת תת-קבוצה של משימות.
  • [ה]ה' [ה']: [ה'], [ה'], [ה'], [ה'], [ה'], [ה'], [ה']'[ה']'], [ה']
  • (ב) ⁇ : כיצד משתנה המדינה לאחר הקצאת משימה לצומת (הפחתה ברכוש).
  • (ב) ,0) הפונקציה של קונסולת: עלות סדרה של החלטות, למשל, זמן סיום מוחלט או עומס מקסימלי בכל מקרה.

(ב) ב[[1924]], [[1924]]]], [[1924]]]]]], [[1924]]]]]], [[1924]]]]]], [[1924]]]]]]]]]], [[1924]]]]]]]], [[1924]]]]]]]], [[1924]]]]]]]]

טכניקות אופטימיזציה ומשתנים

DP Exact הופך להיות בלתי מורגש כאשר מספר המשימות או השרתים הוא גדול. למרבה המזל, כמה טכניקות מרחיבות את הכדאיות שלו:

  • (ב) ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
  • (הופנה מהדף אלגוריתמים של אלגוריתמים:0) אלגוריתמים של רולייט (למשל, חמדנים) להעריך את העלות העתידית של כל החלטה, ולאחר מכן לבחור את ההחלטה הטובה ביותר על פי הערכה זו.זה יכול להיות נתפס כ- 1-שלב DP ולעתים קרובות מניב תוצאות כמעט-אופטימליות בשבריר של העלות.
  • (ב) שימוש בחוקים הדומיננטיים כדי לטשטש מדינות שהן גרועות יותר מאחרים, למשל, אם לשתי מדינות יש אותן משימות שנותרו, אך יש להן עומס גבוה יותר על כל השרתים, ניתן למחוק אותן.
  • (FLT:0)Parallel DPFLT:1: Distribute שולחן ה-DP על פני מעבדים מרובים.מכיוון שמדינות רבות הן עצמאיות, ניתן להשוות תכנות דינמי (למשל, על GPUs) כדי להתמודד עם מקרים גדולים יותר של בעיות.

גרסה חשובה נוספת היא (FLT:0) דינמית תכנות דינמית באינטרנט 1 (FLT:1), שבו ה-DP הוא re-runally באמצעות מצב המערכת האחרון.

יישומים אמיתיים

מחשוב ענן ומרכזי נתונים

ספקי ענן כמו AWS, Google Cloud ו- Microsoft Azure משתמשים במאזןי עומס מתוחכמות כדי להפיץ בקשות משתמשים במכונות וירטואליות. אלגוריתמים של DP מועסקים עבור מיקום ראשוני של VMs על מארחים פיזיים (לצמצם את השימוש תוך הבטחת יכולת) והחלטות הגירה בזמן ריצה.לדוגמה, ה-FLT:0VM LocationFLT:1 הוא לעתים קרובות מודל לגרסה בינארית; קונסולה יכול לשפר את מספר ה-VMupisteric כאשר הוא חלש יותר מ-Vupericerderatives).

מחשוב גבוה (HPC)

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

רשתות משלוח תוכן

CDNs כמו Akamai ו-Cloudflare מבקש למשתמש קצה הקרוב ביותר שיש לו יכולת.ההחלטה הניתוק ניתן לייעל באמצעות DP אשר רואה הן מרחק גיאוגרפי והן עומס נוכחי, מצמצם זמן תגובה תוך הימנעות מנקודות יתר.זה למעשה בעיה קצרה ביותר עם מגבלות, מחוספסת על ידי אלגוריתם של Bellman ’ עם משאבים מורחבים.

האינטרנט של הדברים (IoT)

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

אתגרים ומייגים

למרות כוחו, DP Faces in Real-world הפריסה:

  • (FLT:0) התפוצצות החלל-מדינה 1: ככל שמספר השרתים או סוגי המשימה גדל, המרחב הממלכתי הופך אסטרונומי.
  • (FLT:0) מגבלות בזמן אמת: הרבה איזוןים צריכים לקבל החלטות במילימטרים. DP מלא יכול להיות איטי מדי.פתרונות היברידיים שמשתמשים ב-DP ללא הפרעה למדיניות הכנה ולאחר מכן ליישם אותם בזמן אמת עבודה טובה.
  • (FLT:0) שינויים אלגוריתמיים (Nde Capacity, Sizes) עשויים להשתנות ללא תנאי.פתרון DP שנקבע עבור תמונה סטטי עשוי להפוך מיושן.
  • (FLT:0) דיוקפלפל (Model דיוקFLT:1): DP מסתמכ על מודל של דרישות משימה ומיומנויות צומת. אי דיוקים להוביל לביצועים תת-אופטימיים.

לקריאה נוספת על התאוריה הכללית של תכנות דינמי, ראה את הטקסט הקלאסי של ריצ'רד בלמאן (FLT:0Wikipedia: דינמי תכנותFLT:1) טיפול ממוקד בהנדסה ניתן למצוא בספרות על איזון במערכות מבוזרות (FLT:2Wikipedia: לטעון BalancingFLT 3LT).

כיוונים עתידיים

(ההתכנסות של DP עם למידת מכונה היא גבול מבטיח:0) ,Reinforcement LearningcioFLT:1 (RL) ניתן לראות כדרך להשוואה של הפונקציה הערך של DP כאשר המרחב המדינה גדול מדי עבור חישוב מדויק.Deep Q-networks (DQN) הוחל בהצלחה על מנת לעומס במרכזי נתונים.

שילוב עם מסגרות תזמון מתקדמות (למשל, Kubernetes for מכולות) מציע גם הזדמנויות. על ידי הטמעת אופטימיזציה מבוססת DP לתוך לוח הזמנים Kubernetes, פלטפורמות ענן יכול לשפר את ניצול המשאבים ולהקטין את העלויות באופן אוטומטי.

מסקנה

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