Home برمجة دوت نت مفهوم البرمجة المتوازية
مفهوم البرمجة المتوازية

مفهوم البرمجة المتوازية

191
0
المقالة

البرمجة المتزامنة

هي عملية كتابة وتنفيذ للكود بشكل متزامن بمعني ان يتم تنفيذ الكود step by step خطوة بخطوة، وهي الطريقة التقليدية في تنفيذ الاوامر واعطائها لل Processor احادي النواه كي يتم معالجتها، ويتم تنفيذ هذه التعليمات والاوامر بطريقة متزامنة\بتسلسل بمعني ان المعالج ينفذ المهمة الاولي ثم الثانيه ثم الثالثه وهكذا…. ، في هذه الصورة توضح كيف يتعامل المعالج احادي النواه مع التعليمات

concurrent programming

يقوم بتنفيذها واحدة تلو الاخري.
مثال علي كود يتم تنفيذه بشكل متزامن:

 

ناتج هذا الكود

 

في هذا البرنامج البسيط

يتم طباعة كلمة “Application Started” علي الشاشة،  وبعدها يتوقف لمدة ثانيتين، وبعدها يتم عمل حلقة تكرارية متزامنة تقوم بطباعة الارقام من 1 الي 9 بشكل متزامن اي 1 ثم 2 ثم 3 ثم 4 وهكذا,وبعدها يتوقف ثانيتين، وبعدها يتم طباعة كلمة “Application Finished” ،

هذا مايسمي بمفهوم البرمجة المتزامنة اي تنفيذ البرنامج خطوة خطوة، لايمكن لامر ان يسبق الاخر.

مميزات البرمجة المتزامنة

للبرمجة المتزامنة مميزات منها سهوله كتابة الكود وسهوله عمل debugging له واختباره ، وسهوله اقتناص الاخطاء وهي الطريقة التقليدية لكتابة الكود.

البرمجة المتوازية

البرمجة المتوازية ظهرت بعد ظهور المعالجات المتعددة النواه (Multi-Core Processors) ليتم استخدام موارد المعالج بالكامل للحصول علي اعلي اداء لحل المشكلة (Problem Solving) .

يتم تنفيذ الاوامر علي طريقة البرمجة المتوازية كالموضح في الصورة

Parallel Processing

من الموضح في الصورة انه يتم تنفيذ التعليمات/الاوامر بصورة متوازية بمعني ان الوقت الذي تنفذ فيه المهمة الاولي هو الوقت التي تنفذ فيه المهمة الثانية والثالثه والرابعة الخ… .
ولا شك ان هذه الطريقة تعطي اداء اعلي من طريقة البرمجة المتزامنة/التقليدية.
مثال علي كود C# ينفذ تعليمات بشكل متوازي :

 

في هذا البرنامج البسيط
يتم طباعة كلمة “Application Started” علي الشاشة،  وبعدها يتوقف لمدة ثانيتين، وبعدها يتم عمل حلقة تكرارية متوازية متوازية من 1 الي 12، بمعني ان الوقت الذي تنفذ فيه الحلقة الاولي نفس الوقت الذي تنفذ فيه الثانية والثالثه والرابعة والخامسة الخ.وبعدها يتوقف ثانيتين، وبعدها يتم طباعة كلمة “Application Finished” ،
هذا مايسمي بمفهوم البرمجة المتوازية؛ اي يتم تنفيذ مجموعة من التعليمات بشكل متوازي وفي نفس ذات الوقت، ولا يتم انتظار الاولي حتي تنتهي ليتم تنفيذ الثانيه ، بل بالعكس كل الحلقات تعمل في ان واحد.

مميزات البرمجة المتوازية

من مميزاتها اعطاء اداء عالي من خلال استخدام كل الموارد المتوفرة. حل مشاكل كبيرة ومعقدة.  اغلب محركات البحث وانظمة قواعد البيانات وانظمة التعامل مع المعلومات الضخمة تقلل من استخدام الطرق التقليدية/المتزامنة لمعالجة البيانات وحل المشكلات، بل تستخدم طرق اخري مثل البرمجة المتوازية وتستخدم مثل طرق تعدد المهام Multi-Tasking و Asynchronous Programming.
وفي مواضيع اخري سأكتب عن تلك الطرق ان شاءالله .

(191)

Ahmed Elsayed Software/Web Developer. interested in reading.

LEAVE YOUR COMMENT

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

مشاركة