TMO, מנגנון פייסבוק שחוסך זיכרון RAM בשרתים

מהנדסי פייסבוק חשפו, באמצעות דוח, הכנסת הטכנולוגיה TMO (הורדת זיכרון שקוף) בשנה שעברה, אשר מאפשר לחסוך באופן משמעותי ב-RAM בשרתים על ידי העברת נתונים משניים שאינם נדרשים לעבודה על כוננים זולים יותר כגון NVMe SSDs.

פייסבוק מעריך ש-TMO חוסך בין 20% ל-32% מ-RAM בכל שרת. הפתרון מיועד לשימוש בתשתיות בהן אפליקציות פועלות במיכלים מבודדים. הרכיבים בצד הגרעין של TMO הם כבר כלולים בליבת לינוקס.

בצד ליבת לינוקס, הפעולה של טכנולוגיה מסופק על ידי מערכת המשנה PSI (מידע על עצור לחץ), מסופק החל מגרסה 4.20.

PSI כבר בשימוש במנהלי התקנים שונים מחוץ לזיכרון ומאפשר לנתח מידע על זמן המתנה למשאבים שונים (CPU, זיכרון, I/O). עם PSI, מעבדי שטח משתמשים יכולים להעריך בצורה מדויקת יותר את דפוסי העומס וההאטה של ​​המערכת, מה שמאפשר לזהות חריגות לפני שיש להן השפעה ניכרת על הביצועים.

במרחב המשתמש, רכיב Senpai מריץ TMO, אשר מתאים באופן דינמי את מגבלת הזיכרון עבור מיכלי יישומים באמצעות cgroup2 בהתבסס על נתונים המתקבלים מה-PSI.

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

Transparent Memory Offload (TMO) הוא הפתרון של Meta עבור סביבות מרכזי נתונים הטרוגניות. הוא מציג מנגנון ליבת לינוקס חדש המודד עבודה שאבדה עקב מחסור במשאבים במעבד, זיכרון ו-I/O בזמן אמת. בהנחיית מידע זה וללא כל ידע מוקדם על האפליקציה, TMO מתאים אוטומטית את כמות הזיכרון להורדה למכשיר הטרוגני, כגון זיכרון דחוס או SSD. הוא עושה זאת על סמך מאפייני הביצועים של המכשיר והרגישות של האפליקציה לגישה איטית יותר לזיכרון.

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

היעדר גישה לעמוד זיכרון תוך 5 דקות משמש כאחד הקריטריונים להעדפה. דפים אלו נקראים דפים קרים ובממוצע הם מהווים כ-35% מזיכרון האפליקציה (בהתאם לסוג האפליקציה קיימת וריאציה בין 19% ל-65%).

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

כדי למנוע חוסר איזון בעת ​​שטיפת זיכרון למטמון, TMO משתמשת באלגוריתם החלפה חדש ששוטף דפים אנונימיים ודפים המשויכים למטמון הקובץ באופן פרופורציונלי.

לדחיפת דפים בשימוש נדיר לזיכרון איטי יותר אין השפעה עצומה על הביצועים, אך היא יכולה להפחית משמעותית את עלויות החומרה. נתונים נשלחים לכונני SSD או שטח החלפה דחוס ב-RAM. במחיר של אחסון בייט אחד של נתונים, השימוש בכונני NVMe SSD זול עד פי 10 משימוש בדחיסה ב-RAM.

לבסוף, אם אתה מעוניין לדעת יותר על כך, תוכל להתייעץ עם הפרטים בקישור הבא.


השאירו את התגובה שלכם

כתובת הדוא"ל שלך לא תפורסם. שדות חובה מסומנים *

*

*

  1. אחראי על הנתונים: AB Internet Networks 2008 SL
  2. מטרת הנתונים: בקרת ספאם, ניהול תגובות.
  3. לגיטימציה: הסכמתך
  4. מסירת הנתונים: הנתונים לא יועברו לצדדים שלישיים אלא בהתחייבות חוקית.
  5. אחסון נתונים: מסד נתונים המתארח על ידי Occentus Networks (EU)
  6. זכויות: בכל עת תוכל להגביל, לשחזר ולמחוק את המידע שלך.

  1.   אליאן דיג'ו

    האם ניתן להשתמש בזה במחשבים רגילים עם אפליקציות רגילות?