مرجع
آخر الزيارات

توازي المهام

340 كلمة•0 مشاهدة•🗒️ منذ 6 أيام
باختصار: التوازي على مستوى المهام تقنية ومفهوم مستعمل في مجال الحوسبة المتوازية. في هذه المقالة 6 أقسام: «نهاية البرنامج»، «وصف» و«نهاية إذا» وغيرها.
المحتويات
  1. نهاية البرنامج
  2. وصف
  3. نهاية إذا
  4. نهاية البرنامج
  5. مثال
  6. نهاية البرنامج
توازي المهام

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

نهاية البرنامج

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

من جانب آخر، الآن، كل معالج ينفذ كتلة من البرنامج خاصة به بصورة منفصلة وفي الوقت نفسه، وأداء لمهام مختلفة في وقت واحد.

إضافةً إلى ذلك، الهدف من هذا البرنامج هو القيام بمجموع المهام («م1 + م2»). إذا كتبنا البرنامج على النحو الوارد أعلاه وإطلاقه على نظام بمعالجين، فإن تنفيذه في بيئة التشغيل سيكون على النحو التالي.

وفي السياق ذاته، جملة «إذا» تفرق بين معالجين. بالنسبة للمعالج «أ» الشرط الأول صحيح، أما بالنسبة للمعالج «ب» فإن القراءة صحيحة لجملة «إلا إذا». وبهذا فلكل معالج مهمته الخاصة.

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

  • التعليمات البرمجية التي ينفذها المعالج «أ»:
  • برنامج:
  • ...
  • نفذ المهمة «م1»
  • ...

وصف

من جانب آخر، كمثال بسيط، إذا كنا ننفذ التعليمات البرمجية على نظام بمعالجين (وحدات معالجة مركزية «أ» و «ب») في بيئة متوازية ونرغب بالقيام بمهام «م1» و «م2». ممن الممكن ان نقول للوحدة «أ» للقيام بمهمة «م1» وللوحدة «ب» بالقيام بالمهمة «م2» في نفس الوقت. مما يقلل من وقت التنفيذ. ويمكن اسناد المهام باستخدام عبارات شرط على النحو المبين أدناه.

ومن ناحية أخرى، توازي المهام تؤكد على طبيعة التوزيع (بشكل متواز) للمعالجة (أي الخيوط)، بدلا من البيانات (التوازي البيانات). تنحصر أغلب البرامج المتوازية بين توازي المهام وتوازي البيانات.

نهاية إذا

...

نهاية البرنامج

هذا المفهوم يمكن تعميمه على أي عدد كان من المعالجات.

مثال

  • الكود التالي تجسيد لتوازي المهام:
  • برنامج:
  • ...
  • إذا كان معالج=«أ»
  • نفذ مهمة «م1»
  • وإلا إذا كان معالج=«ب»
  • نفذ مهمة «م2»

نهاية البرنامج

  • التعليمات البرمجية التي ينفذها المعالج «ب»:
  • برنامج:
  • ...
  • نفذ المهمة «م2»
  • ...

ما رأيك في هذه المقالة؟

📝 هل في هذه المقالة خطأ؟

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