ScholarGate
المساعد

بروتوكولات اتساق ذاكرة التخزين المؤقت

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

اعثر على موضوع باستخدام PaperMindقريبًاFind papers & topics
Tools & resources
تنزيل الشرائح
Learn & explore
فيديوقريبًا

Definition

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

Scope

يغطي هذا الموضوع مشكلة الاتساق وحلولها: بروتوكولات الإبطال مقابل التحديث، بروتوكولات التطفل على ناقل مشترك، البروتوكولات القائمة على الدليل للأنظمة القابلة للتوسع، وآلات الحالة المعيارية مثل MSI وMESI. ويتناول كيفية حفاظ الأجهزة على رؤية متماسكة للذاكرة عبر ذاكرات التخزين المؤقت. ويستثني ترتيب العمليات عبر العناوين (اتساق الذاكرة، ضمن الذاكرة المشتركة والاتساق) وسياسات ذاكرة التخزين المؤقت الواحدة (تنظيم وسياسات ذاكرة التخزين المؤقت).

Core questions

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

Key concepts

  • مشكلة الاتساق
  • بروتوكولات الإبطال مقابل التحديث
  • بروتوكولات التطفل
  • البروتوكولات القائمة على الدليل
  • حالات MSI وMESI
  • الناقل المشترك ووصلة الربط
  • المشاركة الزائفة
  • تسلسل الكتابة

Key theories

اتساق قائم على الحالة (MSI/MESI)
يتم تتبع كل كتلة مخبأة في مجموعة صغيرة من الحالات (مثل معدلة، حصرية، مشتركة، غير صالحة)؛ تؤدي عمليات القراءة والكتابة إلى انتقالات الحالة ورسائل الاتساق التي تضمن وجود كاتب واحد على الأكثر وأن القراء لا يرون أبدًا بيانات قديمة.

Mechanisms

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

Clinical relevance

يجعل الاتساق المعالجة المتعددة للذاكرة المشتركة قابلة للبرمجة: يمكن للبرمجيات التعامل مع الذاكرة كمخزن مشترك واحد بينما تخفي الأجهزة وجود ذاكرات تخزين مؤقت متعددة. ومع ذلك، يمكن أن يهيمن حجم حركة بيانات الاتساق وتأثيرات مثل المشاركة الزائفة (false sharing) على الأداء في البرامج المتوازية، لذا فإن الوعي بالاتساق مهم للبرمجيات متعددة الخيوط القابلة للتوسع.

History

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

Debates

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

Key figures

  • David E. Culler
  • Mark D. Hill
  • James R. Goodman
  • John L. Hennessy

Related topics

Seminal works

  • hennessy2019
  • culler1999

Frequently asked questions

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

Methods for this concept

Related concepts