גוגל מדווחת(אוקטובר 25) על מערכת חדשה בשם LAVA קיצור של Lifetime-Aware VM Allocation – שהיא אלגוריתם חכם שמאפשר למחשבי הענן שלה לעבוד בצורה יעילה יותר.
במחשבי ענן יש כל הזמן “מכונות וירטואליות” (VMs) – משימות שמתחילות ונגמרות בתדירות גבוהה. חלק נמשכות דקות, אחרות ימים. הבעיה היא שכשלא יודעים כמה זמן כל אחת תחזיק, קשה לנצל את כל כוח המחשוב בצורה חכמה. זה כמו משחק טטריס שבו כל חתיכה נעלמת בזמן שונה, ואתה מנסה למלא את הלוח בלי להשאיר חורים.
כדי לפתור את זה, גוגל יצרה מודל בינה מלאכותית שמנחש את אורך החיים הצפוי של כל מכונה, וממשיך לעדכן את הניחוש הזה כל הזמן תוך כדי שהיא פועלת (“חיזוי מתעדכן”). כך המערכת לומדת בזמן אמת ומתקנת את עצמה.
המפתח הוא שהמודל לא מנחש מספר אחד אלא טווח הסתברויות – כמה סביר שהמכונה תסיים אחרי שעה, יום או שבוע – ומעדכן את ההערכות לפי ההתנהגות בפועל. שלושת האלגוריתמים שבנו על בסיס זה הם:
- NILAS – משבץ את המכונות כך שיסתיימו פחות או יותר יחד, כדי לפנות מחשבים שלמים לעבודה חדשה.
- LAVA – משלב מכונות קצרות וארוכות על אותו מחשב כדי למלא חורים בלי לבזבז מקום.
- LARS – מטפל במעבר ובתחזוקה של המכונות בצורה חכמה, כך שמעתיקים קודם את המכונות הארוכות ומשאירים את הקצרות להסתיים לבד.
בפועל זה חוסך הרבה כוח מחשוב: עלייה של 2.3-9.2 אחוזים במחשבים פנויים, ירידה של כ-3% בבזבוז כוח עיבוד, ו-2% בבזבוז זיכרון.
כדי לוודא שהמערכת תעבוד תמיד, גוגל שילבה את המודל ישירות בקוד של מנהל השרתים שלה (Borg) במקום להריץ אותו בשרת נפרד – כך הוא בטוח ומהיר פי 780.
איך להסביר לסבתא מה עשתה גוגל ומה היה קודם
תראי סבתא, לפני שבינה מלאכותית נכנסה לתמונה, גוגל – כמו כל חברה גדולה שמפעילה עננים של מחשבים ניהלה מיליוני מחשבים שמתחלקים ביניהם בעבודות קטנות שנקראות “מכונות וירטואליות” (VMs). כל משימה כזו היא כמו אורח שמגיע להתארח אצלך: אחד נשאר רק לשתות קפה וללכת, השני נשאר שבועיים.
עכשיו תדמייני שאת צריכה לארח אלפי אנשים בו-זמנית בבית עם מאות חדרים – חלקם עוזבים מהר, חלקם מתעכבים – ואת לא יודעת מתי מי ילך. אז את מנסה לסדר אותם בצורה שתשתמשי בכל החדרים, בלי להשאיר חדרים ריקים. אבל אם מישהו שהיה אמור לעזוב פתאום נשאר שבועיים, כל התכנון שלך נופל.
בדיוק ככה זה היה אצל גוגל: הם לא ידעו כמה זמן כל משימה תימשך, אז לפעמים מחשבים נשארו חצי ריקים או תפוסים שלא לצורך. זה גרם לבזבוז של חשמל, כסף, ומקום במרכזי הנתונים.
מה גוגל עשתה אחרת
במקום לנסות לנחש מראש כמה זמן כל משימה תחזיק (ולהתאכזב כשזה לא מדויק), גוגל יצרה מערכת חכמה שנקראת LAVA.
המערכת הזאת חושבת לבד וממשיכה לנחש מחדש כל הזמן כמה זמן כל משימה תישאר.
זה קצת כמו עוזרת בית שיודעת שכל אורח מתנהג אחרת, אז היא כל הזמן בודקת: “האם הוא כבר סיים לאכול? אולי עוד רגע הוא הולך?” וכך מסדרת את הבית בהתאם בזמן אמת.
LAVA משתמשת בבינה מלאכותית כדי להבין אילו משימות קצרות, אילו ארוכות, ואיך לשלב ביניהן בצורה הכי חכמה כך שמחשב אחד תמיד יהיה מנוצל עד הסוף, אבל גם יתפנה בזמן למשימות הבאות.
מה היה חכם בזה
- לנחש לא רק פעם אחת – אלא כל הזמן.
המערכת לא נותנת תחזית אחת אלא עדכון מתמשך, כמו רופא שבודק את הדופק כל כמה דקות ולא רק פעם ביום. - לא לחשב ממוצע – אלא טווחים.
במקום להגיד “בערך שעה”, המחשב בונה טווח הסתברויות.למשל, “יש סיכוי של 80% שזה יסתיים תוך 20 דקות, ו-20% שזה ייקח שעה”. - לשלב משימות חכמות על אותו מחשב.
היא מחברת משימות קצרות עם ארוכות, כמו שתכניסי עוגה קטנה לתנור כשאת כבר אופה שם תבנית גדולה – כדי לנצל את החום. - לתקן את עצמה כשיש טעות.
אם משימה שנראתה קצרה מתארכת, היא משנה מיד את כל התכנון כך שלא יווצר עומס.
שלושת ה"מוחות" של המערכת
- NILAS – כמו סדרן שמושיב נוסעים באוטובוס לפי מי שיורד באותה תחנה, כדי שהמושבים יתפנו יחד.
- LAVA – משלבת נוסעים שנוסעים רחוק עם כאלה שירדו מוקדם, כדי שכל מושב ינוצל.
- LARS – דואגת שהחלפת הנוסעים תהיה רגועה ובלי בלגן, במיוחד כשצריך לנקות או לשפץ את האוטובוס.
מה קרה בזכות זה
בבדיקות אמיתיות במרכזי הנתונים של גוגל:
- יותר מחשבים פנויים עלייה של 2.3 עד 9.2 אחוזים (כל אחוז כזה שווה בערך אחוז שלם מהחיסכון הכולל).
- פחות בזבוז של כוח עיבוד וזיכרון ירידה של 3% ו-2% בהתאמה.
- פחות “העתקות” של משימות ממחשב למחשב, מה שחוסך זמן ואנרגיה.
וכדי שלא תהיה תקלה – הם שתלו את המוח של הבינה המלאכותית ישירות בתוך התוכנה שמנהלת את המחשבים, כך שאין מצב שהיא תקרוס. התוצאה: תגובה מהירה פי 780 מכל מערכת רגילה.
למה זה חשוב גם לנו
כי כל שיפור קטן במרכזי הנתונים של גוגל שנמצאים בכל העולם חוסך אלפי טונות של חשמל ו-מיליוני דולרים בשנה.
אבל מעבר לזה, זו דוגמה לשלב חדש בעולם הבינה המלאכותית: היא כבר לא רק “עוזרת למשתמש”, אלא מנהלת בעצמה מערכות ענק בזמן אמת.
זו קפיצה מחשבתית: במקום שמחשב יחכה לפקודה, הוא מסתכל, לומד, מנחש, מתקן, וחוזר על זה בלי הפסקה.
