قياس أداء ذاكرة التخزين المؤقت ومعاييره

ذاكرة التخزين المؤقت لوحدة المعالجة المركزية هي قطعة من الأجهزة تعمل على تقليل وقت الوصول إلى البيانات في الذاكرة عن طريق الاحتفاظ بجزء من البيانات المستخدمة بشكل متكرر في الذاكرة الرئيسية في "ذاكرة تخزين مؤقت" أصغر وأسرع.

يعتمد أداء نظام الحاسوب على أداء جميع وحداته الفردية، بما في ذلك وحدات التنفيذ مثل وحدات الأعداد الصحيحة ، ووحدات التفرع، ووحدات الفاصلة العائمة، ووحدات الإدخال/الإخراج، وناقل البيانات، وذاكرة التخزين المؤقت، وأنظمة الذاكرة. وقد اتسعت الفجوة بين سرعة المعالج وسرعة الذاكرة الرئيسية بشكلٍ كبير. فقبل عامي 2001-2005، كانت سرعة وحدة المعالجة المركزية، مقاسةً بتردد الساعة، تنمو سنويًا بنسبة 55%، بينما لم تتجاوز سرعة الذاكرة 7%. [ 1 ] تُعرف هذه المشكلة بـ"حاجز الذاكرة". ويكمن الدافع وراء استخدام ذاكرة التخزين المؤقت وهيكلها الهرمي في سد هذه الفجوة في السرعة وتجاوز حاجز الذاكرة.

يُعدّ التخزين المؤقت (الذاكرة المخبئية) عنصرًا أساسيًا في معظم الحواسيب عالية الأداء. ونظرًا لوجوده لسدّ فجوة السرعة، فإنّ قياس أدائه ومؤشراته مهمة في تصميم واختيار مختلف المعايير، مثل حجم الذاكرة المخبئية، والترابطية، وسياسة الاستبدال، وغيرها. يعتمد أداء الذاكرة المخبئية على عدد مرات الوصول الناجحة (Hatts) وعدد مرات الوصول الفاشلة (Fases)، وهما العاملان اللذان يُحدّدان أداء النظام. يُشير الوصول الناجح إلى عدد مرات الوصول إلى الذاكرة المخبئية التي تُؤدّي إلى العثور على البيانات المطلوبة، بينما يُشير الوصول الفاشل إلى مرات الوصول التي لا تُؤدّي إلى العثور على البيانات المطلوبة. تُساهم هذه النتائج في حساب متوسط ​​زمن الوصول (AAT)، المعروف أيضًا باسم متوسط ​​زمن الوصول إلى الذاكرة (AMAT )، وهو، كما يوحي الاسم، متوسط ​​الوقت المُستغرق للوصول إلى الذاكرة. يُعدّ هذا أحد أهمّ مؤشرات قياس أداء الذاكرة المخبئية، لأنّ هذا الرقم يُصبح بالغ الأهمية مع زيادة سرعة المعالج.

يُعدّ قانون القوة لحالات عدم العثور على البيانات في ذاكرة التخزين المؤقت مقياسًا مفيدًا آخر لاختبار الأداء . فهو يُبيّن عدد حالات عدم العثور على البيانات عند تغيير حجم ذاكرة التخزين المؤقت، علمًا بأن عدد حالات عدم العثور على البيانات معروف عند أحد أحجام ذاكرة التخزين المؤقت. وبالمثل، عند الرغبة في اختبار أداء ذاكرة التخزين المؤقت من حيث حالات عدم العثور على البيانات عبر مستويات ارتباط مختلفة، يُستخدم تحليل مسافة المكدس .

مقدمة عن أنواع أخطاء ذاكرة التخزين المؤقت

يعتمد تحسن أداء المعالج الناتج عن تسلسل الذاكرة المخبئية على عدد عمليات الوصول الناجحة إلى الذاكرة المخبئية التي تُلبّي طلبات الوصول إلى الكتل (الوصول الناجح) مقابل عمليات الوصول الفاشلة. وتؤدي محاولات قراءة أو كتابة البيانات من الذاكرة المخبئية غير الناجحة (الوصول الفاشل) إلى الوصول إلى الذاكرة الرئيسية، مما يزيد من زمن الاستجابة. وهناك ثلاثة أنواع أساسية من الوصول الفاشل تُعرف باسم 3Cs [ 2 ] ، بالإضافة إلى أنواع أخرى أقل شيوعًا.

غيابات إجبارية

كل كتلة ذاكرة عند الوصول إليها لأول مرة تتسبب في خطأ إجباري. وهذا يعني أن عدد الأخطاء الإجبارية هو عدد كتل الذاكرة المختلفة التي تمت الإشارة إليها. وتُسمى هذه الأخطاء أحيانًا بالأخطاء الباردة . ولا يمكن تجنب الأخطاء الباردة إلا إذا تم جلب الكتلة مسبقًا .

لوحظ أن زيادة حجم الكتلة إلى حد معين، بهدف استغلال التقارب المكاني، تؤدي إلى انخفاض في حالات عدم العثور على البيانات المطلوبة. كما أن زيادة حجم الكتلة تؤدي إلى جلب مسبق للكلمات القريبة في الكتلة، مما يمنع حدوث حالات عدم العثور على البيانات المطلوبة مستقبلاً. في المقابل، قد تؤدي الزيادة المفرطة في حجم الكتلة إلى جلب مسبق لبيانات غير مفيدة، وبالتالي زيادة عدد حالات عدم العثور على البيانات المطلوبة.

يفشل الصراع

تحدث حالات عدم العثور على البيانات المطلوبة عندما تكون البيانات المطلوبة موجودة في ذاكرة التخزين المؤقت سابقًا، ولكن تم إخراجها منها. ويحدث هذا الإخراج نتيجةً لربط طلب آخر بنفس سطر ذاكرة التخزين المؤقت. وبشكل عام، تُقاس حالات عدم العثور على البيانات المطلوبة بطرح عدد حالات عدم العثور عليها في ذاكرة تخزين مؤقت ذات ترابط محدود من عدد حالات عدم العثور عليها في ذاكرة تخزين مؤقت ذات ترابط كامل بنفس الحجم وحجم كتلة ذاكرة التخزين المؤقت.

بما أن حالات عدم العثور على البيانات بسبب التعارض يمكن أن تعزى إلى نقص الترابط الكافي، فإن زيادة الترابط إلى حد معين (الترابط ذو 8 اتجاهات فعال تقريبًا مثل الترابط الكامل) يقلل من كمية حالات عدم العثور على البيانات بسبب التعارض، ومع ذلك، فإن هذا النهج يزيد من وقت الوصول إلى ذاكرة التخزين المؤقت ويستهلك طاقة أكبر بكثير من ذاكرة التخزين المؤقت ذات الترابط المحدد.

السعة غير كافية

يحدث خطأ في سعة الذاكرة المؤقتة (Cache) نتيجةً لصغر حجمها، وليس بسبب خلل في وظيفة تعيين البيانات فيها. عندما تكون مجموعة البيانات العاملة ، أي البيانات المهمة للبرنامج حاليًا، أكبر من سعة الذاكرة المؤقتة، يتكرر حدوث أخطاء السعة. من بين أخطاء الذاكرة المؤقتة الثلاثة (3Cs) ، يُعدّ خطأ السعة الأصعب في التحديد، ويمكن اعتباره خطأً غير إلزامي في ذاكرة مؤقتة ترابطية بالكامل. في نظام معالج واحد، يمكن تصنيف الأخطاء المتبقية بعد طرح عدد الأخطاء الإلزامية وأخطاء التعارض على أنها أخطاء في السعة.

بما أن أخطاء السعة قد تُعزى إلى محدودية حجم ذاكرة التخزين المؤقت، فإن إحدى الطرق البسيطة لتقليل عدد هذه الأخطاء هي زيادة حجمها. مع أن هذه الطريقة بديهية، إلا أنها تؤدي إلى زيادة وقت الوصول، وزيادة مساحة ذاكرة التخزين المؤقت، وبالتالي زيادة استهلاكها للطاقة. كما أن عدد الأخطاء يصل إلى حد أقصى بعد حجم معين لذاكرة التخزين المؤقت، ولا ينخفض ​​حتى مع زيادة حجمها.

تأثير التلاعب بمعلمات التخزين المؤقت الأساسية على حالات عدم العثور على البيانات في ذاكرة التخزين المؤقت. [ 2 ]
حدودغيابات إجباريةيفشل الصراعالسعة غير كافية
حجم ذاكرة تخزين مؤقت أكبرلا يوجد تأثيرلا يوجد تأثيرينقصينقص
حجم كتلة أكبرينقصينقصتأثير غير مؤكدتأثير غير مؤكد
ترابط أكبرلا يوجد تأثيرينقصينقصلا يوجد تأثير

إن الأنواع الثلاثة المذكورة أعلاه من الأخطاء لا تعالج إلا أخطاء المعالج الأحادي.

يفتقد التماسك

يمكن توسيع مجموعة أخطاء ذاكرة التخزين المؤقت 3Cs إلى 4Cs عند استخدام نظام متعدد المعالجات مزود بذاكرة تخزين مؤقت، حيث يمثل الخطأ الرابع أخطاء التماسك. يُعرَّف عدد أخطاء التماسك بأنه عدد عمليات الوصول إلى الذاكرة التي تفشل بسبب إبطال سطر ذاكرة التخزين المؤقت، الذي كان من المفترض أن يكون موجودًا في ذاكرة التخزين المؤقت للخيط، نتيجةً لعملية كتابة من خيط آخر. [ 3 ] يُحافظ على التماسك في نظام متعدد المعالجات إذا كانت هناك نسخة واحدة فقط من كتلة الذاكرة أو إذا كانت جميع النسخ تحمل القيمة نفسها. حتى لو لم تكن جميع نسخ كتلة الذاكرة تحمل القيمة نفسها، فإن ذلك لا يؤدي بالضرورة إلى خطأ تماسك. يحدث خطأ التماسك عندما تُنفِّذ الخيوط عمليات تحميل بحيث تُلاحظ القيم المختلفة لكتلة الذاكرة. [ 4 ]

تُعدّ مشكلة التماسك معقدة وتؤثر على قابلية التوسع للبرامج المتوازية. وللتغلب على هذه المشكلة، يجب أن يكون هناك ترتيب عالمي لجميع عمليات الوصول إلى الذاكرة في نفس الموقع عبر النظام.

أخطاء في التغطية

يمكن توسيع مجموعة أخطاء ذاكرة التخزين المؤقت 4Cs إلى 5Cs عندما يتضمن نظام المعالجات المتعددة دليل تماسك مُنظّم كذاكرة تخزين مؤقت، أي أنه قادر على استبدال المدخلات. يرمز الحرف C الخامس إلى التغطية. [ 5 ] يُمثل عدد أخطاء التغطية عدد عمليات الوصول إلى الذاكرة التي تفشل بسبب إبطال سطر ذاكرة تخزين مؤقت كان من المفترض وجوده في ذاكرة التخزين المؤقت للمعالج نتيجةً لإخلاء الدليل. إذا لم يتمكن الدليل من تتبع سطر ذاكرة التخزين المؤقت بسبب سعته المحدودة، فيجب إبطال السطر من ذاكرة التخزين المؤقت للمعالجات للحفاظ على التماسك .

تؤدي أنشطة النظام ، مثل المقاطعات وتبديل السياق واستدعاءات النظام ، إلى تعليق العملية وتغيير حالة ذاكرتها المؤقتة. وعند استئناف تنفيذ العملية، فإنها تواجه أخطاء في الذاكرة المؤقتة لاستعادة الحالة التي تم تغييرها. وتُسمى هذه الأخطاء بالأخطاء المتعلقة بالنظام. [ 2 ]

علاوة على ذلك، يمكن تصنيف حالات عدم الوصول إلى ذاكرة التخزين المؤقت بسبب تبديل السياق إلى فئتين موصوفتين أدناه.

تم استبدال الأخطاء

عند حدوث تبديل السياق، يتم تعديل حالة ذاكرة التخزين المؤقت واستبدال بعض كتلها. وتُسمى حالات عدم الوصول إلى هذه الكتل بحالات عدم الوصول المستبدلة.

إعادة ترتيب الأخطاء

قد لا تُستبدل بعض الكتل في الذاكرة المؤقتة بسبب تبديل السياق، ولكن يتغير ترتيبها. ويُقال إن حالات عدم الاستبدال تحدث عندما تحدث حالات عدم الاستبدال نتيجة لتغير ترتيب الكتل وليس بسبب استبدالها. ومع ذلك، عندما تستأنف العملية المعلقة تنفيذها، لا تؤدي الكتل المُعاد ترتيبها إلى حالات عدم استبدال السياق ما لم تتسبب حالات عدم الاستبدال الأخرى في إخراج هذه الكتل المُعاد ترتيبها.

تصبح الأخطاء المتعلقة بالنظام ذات أهمية بالغة عند حدوث تبديل السياق بشكل منتظم. يؤدي زيادة حجم ذاكرة التخزين المؤقت إلى انخفاض في السعة وأخطاء التعارض، ولكن لوحظ أنه يؤدي إلى زيادة الأخطاء المتعلقة بالنظام إذا كانت ذاكرة التخزين المؤقت لا تزال أصغر من مجموعة العمل الخاصة بالعمليات التي تتشاركها. لذا، يمثل تقليل عدد الأخطاء المتعلقة بالنظام تحديًا.

متوسط ​​زمن الوصول إلى الذاكرة

ترتبط حالات عدم العثور على البيانات في ذاكرة التخزين المؤقت ارتباطًا مباشرًا بزيادة عدد الدورات لكل تعليمة (CPI). ومع ذلك، يعتمد مقدار تأثير هذه الحالات على عدد الدورات لكل تعليمة على مدى إمكانية تداخلها مع العمليات الحسابية نتيجةً للتوازي على مستوى التعليمات (ILP)، ومدى إمكانية تداخلها مع حالات عدم العثور الأخرى في ذاكرة التخزين المؤقت نتيجةً للتوازي على مستوى الذاكرة . [ 2 ] إذا تجاهلنا هذين التأثيرين، يصبح متوسط ​​زمن الوصول إلى الذاكرة مقياسًا مهمًا. فهو يوفر مؤشرًا على أداء أنظمة الذاكرة وهياكلها. ويشير إلى متوسط ​​الوقت اللازم لإجراء عملية وصول إلى الذاكرة، وهو مجموع وقت تنفيذ تعليمات الذاكرة ودورات توقف الذاكرة. وقت التنفيذ هو وقت الوصول إلى ذاكرة التخزين المؤقت، بينما تشمل دورات توقف الذاكرة الوقت اللازم لمعالجة حالة عدم العثور على البيانات في ذاكرة التخزين المؤقت والوصول إلى مستويات أدنى من الذاكرة. إذا كانت زمن الوصول ومعدل عدم العثور على البيانات وعقوبة عدم العثور عليها معروفة، فيمكن حساب متوسط ​​زمن الوصول إلى الذاكرة باستخدام:

أمأتي=تيل1+مRل1مPل1{\displaystyle \mathrm {AMAT} =T_{L1}+MR_{L1}\cdot MP_{L1}}

أينتيل1{\displaystyle T_{L1}}يمثل زمن الوصول إلى ذاكرة التخزين المؤقت من المستوى الأول،مRل1{\displaystyle MR_{L1}}معدل الخطأ في ذاكرة التخزين المؤقت من المستوى الأول ومPل1{\displaystyle MP_{L1}}هي الدورات الإضافية التي يتطلبها إصلاح خطأ في مستوى أعلى مقارنةً بإصلاح إصابة في مستوى أعلى، ويتم حسابها باستخدام:

مPل1=تيل2+مRل2مPل2{\displaystyle MP_{L1}=T_{L2}+MR_{L2}\cdot MP_{L2}}

يمكن توسيع هذه الصيغة واستخدامها بشكل متكرر لجميع المستويات اللاحقة في التسلسل الهرمي للذاكرة للحصول على AMAT . [ 6 ]

قانون القوة لحالات عدم العثور على البيانات المخزنة مؤقتًا

يُظهر قانون القوة لحالات عدم الوصول إلى الذاكرة المؤقتة اتجاهًا في حالات عدم الوصول إلى السعة في تطبيق معين للبرنامج، متأثرًا بحجم الذاكرة المؤقتة. وقد أدت هذه الملاحظة التجريبية إلى الصيغة الرياضية لقانون القوة، الذي يوضح العلاقة بين معدل عدم الوصول وحجم الذاكرة المؤقتة. ويمكن التعبير عنه كما يلي:

م=م0*ج-α{\displaystyle M=M_{0}*C^{-\alpha }}

حيث M هو معدل الخطأ لذاكرة تخزين مؤقتة بحجم و M₀ هو معدل الخطأ لذاكرة تخزين مؤقتة أساسية. يختلف الأس α باختلاف حجم العمل، ويتراوح عادةً بين 0.3 و0.7، بمتوسط ​​0.5. وقد تم التحقق من صحة قانون القوة على عدد كبير من المعايير العملية. [ 7 ]

تُظهر هذه العلاقة أنه لا يمكن التخلص إلا من نسبة ضئيلة من حالات عدم العثور على البيانات في الذاكرة المؤقتة مع زيادة حجمها باستمرار. ولا يصح هذا القانون إلا ضمن نطاق محدود من أحجام الذاكرة المؤقتة، حيث لا يستقر معدل عدم العثور على البيانات حتى هذا النطاق. ثم يستقر معدل عدم العثور على البيانات عند حجم معين وكبير بما يكفي للذاكرة المؤقتة، وبعد ذلك لا تُعطي العلاقة تقديرات دقيقة.

ملف تعريف مسافة التراكم

يُعدّ منحنى مسافة المكدس تمثيلاً أفضل لكيفية تأثر حالات عدم الوصول إلى الذاكرة المؤقتة بحجمها. بينما يُقدّم قانون القوة لحالات عدم الوصول إلى الذاكرة المؤقتة تقريبًا تقريبيًا لذلك. يُجسّد منحنى مسافة المكدس سلوك إعادة استخدام البيانات مؤقتًا في ذاكرة مؤقتة ذات ترابط كامل أو ترابط جزئي. [ 8 ]

عادةً ما تصل التطبيقات التي تُظهر سلوك إعادة استخدام مؤقت إلى البيانات التي تم استخدامها مؤخرًا. لنفترض أن خاصية الترابط في ذاكرة التخزين المؤقت هيأ{\displaystyle A}لجمع معلومات ملف تعريف مسافة المكدس لهذه الذاكرة المؤقتة، بافتراض أنها تتبع سياسة استبدال LRU،أ+1{\displaystyle A+1}تُستخدم العدادات بدءًا منج0{\displaystyle C_{0}}لجأ{\displaystyle C_{A}}وعداد إضافي واحدج<أ{\displaystyle C_{<}A}وهو الذي يحصي عدد المحاولات الفاشلة. العدادجأنا{\displaystyle C_{i}}تزداد الزيادة عند حدوث إصابة فيأناتح{\displaystyle i^{th}}الطريق والعدادج<أ{\displaystyle C_{<}A}يتم زيادة قيمة العداد مع كل خطأ. يُظهر ملف تعريف مسافة المكدس اتجاه الوصول، حيث يتناقص من البيانات الأكثر استخدامًا إلى الأقل استخدامًا. باستخدام معلومات ملف تعريف مسافة المكدس هذه، يتم حساب خطأ ذاكرة التخزين المؤقت لذاكرة تخزين مؤقت ذات خاصية التجميع.أ{\displaystyle A{'}}وسياسة استبدال وحدات الاستبدال الأقل استهلاكاً، حيثأ<أ{\displaystyle A{'}<A}يمكن حسابها على النحو التالي

مأناss=ج<أ+أنا=أ+1أجأنا{\displaystyle miss=C_{<}A+\sum _{i=A{'}+1}^{A}C_{i}}

تقتصر هذه المعلومات التحليلية على رصد إعادة الاستخدام الزمني عبر مختلف أنواع الارتباطات. ولأغراض أخرى، يجب دراسة إعادة الاستخدام الزمني بمزيد من التفصيل.

انظر أيضاً

ملحوظات

  1. هينيسي، ج. وباترسون، د. (2003). هندسة الحاسوب  : منهج كمي، الطبعة الثالثة . دار مورغان كوفمان للنشر. رقم ISBN 9781558607248.{{cite book}}: صيانة CS1: أسماء متعددة: قائمة المؤلفين ( رابط )
  2. 1 2 3 4 سوليهين، يان (17-11-2015). أساسيات بنية المعالجات متعددة النوى المتوازية، طبعة 2016. تشابمان وهول. ISBN 978-1482211184.
  3. "نمذجة حالات عدم اتساق ذاكرة التخزين المؤقت على المعالجات متعددة النوى" (ملف PDF) . معهد مهندسي الكهرباء والإلكترونيات .
  4. السويد، ميشيل دوبوا، جامعة جنوب كاليفورنيا، الولايات المتحدة الأمريكية، مورالي أنافارام، جامعة جنوب كاليفورنيا، الولايات المتحدة الأمريكية، بير ستينستروم، جامعة تشالمرز للتكنولوجيا (2012). تنظيم وتصميم الحواسيب المتوازية . كامبريدج: مطبعة جامعة كامبريدج. ISBN 9781139051224.{{cite book}}: صيانة CS1: أسماء متعددة: قائمة المؤلفين ( رابط )
  5. ^ روس، ألبرتو. كويستا، بلاس؛ فرنانديز باسكوال، ريكاردو؛ جوميز، ماريا E.؛ أكاسيو، مانويل E.؛ روبلز، أنطونيو؛ غارسيا، خوسيه م. دواتو، خوسيه (2010). EMC2: توسيع تماسك Magny-Cours للخوادم واسعة النطاق . المؤتمر الدولي السابع عشر للحوسبة عالية الأداء (HiPC). الصفحات من 1 إلى 10. دوى : 10.1109/HIPC.2010.5713176 . رقم ISBN  978-1-4244-8518-5.
  6. باترسون، جون ل. هينيسي، ديفيد أ. (2011). هندسة الحاسوب : منهج كمي ( الطبعة الخامسة). سان فرانسيسكو، كاليفورنيا: مورغان كوفمان. ISBN   978-0-12-383872-8.{{cite book}}: صيانة CS1: أسماء متعددة: قائمة المؤلفين ( رابط )
  7. هارتستين، أ.؛ سرينيفاسان، ف.؛ بوزاك، ت. ر.؛ إيما، ب. ج. (1 يناير 2006). "سلوك فقدان البيانات في ذاكرة التخزين المؤقت". وقائع المؤتمر الثالث حول آفاق الحوسبة . CF '06. ص 313-320 . doi : 10.1145/1128022.1128064 . ISBN  978-1595933027. S2CID 17728397 . 
  8. ماتسون، آر إل ؛ جيكسي، جيه؛ سلوتز، دي آر؛ ترايجر، آي (1970). "تقنيات تقييم التسلسلات الهرمية للتخزين". مجلة أنظمة آي بي إم . 9 (2): 78-117 . doi : 10.1147/sj.92.0078 .