الفرق بين المعالجة المتعددة غير المتماثلة والمتماثلة في الشبكات symmetric and Asymmetric Multiprocessing

اقرأ في هذا المقال


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

ما هي المعالجة المتعددة غير المتماثلة

المعالجة المتعددة غير المتماثلة “Asymmetric Multiprocessing”: هي استخدام معالجات أو أكثر يتم التعامل معها بواسطة معالج رئيسي واحد، وجميع وحدات المعالجة المركزية مترابطة ولكنها ليست ذاتية الجدولة، كما يتم استخدام “AMP” لجدولة مهمة محددة إلى وحدة المعالجة المركزية بناءً على أولوية المهمة وأهميتها.

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

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

  • “AMP” هي اختصار لـ “Asymmetric Multiprocessing”.

ما هي المعالجة المتماثلة

المعالجة المتعددة المتماثلة “Symmetric Multiprocessing”: هي استخدام اثنين أو أكثر من معالجات الجدولة الذاتية التي تشترك في مساحة ذاكرة مشتركة، كما يمكن لكل معالج الوصول إلى أجهزة الإدخال أو الإخراج والذاكرة، ويطبق “SMP” العديد من وحدات المعالجة المركزية “CPU” لمهمة ما لإكمالها بطريقة متوازية وأسرع.

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

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

  • “SMP” هي اختصار لـ “Symmetric Multiprocessing”.
  • “CPU” هي اختصار لـ “Central Processing Unit”.

الفرق بين المعالجة المتعددة غير المتماثلة والمتماثلة

الرقم الاختلافالمعالجة المتعددة غير المتماثلة Asymmetric Multiprocessing      المعالجة المتعددة المتماثلة Symmetric Multiprocessing
1CPUجميع المعالجات ليست متساوية في الأسبقية.جميع المعالجات هي نفسها في الأسبقية.
2مهمة نظام التشغيلتتم مهمة نظام التشغيل بواسطة المعالج الرئيسي.يمكن القيام بمهمة نظام التشغيل بواسطة أي معالج.
3الاتصاللا يوجد اتصال بين المعالجات، حيث يتم التحكم فيها من خلال المعالج الرئيسي.كل المعالجات تتصل ببعضها البعض باستعمال الذاكرة المشتركة.
4جدولة العمليةيتم استخدام نهج الرئيس والفرع.يتم استخدام قائمة انتظار جاهزة من العمليات.
5كلفةالمعالجة المتعددة غير المتكافئة أرخص في التنفيذ.المعالجة المتعددة المتماثلة أكثر تكلفة في التنفيذ.
6تعقيد التصميمالمعالجة المتعددة غير المتماثلة أسهل في التصميم.المعالجة المتعددة المتماثلة معقدة في التصميم.

الاختلافات الرئيسية بين المعالجة المتعددة المتماثلة وغير المتماثلة

النقطة الأكثر اختلافاً بين المعالجة “AMP” و”SMP” هي أنّ الوظائف في نظام التشغيل يتم التعامل معها من خلال المعالج الأصلي في المعالجة المتعددة غير المتماثلة، كما تؤدي جميع المعالجات “processors” في المعالجة المتعددة المتماثلة بتفعيل المهام في نظام التشغيل، وفي المعالجة المتعددة المتماثلة قد يكون لكل معالج قائمة انتظار “waiting list” خاصة للعمليات الجاهزة أو يمكنه اعتماد العمليات من قائمة انتظار متاحة مشتركة.

ولكن في المعالجة “AMP” يعمل المعالج الرئيسي بتخصيص العمليات للمعالجات التابعة كما أنّ كل المعالجات في المعالجة المتعددة المتماثلة لها نفس الهيكل، لكنّ قد يتنوع هيكل المعالجات في “AMP” وتترابط المعالجات في “SMP” مع بعضها البعض من خلال الذاكرة المشتركة.

ومع ذلك لا تحتاج المعالجات في المعالجة “AMP” إلى التواصل مع بعضها البعض، حيث يتم التحكم فيها بواسطة المعالج الرئيسي، وفي حالة فشل المعالج الرئيسي يتم تعديل المعالج التابع إلى المعالج الرئيسي لمواصلة التنفيذ، ولكن في حالة فشل المعالج في المعالجة “SMP” يتم تقليل سعة الحوسبة للنظام.

كما أنّ المعالجات المتعددة غير المتماثلة بسيطة، حيث يصل المعالج الرئيسي فقط إلى بنية البيانات بينما المعالجات “SMP” معقدة وحيث تحتاج جميع المعالجات للعمل في التزامن.

الفرق في عمل بين المعالجة المتعددة المتماثلة وغير المتماثلة

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

وأدى استخدام النوى المتعددة إلى ظهور تقنيات مختلفة وبالطبع الكثير من المصطلحات، وعندما تظهر مصطلحات ومختصرات فنية جديدة، و”AMP” تعني معالجة متعددة غير متماثلة و”SMP” تعني المعالجة المتعددة المتماثلة.

عادةً ما يتم استخدام “SMP” عندما يحتاج تطبيق مضمن ببساطة إلى مزيد من طاقة وحدة المعالجة المركزية لإدارة عبء العمل الخاص به، وإلى حد كبير بالطريقة التي يتم بها استخدام وحدات المعالجة المركزية متعددة النواة في أجهزة كمبيوتر سطح المكتب.

كما أنّه من المرجح أن يتم استخدام “AMP” عندما تكون بنى وحدة المعالجة المركزية المختلفة هي الأمثل لأنشطة معينة مثل “DSP” و”MCU”، وفي نظام “AMP” هناك فرصة لنشر نظام تشغيل مختلف على كل نواة وعلى سبيل المثال “Nucleus” و”Android” أو “Linux” بما يتناسب مع الوظائف المطلوبة.

  • “MCU” هي اختصار لـ “Multipoint control unit”.
  • “DSP” هي اختصار لـ “Digital Signal Processors”.

أولاً: نظام AMP

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

ثانياً: نظام SMP

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

شارك المقالة: