التفرعية والحوسبة : التفرع على مستوى المهام والمعطيات

بواسطة أحمد علاء 9/14/2012 8:03:00 PM

التفرع او التوازي على مستوى المهام :
يعرف ايضا بالتفرع على مستوى التوابع والتحكم , وهو شكل من اشكال التفرع للكود البرمجي بواسطة عدة معالجات في بيئة حوسبة تفرعية .
ان التوازي على مستوى المهام يركز على المهام process او النياسيب المنفذة والموزعة على الحواسيب او المعالجات المختلفة .

في نظام يحوي عدة معالجات فان توازي المهام يمكن تحقيقه عندما يقوم كل معالج بتنفيذ مهمة process, thread بناء على معطيات واحدة او مختلفة .
كما ان المهام المنفذة تتصل فيما بينها من اجل ضمان عدم تعارض المعطيات .

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

يركز التوازي على مستوى المهام طبيعة المعالج التفرعية على عكس التوازي على مستوى المعطيات .

التفرع او التوازي على مستوى المهام

التوازي على مستوى المعطيات :
ان التوازي على مستوى المعطيات يعرف ايضا بالتوازي على مستوى الحلقات هو شكل من اشكال التفرع في المعالجة في بيئة تحوي عدة معالجات .
يركز التوازي على مستوى المعطيات على المعطيات الموزعة ما بين عقد المعالجة في البيئة التفرعية .
في نظام يحوي عدة معالجات ينفذ مجموعة واحدة من التعليمات SIMD ,فان التوازي على مستوى المعطيات يمكن تحقيقه عندما يقوم كل معالج بالقيام بنفس المهمة على عدة كتل من المعطيات الوزعة .
في بعض الحالات فان مهمة او نيسب واحد يتحكم بجميع مسار والعمليات المتعلقة بالمعطيات .

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

وكمثال آخر:
اعتبر انك تريد جمع مصفوفتين في تطبيق التوازي على مستوى المعطيات المعالج أ يمكن ان يجمع العناصر المتقابلة من المصفوفتين من الاعلى الى النصف بينما يقوم المعالج ب بالقيام بعملية الجمع من النصف الى اخر المصفوفة بين المصفوفتين بشكل متقابل .
يؤكد التوازي على مستوى المعطيات على الطبيعة الموزعة للمعطيات كعملية معاكسة للتفرع على مستوى المهام .

التوازي على مستوى المعطيات

اغلب البرامج في العالم الحقيقي تكمن ما بين التوازي على مستوى المهام وما بين التوازي على مستوى المعطيات .

المصدر

مصدر الصور