ما الفرق بين المعالجة المتعددة ومسارات التنفيذ المتعدّدة Multiprocessing Vs Multithreading

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


ما هي المعالجة المتعددة Multiprocessing؟

يحتوي نظام المعالجة المتعددة على أكثر من معالجَين، تتم إضافة وحدات المعالجة المركزية إلى النظام مما يساعد على زيادة سرعة الحوسبة للنظام، كل وحدة معالجة مركزية لها مجموعتها الخاصة من الـ (registers) والذاكرة الرئيسية.

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

ما هي مسارات التنفيذ المتعدّدة Multithreading؟

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

خصائص المعالجة المتعددة:

فيما يلي الميزات الأساسية للمعالجة المتعددة:

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

خصائص مسارات التنفيذ المتعدّدة:

فيما يلي جوانب مهمة من تعدد الثريد:

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

الفرق بين المعالجة المتعددة ومسارات التنفيذ المتعدّدة:

فيما يلي اختلافات مهمة بين المعالجة المتعددة وتعدد مسارات التنفيذ:

النوعالمعالجة المتعددةمساراتالتنفيذ المتعددة
1.الفائدة

تساعدك المعالجة المتعددة على زيادة قوة الحوسبة.

تساعدك مسارات التنفيذ المتعددة على إنشاء ثريدز الحوسبة لعملية واحدة، لزيادة قوة الحوسبة.
2.التنفيذ

يسمح لك بتنفيذ عمليات متعددة في نفس الوقت.

يتم تنفيذ ثريدز متعددة لعملية واحدة بشكل متزامن.
3.تبديل وحدة المعالجة المركزية

في المعالجة المتعددة، يتعين على وحدة المعالجة المركزية التبديل بين برامج متعددة، بحيث يبدو أن العديد من البرامج تعمل في وقت واحد.

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

إنشاء العملية بطيء ومحدد الموارد.

يعد إنشاء الخيط أمرًا اقتصاديًا من حيث الوقت والموارد.
5. 

تصنيف

يمكن أن تكون المعالجة المتعددة متماثلة أو غير متماثلة.لا يتم تصنيف تعدد مسارات التنفيذ.
6. 

الذاكرة

تخصص المعالجة المتعددة ذاكرة وموارد منفصلة لكل عملية أو برنامج.

تشترك مسارات التنفيذ المتعددة التي تنتمي إلى نفس العملية في نفس الذاكرة والموارد، مثل تلك الخاصة بالعملية.

7. 

برنامج

يسمح نظام المعالجة المتعددة بتنفيذ برامج ومهام متعددة.

ويسمح نظام مسارات التنفيذ المتعددة بتنفيذ ثريدز متعددة لنفس العمليات أو عمليات مختلفة.

8.

الوقت المستغرق

يستغرق وقتًا أقل لمعالجة المهمة.يتم أخذ قدر معتدل من الوقت لمعالجة المهمة.

المصدر: Multithreading vs Multiprocessing: What's the differenceDifference between Multiprocessing and MultithreadingMultiprocessing Vs. Threading In Python: What You Need To Know.Multiprocessing vs. Threading in Python: What Every Data Scientist Needs to Know


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