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

צוות מהנדסים מ-MIT פיתח היררכיית זיכרון מונחה עצמים כדי לעבוד עם נתונים בצורה יעילה יותר. במאמר נבין איך זה עובד.

כיצד פועלת הדחיסה בארכיטקטורת זיכרון מונחה עצמים
/ PxHere /PD

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

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

לשם השוואה: חיבור וכפל של מספרי נקודה צפה לִכבּוֹשׁ לא יותר מעשרה מחזורים. הבעיה היא שהזיכרון עובד עם בלוקי נתונים בגודל קבוע, ואפליקציות פועלות עם אובייקטים שיכולים להכיל סוגים שונים של נתונים ולהבדיל זה מזה בגודלם. כדי לפתור את הבעיה, מהנדסים ב-MIT פיתחו היררכיית זיכרון מונחה עצמים המייעלת את עיבוד הנתונים.

איך הטכנולוגיה עובדת

הפתרון מבוסס על שלוש טכנולוגיות: Hotpads, Zippads ואלגוריתם הדחיסה COCO.

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

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

Zippads עובד על גבי Hotpads - מאחסנת נתונים בארכיון ונכנסים או יוצאים משתי הרמות האחרונות של ההיררכיה - משטח L3 והזיכרון הראשי. המשטח הראשון והשני מאחסנים נתונים ללא שינוי.

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

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

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

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

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

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

המשאבים והמקורות הנוספים שלנו:

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

כיצד פועלת הדחיסה בארכיטקטורת זיכרון מונחה עצמים האבולוציה של ארכיטקטורת הענן 1cloud
כיצד פועלת הדחיסה בארכיטקטורת זיכרון מונחה עצמים שירות אחסון חפצים ב-1cloud

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

מקור: www.habr.com

קנה אירוח אמין לאתרים עם הגנת DDoS, שרתי VPS VDS 🔥 קנה אחסון אתרים אמין עם הגנת DDoS, שרתי VPS VDS | ProHoster