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

من ويكي الهندسة المعلوماتية
اذهب إلى: تصفح، ابحث

البرمجة التفرعية :

أهمية البرمجة التفرعية :

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


المسائل التي لم تستطع البرمجة التسلسلية التقليدية حلها و استخدمت البرمجة التفرعية لحلها:

- النمذجة الرياضية - نمذجة البنى الضخمة لل DNA - التنبؤ الجوي - دراسة حركة الأجرام السماوية - بحوث العمليات - مسائل فك الشيفرات

الغاية من البرمجة التفرعية

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

أنواع الحواسيب التفرعية

  • النوع الأول: Shared Memory Multiprocessors
  • النوع الثاني: Message-passing Multicomputers
  • عناقيد الحواسيب المتناظرة: SMP Clusters
  • الحواسيب ذات الذاكرة المشتركة: Distributed Shared Memory

تصنيفات فلين

single instruction single data - multiple instruction single data - multiple instruction multiple data

الأدوات البرمجبة لعناقيد الحاسوب

Parallel Virtual Machine (PVM): التي جرى تطويرها في نهاية الثمانينات من القرن الماضي وأصبحت بعد ذلك مشهورة جداً.

Message Passing Interface (MPI) وهو معيار لتبادل الرسائل جرى تعريفه في التسعينيات من القرن الماضي.

توفر كلا الأداتين مكتبات على مستوى المستخدم لتبادل الرسائل ويمكن استخدامهما مع لغات البرمجة C, C++ وغيرها.

محاضرات 2013-2014

PPL1