الذاكرة المشتركة الموزعة

تطبيق الذاكرة المشتركة الموزعة.

في علم الحاسوب ، تُعدّ الذاكرة المشتركة الموزعة ( DSM ) شكلاً من أشكال بنية الذاكرة حيث يمكن الوصول إلى الذواكر المنفصلة فعلياً كمساحة عناوين مشتركة واحدة . لا يعني مصطلح "مشتركة" وجود ذاكرة مركزية واحدة، بل يعني أن مساحة العناوين مشتركة، أي أن العنوان الفعلي نفسه على معالجين يشير إلى الموقع نفسه في الذاكرة. [ 1 ] : 201. أما مساحة العناوين العالمية الموزعة ( DGAS )، فهي مصطلح مشابه لفئة واسعة من تطبيقات البرمجيات والأجهزة، حيث تتمتع كل عقدة في المجموعة بإمكانية الوصول إلى الذاكرة المشتركة بالإضافة إلى ذاكرتها الخاصة (أي غير المشتركة) .

ملخص

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

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

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

مقارنة مع تمرير الرسائل

تمرير الرسائلالذاكرة المشتركة الموزعة
يجب تنظيم المتغيراتتتم مشاركة المتغيرات بشكل مباشر
تكلفة الاتصالات واضحةتكلفة الاتصال غير مرئية
تتم حماية العمليات من خلال امتلاك مساحة عناوين خاصةقد تتسبب العمليات في حدوث أخطاء عن طريق تغيير البيانات
ينبغي أن تُنفذ العمليات في نفس الوقتقد يتم تنفيذ العمليات بأعمار غير متداخلة

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

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

تماسك ذاكرة الدليل

يُعدّ تماسك الذاكرة ضروريًا لتمكين النظام الذي يُنظّم وحدة إدارة البيانات (DSM) من تتبّع حالة كتل البيانات في العُقد عبر الذواكر المُكوّنة للنظام والحفاظ عليها. ويُعتبر الدليل أحد هذه الآليات التي تُحافظ على حالة كتل ذاكرة التخزين المؤقت أثناء تنقلها في النظام.

الولايات

مخطط حالة لكتلة من الذاكرة في DSM. تُعتبر الكتلة "مملوكة" إذا كانت إحدى العقد تمتلك الكتلة في الحالة EM.

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

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

طلب واستجابة تتمحور حول المنزل

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

طلب واستجابة تتمحور حول مقدم الطلب

الاستدعاءات والاستجابات المتسلسلة في الدليل التشخيصي والإحصائي للاضطرابات النفسية (DSM).

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

نماذج الاتساق

يجب على DSM اتباع قواعد معينة للحفاظ على الاتساق في كيفية عرض ترتيب القراءة والكتابة بين العقد، وهو ما يسمى نموذج اتساق النظام .

في حالة وجود n عملية و Mi عملية ذاكرة لكل عملية i ، وتُنفذ جميع العمليات بالتسلسل، فإن ( M1 + M2 + ... + Mn )!/( M1 ! M2 ! ... Mn !) هي احتمالات لتداخل العمليات. تكمن المشكلة في هذا الاستنتاج في تحديد صحة تداخل العمليات. يحدد تماسك الذاكرة في DSM التداخلات المسموح بها.

النسخ

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

اتساق الإصدار والدخول

يُقصد باتساق الإصدار أنه عند خروج عملية من قسم حرج ، تُعمم القيم الجديدة للمتغيرات على جميع المواقع. أما باتساق الدخول، فيُقصد به أنه عند دخول عملية إلى قسم حرج، تُحدِّث تلقائيًا قيم المتغيرات المشتركة. ويُعدّ الاتساق القائم على العرض نوعًا من أنواع اتساق الدخول، إلا أن النظام يكتشف المتغيرات المشتركة للقسم الحرج تلقائيًا.

أمثلة

انظر أيضاً

مراجع

  1. باترسون، ديفيد أهينيسي، جون ل. (2006). هندسة الحاسوب: منهج كمي (  الطبعة الرابعة). بيرلينجتون، ماساتشوستس: مورغان كوفمان. ISBN 978-01-2370490-0.
  2. سوليهين، يان (2015). أساسيات بنية المعالجات متعددة النوى المتوازية . بوكا راتون، فلوريدا: تشابمان آند هول/سي آر سي. الصفحات 339-340 . ISBN  9781482211184.
  3. 1 2 سورين، دانيال جيه؛ هيل، مارك دي؛ وود، ديفيد إيه (2011). مدخل إلى اتساق الذاكرة وتماسك ذاكرة التخزين المؤقت . مورغان وكلايبول. ص 174. ISBN  978-16-0845564-5.