CCoW: אופטימיזציה של העתקה על כתיבה בהתחשב במיקום המרחבי בעומסי עבודה חלק 4

Apr 03, 2024

3.3. מעקב אחר גישה לדפים מועתקים מראש

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

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

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

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

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

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

10 ways to improve memory

לחץ על דע את הזיכרון לטווח קצר כיצד לשפר

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

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

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

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

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

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

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

כאשר MMU מעבד גישה לזיכרון כתיבה, הוא מגדיר באופן אוטומטי את ה-Dirty Bit של העמוד המתאים. זה אומר להיפך שכאשר ה-Dirty Bit עבור עמוד מוגדר, הדף עודכן עם גישה לכתיבה.

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

ways to improve memory

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

improve memory

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

איור 2 ממחיש מצב שבו הכיסוי מחושב לאחר העתקות מוקדמות. נניח ששני האזורים מועתקים (מוצללים באדום), ובעמודים 0, 2, 3, 4 ו-11 יש לכולם את ערכת ה-Dirtybit.

כדי לחשב את הכיסוי בזמן עיבוד המזלג, המערכת משתמשת בביט המלוכלך במקום בספירת ההעתקה-על-כתיבה מכיוון שהאזורים מועתקים בתקופה הנוכחית. לפיכך, לאזור 0 יש כיסוי של 66%.
ואילו הכיסוי של אזור 1 הוא 15%. כדי לטפל בתקלת הדף עבור עמוד 3, האזור 0 מועתק שוב, בעוד שתקלת הדף עבור עמוד 9 מטופלת במנגנון המקורי. בדרך זו, נוכל לשמור על אזורים עם אזורים גבוהים שלא יחליקו מפוקוס.

boost memory

3.4. לכבוש את היישוב

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

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

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

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

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

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

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

memory enhancement


For more information:1950477648nn@gmail.com

אולי גם תרצה