الذاكرة المشتركة مقابل توزيع الذاكرة multithread مقابل المعالجة

StackOverflow https://stackoverflow.com/questions/1619648

سؤال

أنا أتعلم البرمجة المتوازية من قبل نفسي.أنا أتساءل عما إذا كان توزيع الذاكرة دائما المعالجة و multithread دائما مشترك الذاكرة ؟ إن المعالجة يمكن أن تكون وزعت الذاكرة المشتركة الذاكرة ؟ الشكر و التحيات!

هل كانت مفيدة؟

المحلول

نعم ، نعم ، و "نعم, في إحساس"

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

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

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

وأود أن أضيف أن توزيع-الذاكرة-ولكن-cache-أنظمة متسقة موجودة و هي نوع من الذاكرة المشتركة المعالجات يسمى تصميم نوما. قبل بضع سنوات فقط وكانت هذه الآلات مجنون هامش الحوسبة المتوازية, ولكن الآن Intel Core i7 جلبت نوما في التيار الرئيسي.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top