
Sandook: משפר ביצועי אחסון פלאש במרכזי נתונים מבלי להוסיף חומרה
חוקרי MIT פיתחו את Sandook, מערכת תוכנה שמאזנת עומסי עבודה בין כונני SSD ומתמודדת עם שונות בביצועים. בניסויים על משימות כמו אימון מודלי AI ודחיסת תמונות, המערכת שיפרה תפוקה עד 94% והגדילה ניצול קיבולת.
חוקרים מ-MIT מציגים מערכת תוכנה חדשה בשם Sandook שמטרתה להפיק יותר ביצועים מאחסון פלאש (SSD) במרכזי נתונים, מבלי להוסיף חומרה חדשה. בעולם שבו הביקוש לשירותי ענן, אימון מודלי בינה מלאכותית ועיבוד נתונים בזמן אמת ממשיך לזנק, כל אחוז יעילות שנחסך באחסון יכול להפוך לחיסכון משמעותי בעלויות, באנרגיה ובפליטות פחמן.
למה כונני SSD לא מנוצלים עד הסוף גם כשמאגדים אותם יחד
מרכזי נתונים נוהגים לאגד מספר כונני SSD ל״בריכה״ משותפת ברשת, כך שיישומים שונים יוכלו לחלוק את משאבי האחסון לפי הצורך. בפועל, גם במודל הזה עדיין נוצרת תת-ניצול של קיבולת וביצועים, בגלל תופעה נפוצה: שונות גדולה בין כוננים ובתוך הכוננים לאורך הזמן. לעיתים הכונן האיטי ביותר הופך לצוואר בקבוק ומוריד את התפוקה של כל הבריכה.
רוצה להישאר מעודכן ב-AI?
הירשם לדיוור השבועי שלנו וקבל עדכונים, המלצות על כלים, חדשות ודוחות מיוחדים
המחקר עצמו מתמקד בגורמים המשפיעים ביותר על השונות שמרכזי נתונים מתקשים לנהל יחד.
שלושה מקורות שונים שמקשים על ענן יעיל
הגורם הראשון הוא הפער בין כוננים שנרכשו בזמנים שונים ומספקים שונים, עם רמות שחיקה, גיל וקיבולת שונים. הגורם השני הוא הפרעה בין קריאות לכתיבות. כדי לכתוב נתונים חדשים, הכונן צריך למחוק בלוקים קיימים, מה שעלול להאט קריאות שמתרחשות במקביל. הגורם השלישי הוא איסוף אשפה, תהליך פנימי של SSD שמופעל במועדים שקשה לצפות, ועלול לגרום להאטות פתאומיות.
צ׳אודרי מסביר שהנחת היסוד ש״כל ה-SSD מתנהגים אותו הדבר״ פשוט לא נכונה בפריסות ארוכות-טווח, ולכן פתרונות סטטיים מפספסים ביצועים זמינים.
שתי שכבות של בקרה: תכנון גלובלי ותגובה מקומית
Sandook משתמשת בארכיטקטורה בעלת שתי רמות: בקר מרכזי מתכנן את חלוקת המשימות בין הכוננים על בסיס תמונת-על של הבריכה, בעוד בקרים מקומיים בכל מכונה מגיבים מהר לשינויים ומנתבים מחדש פעולות כשכונן מסוים מתקשה.
כדי לצמצם הפרעות קריאה-כתיבה, המערכת מסובבת בצורה חכמה אילו כוננים משמשים לקריאה ואילו לכתיבה, וכך מקטינה את הסיכוי ששני סוגי הפעולות יתנגשו על אותו SSD. בנוסף, Sandook בונה פרופיל ביצועים לכל כונן, מאתרת מתי garbage collection כנראה מאט אותו, ומפחיתה זמנית את העומס עליו עד שהתהליך מסתיים, ואז מעלה בהדרגה את ההקצאה כדי להגיע לנקודת איזון שבה הכונן עדיין תורם אך לא בולם את המערכת.
התוצאות: עד 94% שיפור בתפוקה וניצול קיבולת גבוה יותר
בניסוי על בריכת אחסון של 10 כונני SSD, החוקרים בדקו ארבע משימות נפוצות במרכזי נתונים: הרצת מסד נתונים, אימון מודל למידת מכונה, דחיסת תמונות ואחסון נתוני משתמשים. Sandook שיפרה את התפוקה בין 12% ל-94% בהשוואה לשיטות סטטיות, והגדילה את ניצול הקיבולת ב-23%. לפי הדיווח ב-MIT, המערכת אפשרה לכוננים להגיע לכ-95% מהביצועים התיאורטיים שלהם ללא חומרה ייעודית וללא שינויי קוד ייעודיים ליישומים.
למה זה חשוב עכשיו, במיוחד בעידן ה-AI
המשמעות התעשייתית ברורה: במקום להרחיב תשתיות באמצעות כוננים נוספים, שרתים נוספים וצריכת חשמל מוגברת, ניתן להוציא יותר מהציוד הקיים ולהאריך את חייו. במרכזי נתונים, בהם עלות האחסון, האנרגיה והקירור מצטברות בקנה מידה עצום, אופטימיזציה תכנתית שכזו יכולה להשתלב במהירות ולספק יתרון כלכלי וסביבתי.
החוקרים מציינים כי בעתיד ירצו לשלב פרוטוקולים חדשים בכוננים עדכניים אשר יאפשרו שליטה טובה יותר במיקום הנתונים, ולנצל את היציבות היחסית של דפוסי עומס בעבודות AI כדי לשפר עוד יותר את היעילות.
ג׳וש פריד, מומחה חיצוני מטעם גוגל אשר לא השתתף במחקר, העריך שהפתרון אלגנטי, מעשי ומוכן לפריסה, ומקרב את אחסון הפלאש למיצוי מלא בעננים תפעוליים. המחקר נתמך בין השאר על ידי ה-NSF, DARPA ותאגיד Semiconductor Research Corporation, ויוצג בכנס USENIX NSDI.
