ماذا تعرف عن التفرعية والحوسبة ؟

بواسطة أحمد علاء 9/12/2012 3:33:00 AM

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

يوجد العديد من انماط الحوسبة التفرعية :
التفرع على مستوى البت bit , على مستوى التعليمات ,على مستوى المعطيات وعلى مستوى المهام .ان مفهوم التوازي في عملية المعاجلة تم توظيفه لسنين عديدة في مجال الحواسيب عالية الاداءHigh Performance Computers او اختصاراً HPC ولكن الاهتمام بالتفرع اخذ يتزايد في الحواسيب العادية الاداء وذلك بسبب كسر حواجز ترددات عمل المعالج وغيرها من العوامل .
فلقد امسى نموذج الحوسبة التفرعية النموذج المسيطر في معماريات الحواسيب بشكل معالجات متعددة النوى وذلك بالنسبة للحواسيب العادية وامسى نمط البرمجة التفرعي Concurrent Programming Methodology حاجة اساسية للتعلم.
يمكن تصنيف الحوسبة التفرعية استنادا الى المستوى الذي نتعامل معه على التفرع كما اننا نجد ان للحوسبة التفرعية اشكال عديدة فيمكن ان نجد تفرع مدعوم بشكل عتادي كالمعالجات متعددة النوى او عدة معالجات ضمن جهاز واحد او على مستوى المعالج الواحد فنحن نتكلم عن مفهوم ال Threads الذي يعطي الإيهام بان المعالج الواحد يعالج عدة امور بنفس الوقت كما نجد مفهوم الحوسبة على مستوى الاجهزة فنجد عدة حواسب تشكل ما يسمى بال Grid او الشبكة وما يتضمنه ذلك من تبادل للرسائل بين المعالجات .
او التفرع المدعوم برمجيا وما يقابله من ادارة النياسب.

صورة لمعالج يحوي نواتين : " يتم تعاون النواتين لعمليات المعالجة "

معالج يحوى نواتين

نلاحظ ان الذاكرة يمكن ان تكون مشتركة ما بين النواتين او غير مشتركة كما ان المسرى الناقل للمعلومات bus مشترك ما بين النواتين والعالم الخارجي للمعالج .

صورة لعدة معالجات كل معالج ضمن جهاز مستقل :

عدة معالجات كل معالج ضمن جهاز مستقل

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

قانون امبدال الشهير

المصدر