זיכרון מטמון –Caching

מאת רומן זאיקין מרצה לניהול רשתות ואבטחת מידע ב- האקריו – המרכז להכשרת והשמת עובדים למקצועות ההיי-טק.לאחרונה נתקלתי רבות במושג זיכרון מטמון או לחילופין בשמו הלועזי Caching ושמתי לב שעבור רבים מונח זה לוטה בערפל. לאחרונה, תחום זיכרון המטמון התרחב וניתן אף למצוא זיכרון מטמון בשלל תחומים- חומרה, תוכנה ומערכות הפעלה המסתמכים על זיכרון מטמון.
אז מהו זיכרון מטמון, מהי מטרתו האמיתית, ואיך הוא עובד?
כדי להסביר לכם עד כמה זיכרון מטמון מייעל את ביצועי המחשב אשתמש באנלוגיה הבאה:
נניח שהגעתם לבלוקבסטר ואתם מעוניינים בסרט כלשהו, לצורך הדוגמה – "7 נשמות". אתם מבקשים מהמוכר שימצא בשבילכם את הסרט, המוכר עונה לבקשתכם ומחפש בחנות.לאחר שימצא את הסרט ישאיל לכם אותו. בתום השימוש בסרט תחזירו אותו למוכר, המוכר לאחר שיקבל את הסרט יסתובב בחנות ויחזיר את הסרט למקומו.
כאשר יגיע לקוח חדש ויבקש שוב את אותו הסרט המוכר יאלץ להסתובב בחנות פעם נוספת, לאתר את הסרט ולהביא אותו ללקוח.פעולה זו תחזור על עצמה שוב ושוב וכך בעצם עובדת מערכת המחשוב כאשר זיכרון המטמון לא נמצא בתמונה.
כעת נכניס את זיכרון המטמון לתמונה בכך שנוסיף למוכר קופסא קטנה על השולחן אשר ניתן לשים בתוכה עד 10 סרטים, בתחילת הדוגמה נניח שהקופסא ריקה. כעת, כאשר מישהו יגיע לחנות ויבקש את הסרט "7 נשמות"בפעם הראשונה המוכר יצטרך להסתובב בחנות ולאתר את הסרט, כאשר הלקוח יחזיר את הסרט המוכר לא יצטרך להסתובב בחנות ולשים את הסרט במקומו אלא יניח אותו בקופסא החדשה שנמצאת על שולחנו.
מעתה כשיגיע לקוח חדש ויבקש פעם נוספת את הסרט " 7 נשמות" המוכר לא יצטרך להסתובב בחנות אלא יביא ללקוח את הסרט בין רגע מתוך הקופסא.ברגע שיגיע לקוח ויבקש סרט שלא נמצא בקופסא, המוכר יצטרך להסתובב בחנות ולחפש את הסרט. אך כאשר הלקוח יחזיר את הסרט, הסרט יונח בקופסא וכך הלקוח הבא אחריו יוכל ליהנות משירות מהיר במידה ויבקש את אחד הסרטים שכבר התבקשו על ידי לקוחות אחרים.
כך בעצם עובד זיכרון המטמון.
·          זיכרון המטמון הוא זיכרון קטן אשר נועד לזרז תהליכים בכך שהמידע ישמר בתוכו ויישלף מיידית מבלי הצורך לאתר אותו בדיסק הקשיח.
·         המידע בזיכרון המטמון כל הזמן משתנה על סמך השיטה הבאה, כאשר המידע נמצא בזיכרון המטמון ואחת התוכנות ביקשה את אותו מידע ספציפי, מונה אמינות המידע יעלה וכך מידע זה יישאר בזיכרון המטמון. מנגד כאשר המערכת תחפש מידע חיוני בזיכרון ולא תמצא אותו שם, כל אמינות המידע בזיכרון תרד וכך לאחר כמה פעמים מידע בעל אמינות יישאר ומידע חסר אמינות יצא מזיכרון המטמון עד אשר רוב המידע שנמצא בזיכרון המטמון יחשב כאמין.
·         באותה מערכת יכולים להיות כמה סוגי זיכרונות מטמון שפועלים בשכבות שונות ונועדו למטרות שונות כגון שמירת תוצאות של פעולות מתמטיות מסובכות או שמירת מצביע לפקודה כלשהי.
חשוב להבין שרכיבי המחשב עובדים בקצבים שונים לגמרי, כך לצורך הדוגמה:
הקצב שלוקח לרכיב Ram לבצע פעולה בממוצע הוא כ-60 ננו שניות. שזו לכאורה פעולה מאוד מהירה אך בהשוואה למעבד, זו פעולה נורא איטית כיוון שהמעבד יכול לבצע פעולותבקצב של 2 ננו לשנייה.
לכן במצב כזה כאשר המעבד יצטרך להפעיל את הRam לפעולה כלשהי הפעולה תגרום לצוואר בקבוק (הפעולות יצטברו ולא יהיה מי שיבצע אותן כי ה-Ram עסוק בפעולה הקודמת), כיוון שה-Ram לא מספיק מהיר ולכן המעבד יצטרך להמתין עד שה-Ram יסיים את הפעולה שהתבקשה.
כדי לגשר על הפער הומצא זיכרון המטמון, זהו רכיב שעובד בקצב מהיר יותר מה-Ram אך איטי יותר מהמעבד. לאחר שה-Ram יסיים לבצע את הפעולה שלו התוצאה תשמר בזיכרון המטמון וכאשר המעבד יצטרך לבצע פעולת חישוב שהוא כבר ביצע בעבר הוא לא יצטרך כלל לגשת ל- Ramאלא ייפנה ישר לזיכרון המטמון ומכאן נובע שככל שזיכרון המטמון גדול יותר כך ביצועי המחשב יהיו טובים יותר.
לא כל המידע שנמצא ב-cache הוא בהכרח מידע שימושי ורלוונטי לכן הומצאו שני המונחים Cache Hit ו- Cache Miss.
כאשר המעבד מבצע פעולה ונזקק להפעלת ה-Ram הוא תחילה יבדוק ב-Cache. ברגע שהמידע נמצא שם אותו מידע ספציפי יקבל Cache Hit, שזה כביכול מונה הצלחות ומנגד כאשר המידע אינו נמצא ב-Cache המידע יקבל Cache Miss ובכך המעבד ידע להחליף ערכים לא רלוונטיים ב-Cahce בערכים חדשים שיהיו רלוונטיים יותר.
נקודה נוספת שברצוני לציין היא שכרטיס הרשת שלכם הוא הרכיב הכי איטי במחשב שלכם כאשר מדובר בגלישה באינטרנט ולכן כדי לזרז את התהליך ה-Cache שיוקצה לדפדפן הוא בעצם הארדיסק שלכם. למרות שהארדיסק נחשב מאוד איטי יחסית ל-Ram למעבד.
הארדיסק בהשוואה לכרטיס הרשת הוא מאוד מהיר. בממוצע קצב התגובה של הארדיסק יהיה כ-12 מילי שניות ושל כרטיס הרשת כשנייה אחת!
לכן כאשר דפדפן האינטרנט שלכם ישתמש בזיכרון המטמון, הוא ישמור את הדפים שאתם צופים בהם על הארדיסק שלכם. כאשר אתם גולשים לאתר כלשהו הדפדפן מוריד את האתר ושומר אותו בארדיסק, לאחר שתכנסו שוב לאותו אתר הדפדפן יבדוק האם העותק שנמצא בהארדיסק הוא עדכני, במידה וכן זה הדף שתראו במידה ולא, הדפדפן יוריד את האתר מחדש לארדיסק.
כיוון שהרכיבים במחשב עובדים בקצבים שונים, נאלצו מפתחי החומרה להמציא רכיבי זיכרון מטמון תואמים למהירות הרכיבים, אני אמנה עבורכם את הרכיבים הנפוצים יותר בתחום:
זיכרון מטמון הנקרא L1 cache עובד בקצב של 10 ננו שנייה והוא בעצם מולחם למעבד ועוזר למעבד לשמור מידע אודות פעולות שכבר ביצע.
זיכרון מטמון הנקרא L2 cache עובד בקצבים של בין 20 ננו שניות ל30 ננו שניות,זיכרון זה מגשר בין המעבד לRam.
כאשר משתמשים ב- Ram לזיכרון מטמון, קצב העבודה של זיכרון מטמון זההלקצב העבודה של ה- Ram עצמו שזה 60 ננו שניות.
ואילו לפעמים חלק מהתוכנות שאתם מריצים במחשב משתמשים בהארדיסק שלכם כזיכרון מטמון.
לאלו מכם שאולי לא ידעו זאת, גם להארדיסק ישנו זיכרון מטמון אשר מאפשר לו לעבוד מהר יותר בכך שלא יצטרך לבצע שוב פעולות שכבר בצעתם.
מה שניתן לראות על ידי לחיצה על כונן כלשהו במחשב שלכם ולגשת למאפייני הכונן-

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

דילוג לתוכן