نظام تمرير الرسائل في مقابل أنظمة الذاكرة المشتركة

 نظام تمرير الرسائل في مقابل أنظمة الذاكرة المشتركة

أنظمة الذاكرة المشتركة هي تلك التي توجد بها مساحة عنوان مشتركة (مشتركة) في جميع أنحاء

النظام. يتم الاتصال بين المعالجات من خلال متغيرات البيانات المشتركة والتحكم

المتغيرات لمزامنة بين المعالجات. الإشارات والشاشات التي كانت في الأصل

مصممة لأحادي المعالجات المشتركة في الذاكرة والمعالجات المتعددة هي أمثلة على كيفية التزامن

يمكن تحقيقه في أنظمة الذاكرة المشتركة. كل جهاز كمبيوتر متعدد (NUMA وكذلك

تمرير الرسائل) التي لا تحتوي على مساحة عنوان مشتركة يوفرها المصدر

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

العثور على البرنامج باستخدام الذاكرة المشتركة أسهل من تمرير الرسالة. لهذا والعديد

أسباب أخرى ندرسها في وقت لاحق ، يتم توفير التجريد تسمى الذاكرة المشتركة في بعض الأحيان

لمحاكاة مساحة عنوان مشتركة. بالنسبة للنظام الموزع ، يسمى هذا التجريد موزعاً

ذكريات مشتركه. تنفيذ هذا التجريد له تكلفة معينة لكنه يبسط مهمة

مبرمج التطبيق. هناك أيضا نتيجة فولكلورية معروفة أن التواصل عبر

يمكن محاكاة تمرير الرسائل عن طريق الاتصال عبر الذاكرة المشتركة والعكس بالعكس. وبالتالي،


والنموذجان متساويان.

محاكاة تمرير الرسائل على نظام الذاكرة المشتركة (MP → SM).

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

المعالج. يمكن تنفيذ عمليات 'إرسال' و 'تلقي' بالكتابة والقراءة منها

مساحة عنوان المعالج الوجهة / المرسل ، على التوالي. على وجه التحديد ، يمكن لموقع منفصل

يتم حجزها كصندوق بريد لكل زوج من العمليات المطلوبة. يمكن أن يكون تمرير رسالة Pi – Pj

يحاكيها الكتابة باي

إلى علبة البريد ثم قراءة بواسطة Pj من علبة البريد. في أبسط

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

ليتم التحكم فيها باستخدام البدائل الأولية للتزامن لإعلام المستقبل / المرسل بعد البيانات

تم إرسالها / استلامها.

.2 محاكاة الذاكرة المشتركة على نظام تمرير الرسائل (SM → MP).

ويشمل ذلك استخدام عمليات 'إرسال' و 'تلقي' لعمليات 'الكتابة' و 'القراءة'. كل

يمكن تصميم الموقع المشترك كعملية منفصلة ؛ تتم كتابة 'كتابة' إلى موقع مشترك بواسطة

إرسال رسالة تحديث إلى عملية المالك المقابلة ؛ 'اقرأ' إلى موقع مشترك

تتم مضاهاة عن طريق إرسال رسالة استعلام إلى عملية المالك. كما الوصول إلى معالج آخر

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

قد تبدو الذاكرة المشتركة أكثر جاذبية من منظور المبرمج ، يجب أن تكون

تذكر أنه في نظام موزع ، هو مجرد تجريد. وبالتالي ، فإن latencies المشاركة فيها

قد تكون عمليات القراءة والكتابة عالية حتى عند استخدام مضاهاة الذاكرة المشتركة لأن القراءة

ويتم تنفيذ عمليات الكتابة باستخدام الاتصال على مستوى الشبكة تحت الأغطية.

يمكن للتطبيق بالطبع استخدام مزيج من الذاكرة المشتركة ومرر الرسالة. في

MIMD نظام مرور متعدد الرسائل ، كل 'معالج' قد يكون متعدد المعالجات

النظام مع الذاكرة المشتركة. داخل نظام متعدد المعالجات ، التواصل المعالجات

عبر الذاكرة المشتركة. بين جهازي كمبيوتر ، يتم الاتصال عبر رسالة.

نظرًا لأن أنظمة تمرير الرسائل أكثر شيوعًا وأكثر ملاءمة لأنظمة التوزيع واسعة النطاق ،سننظر في أنظمة تمرير الرسائل على نطاق أوسع مما نعتبره أنظمة الذاكرة المشتركة

Primitives for Distributed Communication
.6. الحظر / عدم الإمساك ، الأوليات المتزامنة / غير المتزامنة
إرسال رسالة ورسالة تلقي الرسائل الأولية يتم الإشارة إلى Send () وتلقي () ،

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

مساحة المستخدم ، التي تحتوي على البيانات المراد إرسالها. وبالمثل ، فإن الدالة Receiveprimitive لها معلمتان على الأقل

- المصدر الذي يتم استلام البيانات منه (قد يكون هذا حرفًا بدلًا) ، والمخزن المؤقت للمستخدم

الذي يتم تلقي البيانات.

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

الخيار غير محصور. الخيار المخزن مؤقتًا وهو الخيار القياسي ينسخ البيانات من

المخزن المؤقت للمستخدم إلى المخزن المؤقت kernel. يتم نسخ البيانات فيما بعد من مخزن مؤقت kernel على الشبكة.

في الخيار unbuffered ، يتم نسخ البيانات مباشرة من المخزن المؤقت للمستخدم على الشبكة. إلى عن على

استلام البدائي ، عادة ما يكون الخيار المخزن مؤقتًا مطلوبًا لأن البيانات قد تكون موجودة بالفعل

وصلت عندما يتم استدعاء البدائية ، ويحتاج إلى مكان تخزين في النواة.

فيما يلي بعض تعريفات حظر / nonblocking ومتزامن / غير متزامن

الأوليات.

الأوليات متزامن. يكون إرسال إرسال أو استقبال بدائي متزامن إذا كان كل من Send () و

تلقي () المصافحة مع بعضها البعض. اكتمال معالجة 'إرسال الأولية' فقط

بعد أن يتعلم معالج الاستدعاء أن الآخر المقابل البدائي المتلقي لديه أيضا

تم استدعاؤها وأنه تم إكمال عملية الاستلام. تجهيز ل

يستلم إكتمال أولي عندما يتم نسخ البيانات التي سيتم استلامها إلى مستخدم المستلم

متعادل.

الأوليات غير المتزامنة. ويقال أن بدائي الإرسال غير متزامن إذا عاد التحكم إلى

تم نسخ عملية الاستدعاء بعد عنصر البيانات المراد إرسالها من المستخدم المحدد

متعادل.

ليس من المنطقي تحديد الأوليات الأولية غير المتزامنة.

حجب الأوليات. البدائي هو عرقلة إذا يعود التحكم إلى عملية الاستدعاء بعد

معالجة البدائية (سواء في وضع متزامن أو غير متزامن) يكمل.

الأوليات غير الثابتة. بدائي هو nonblocking إذا تعيد التحكم إلى عملية استدعاء

مباشرة بعد الاحتجاج ، على الرغم من أن العملية لم تكتمل. ل nonblocking

إرسال والتحكم يعود إلى العملية حتى قبل نسخ البيانات من المستخدم

متعادل. لاستقبال nonblocking ، يعود التحكم إلى العملية حتى قبل البيانات

قد وصلت من المرسل.

بالنسبة للأولويات غير الثابتة ، تقوم المعلمة المرتجعة على المكالمة البدائية بإرجاع نظام تم إنشاؤه

المقبض الذي يمكن استخدامه لاحقًا للتحقق من حالة إكمال المكالمة. يمكن أن العملية

تحقق من إكمال المكالمة بطريقتين. أولا ، يمكن أن تستمر في التحقق (في حلقة أو

بشكل دوري) إذا تم وضع المؤشر أو نشره. ثانيًا ، يمكنه إصدار انتظار بالقائمة

من المقابض كمعلمات. عادةً ما يتم حظر استدعاء Wait حتى يتم معالجة أحد مقابض المعلمات

نشر. يفترض بعد إصدار البدائي في وضع nonblocking ، وقد فعلت العملية

أيا كانت الإجراءات التي يمكن القيام بها ، والآن بحاجة إلى معرفة حالة الانتهاء من المكالمة ، لذلك

استخدام استدعاء Waiting (حظر) هو ممارسة برمجة معتادة. رمز nonblocking

سيظهر الإرسال كما هو موضح في الشكل 1.7.

إذا تم إصدار ذلك Wait () في الوقت الذي يتم فيه إصدار المعالجة الأولية (سواء متزامنة

اكتمال ، عاد انتظر على الفور. الانتهاء من المعالجة

من البدائية يمكن اكتشافها عن طريق التحقق من قيمة المقبض. إذا كانت المعالجة

من البدائي لم يكتمل ، كتل الانتظار وينتظر إشارة لتنبيهه.

عند اكتمال معالجة البدائية ، برنامج فرعي للاتصال

يحدد قيمة المقبض ويستيقظ (إشارات) أي عملية مع حظر انتظار مكالمة على هذا

handlek. وهذا ما يسمى نشر عملية الانتهاء.

هناك بالتالي أربعة إصدارات من حظر إرسال - متزامن بدائي ، متزامن

nonblocking حظر غير متزامن و nonblocking غير متزامن. لتلقي البدائية ،

هناك حظر الإصدارات المتزامنة متزامنة وغير nonblocking. هذه الإصدارات من

يتم توضيح الأوليات في الشكل 1.8 باستخدام مخطط توقيت. هنا ، ثلاثة خطوط زمنية هي

الموضح لكل عملية: (1) لتنفيذ العملية ، (2) لمخزن المستخدم من / إلى أي بيانات

المرسلة / المستلمة ، و (3) للنظام الفرعي للنواة / الاتصال.

حجب المتزامن إرسال (الشكل 1.8 (أ)): يتم نسخ البيانات من المخزن المؤقت للمستخدم إلى

ثم يتم إرسال المخزن المؤقت kernel عبر الشبكة. بعد نسخ البيانات إلى جهاز الاستقبال

المخزن المؤقت للنظام ، يؤدي إعلام مرة أخرى إلى المرسل إلى التحكم في العودة إلى العملية

التي استدعت عملية الإرسال وتكمل الإرسال.

عدم الإرسال المتزامن غير المرسل (الشكل 1.8 (ب)): يعود التحكم مرة أخرى إلى عملية الاستدعاء

بمجرد بدء نسخة البيانات من المخزن المؤقت للمستخدم إلى المخزن المؤقت kernel. معلمة في

يتم أيضًا تعيين استدعاء nonblocking مع مقبض الموقع الذي يمكن معالجة المستخدم فيما بعد

تحقق من اكتمال عملية الإرسال المتزامن. يحصل موقع بعد

يعود الإقرار بالاستلام من المستلم ، وفقًا لسمات الدلالة الموصوفة لـ (أ). ال

يمكن أن تستمر عملية المستخدم في التحقق من اكتمال إرسال التزامن غير المتزامن

باختبار المؤشر الذي تم إرجاعه أو يمكن استدعاء عملية الانتظار حظر على إرجاع

مقبض.

منع إرسال غير متزامن (الشكل 1.8 (ج)): يتم حظر عملية المستخدم التي تستدعي إرسال

حتى يتم نسخ البيانات من مخزن المستخدم المؤقت إلى مخزن مؤقت kernel. (بالنسبة للخيار غير المحصور ،

يتم حظر عملية المستخدم التي تستدعي إرسال إلى أن يتم نسخ البيانات من مخزن المستخدم المؤقت

إلى الشبكة.)

الشكل 1.8: الحظر / عدم الإمساك والأوليات الأولية المتزامنة / غير المتزامنة. عملية بي

هو ارسال

وعملية PJ

يتلقى. (أ) حجب المتزامن إرسال وحظر (متزامن)

تسلم. (ب) عدم الاتصال المتزامن غير المرسل إرسال و nonblocking (متزامن) تلقي. (ج) الحظر

إرسال غير متزامن. (د) إرسال غير متزامن غير ملزم.

الإرسال غير المتزامن غير المتصل (الشكل 1.8 (d)): عملية المستخدم التي تستدعي الإرسال

حظر حتى يتم بدء نقل البيانات من المخزن المؤقت للمستخدم إلى مخزن مؤقت kernel.

(بالنسبة للخيار غير المحصور ، يتم حظر عملية المستخدم التي تستدعي الإرسال حتى النقل

يبدأ من البيانات من المخزن المؤقت للمستخدم إلى الشبكة.) يعود التحكم إلى المستخدم

عملية بمجرد بدء عملية النقل هذه ، ويتم أيضًا الحصول على معلمة في استدعاء nonblocking

يتم تعيينه باستخدام مؤشر الموقع الذي يمكن لعملية المستخدم التحقق منه لاحقًا باستخدام عملية الانتظار

لإكمال عملية الإرسال غير المتزامن. اكتمال الإرسال غير المتزامن

عندما يتم نسخ البيانات من المخزن المؤقت للمستخدم. قد يتحقق التحقق من الإكمال

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

حجب استلام (الشكل 1.8 (أ)): كتل الاتصال تلقي حتى وصول البيانات المتوقعة وهي

مكتوبة في مخزن المستخدم المحدد. ثم يتم إرجاع التحكم إلى عملية المستخدم
الشكل 1.8: الحظر / عدم الإمساك والأوليات الأولية المتزامنة / غير المتزامنة. عملية بي

هو ارسال

وعملية PJ

يتلقى. (أ) حجب المتزامن إرسال وحظر (متزامن)

تسلم. (ب) عدم الاتصال المتزامن غير المرسل إرسال و nonblocking (متزامن) تلقي. (ج) الحظر

إرسال غير متزامن. (د) إرسال غير متزامن غير ملزم.

الإرسال غير المتزامن غير المتصل (الشكل 1.8 (d)): عملية المستخدم التي تستدعي الإرسال

حظر حتى يتم بدء نقل البيانات من المخزن المؤقت للمستخدم إلى مخزن مؤقت kernel.

(بالنسبة للخيار غير المحصور ، يتم حظر عملية المستخدم التي تستدعي الإرسال حتى النقل

يبدأ من البيانات من المخزن المؤقت للمستخدم إلى الشبكة.) يعود التحكم إلى المستخدم

عملية بمجرد بدء عملية النقل هذه ، ويتم أيضًا الحصول على معلمة في استدعاء nonblocking

يتم تعيينه باستخدام مؤشر الموقع الذي يمكن لعملية المستخدم التحقق منه لاحقًا باستخدام عملية الانتظار

لإكمال عملية الإرسال غير المتزامن. اكتمال الإرسال غير المتزامن

عندما يتم نسخ البيانات من المخزن المؤقت للمستخدم. قد يتحقق التحقق من الإكمال

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

حجب استلام (الشكل 1.8 (أ)): كتل الاتصال تلقي حتى وصول البيانات المتوقعة وهي

مكتوبة في مخزن المستخدم المحدد. ثم يتم إرجاع التحكم إلى عملية المستخدم

6.2 Synchrony المعالج

على عكس تصنيف الأتصالات المتزامنة وغير المتزامنة ، هناك

هو أيضا تصنيف المعالجات المتزامنة مقابل غير المتزامنة. يشير synchrony المعالج

أن جميع المعالجات تنفذ في خطوة القفل مع ساعاتهم متزامنة. كما هذا التزامن

غير قابل للتحقيق في النظام الموزع ، ما هو أكثر شيوعا هو أنه بالنسبة لكبير

دقة التعليمة البرمجية ، وعادة ما تسمى كخطوة ، تتم مزامنة المعالجات. هذا التجريد هو

نفذت باستخدام شكل من أشكال تزامن الحاجز لضمان عدم بدء تشغيل المعالج

الخطوة التالية من التعليمات البرمجية حتى اكتمال جميع المعالجات تنفيذ الخطوات السابقة من

كود مخصص لكل من المعالجات.

1.6.3 المكتبات والمعايير

حددت الأقسام الفرعية السابقة المبادئ الأساسية التي تستند إليها جميع أوليات الاتصالات.

في هذا القسم الفرعي ، نذكر بإيجاز بعض الواجهات العامة المتاحة التي تجسد بعضًا من

فوق المفاهيم.
هناك مجموعة واسعة من الأوليات لتمرير الرسالة. العديد من منتجات البرمجيات التجارية

تستخدم (الخدمات المصرفية ، والمرتبات ، الخ) استخدام المكتبات البدائية الملكية المزودة بالبرنامج

يتم تسويقها من قبل البائعين (على سبيل المثال ، برنامج IBM CICS الذي تم تثبيته على نطاق واسع جدًا

قاعدة العملاء في جميع أنحاء العالم يستخدم الأوليات الخاصة بها). مكتبة Message-Passing Interface (MPI)

وتستخدم مكتبة PVM (الجهاز الظاهري المتوازي) إلى حد كبير من قبل المجتمع العلمي ، ولكن

توجد مكتبات بديلة أخرى. غالبًا ما تتم كتابة البرامج التجارية باستخدام الإجراء البعيد

آلية الاتصال (RPC) التي تكون فيها الإجراءات التي يحتمل أن تكون موجودة عبر الشبكة

استحضارها بشفافية للمستخدم ، بنفس الطريقة التي يتم بها استدعاء إجراء محلي. تحت

يتم استخدام الأغطية ، أو البدائل المقبس ، أو أعمدة طبقة النقل المشابهة للمقبس لاستدعاء الإجراء

عن بعد. يوجد العديد من تطبيقات RPC - على سبيل المثال ، Sun RPC و Distributed

بيئة الحوسبة (DCE) RPC. 'المراسلة' و 'البث' هما آليتان أخريان لـ

الاتصالات. مع نمو البرمجيات القائمة على الكائن ، ومكتبات لاستدعاء طريقة عن بعد

(RMI) واستدعاء كائن عن بعد (ROI) مع مجموعتهم الخاصة من الأوليات يتم اقتراحها

وتوحيدها من قبل وكالات مختلفة. كوربا (العمارة السمسرة عند الطلب المشترك)

و DCOM (Distributed Component Object Model) هما معماريان معياريان آخران مع

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

نكهة خاصة من الأوليات الاتصالات

Subscribe for latest Apps and Games


0 Comments:

إرسال تعليق