موصى به, 2020

اختيار المحرر

الفرق بين Multiprocessing و Multithreading

يضيف كل من المعالجة المتعددة و Multithreading الأداء إلى النظام. تضيف المعالجة المتعددة عددًا أكبر من أو وحدات المعالجة المركزية / المعالجات إلى النظام مما يزيد من سرعة الحوسبة للنظام. يسمح Multithreading لعملية إنشاء المزيد من مؤشرات الترابط التي تزيد من استجابة النظام. لقد برزت بعض الاختلافات أكثر بين المعالجة المتعددة و multithreading التي ناقشتها مع مساعدة من الرسم البياني المقارنة المبينة أدناه.

رسم بياني للمقارنة

أساس للمقارنةمتعدد المعالجةخاصية تعدد
الأساسيةيضيف Multiprocessing وحدات المعالجة المركزية (CPUs) لزيادة طاقة الحوسبة.يقوم Multithreading بإنشاء سلاسل عمليات متعددة لعملية واحدة لزيادة طاقة الحوسبة.
إعداميتم تنفيذ عمليات متعددة في وقت واحد.يتم تنفيذ سلاسل متعددة من عملية واحدة في وقت واحد.
خلقإنشاء عملية تستغرق الكثير من الوقت والموارد مكثفة.إنشاء موضوع اقتصادي في كل من الوقت والمورد.
تصنيفيمكن أن تكون المعالجة المتعددة متماثلة أو غير متماثلة.لا يعد تصنيف multithreading.

تعريف المعالجة المتعددة

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

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

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

تعريف متعدد

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

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

الآن دعونا نأخذ بعين الاعتبار فوائد multithreading. يزيد تعدد العمليات من الاستجابة كما لو تم حظر مؤشر واحد من عملية أو إجراء عملية طويلة ، لا تزال العملية مستمرة. الفائدة الثانية من multithreading هي مشاركة الموارد حيث تتشارك عدة مؤشرات ترابط عملية نفس التعليمة البرمجية والبيانات داخل نفس مساحة العنوان.

يعد إنشاء سلسلة محادثات أمرًا اقتصاديًا لأنه يشارك في الشفرة وبيانات العملية التي ينتمون إليها. لذلك لا يحتاج النظام إلى تخصيص الموارد بشكل منفصل لكل مؤشر ترابط. يمكن زيادة تعدد العمليات على نظام التشغيل متعدد المعالجات. كما multithreading على وحدات المعالجة المركزية (CPUs) متعددة يزيد parallelism .

الاختلافات الرئيسية بين Multiprocessing و Multithreading

  1. الاختلاف الرئيسي بين المعالجة المتعددة و multithreading هو أن المعالجة المتعددة تسمح للنظام بأن يحتوي على أكثر من وحدتين من وحدات المعالجة المركزية (CPUs) المضافة إلى النظام بينما يسمح multithreading عملية توليد سلاسل عمليات متعددة لزيادة سرعة الحوسبة للنظام.
  2. يقوم نظام المعالجة المتعددة بتنفيذ عمليات متعددة في نفس الوقت بينما يسمح نظام multithreading بتنفيذ عدة سلاسل عمليات في وقت واحد.
  3. يمكن أن يؤدي إنشاء عملية إلى استهلاك الوقت واستنفاد موارد النظام. ومع ذلك ، فإن إنشاء سلاسل الرسائل يكون اقتصاديًا حيث أن مؤشرات الترابط التابعة لنفس العملية تشترك في ممتلكات هذه العملية.
  4. يمكن تصنيف المعالجة المتعددة إلى معالجات متعددة متماثلة ومعالجة متعددة غير متماثلة ، بينما لا يتم تصنيف تعدّل multithreading أكثر.

استنتاج:

يمكن زيادة فوائد multithreading تدريجياً في بيئة multi-processing كما multithreading على نظام multi-processing يزيد parallelism.

Top