ما هي المعالجة المتوازية Parallel Processing ؟ وما تأثيرها على سرعة معالجة البيانات ؟



ما هي المعالجة المتوازية Parallel Processing ؟ وما تأثيرها على سرعة معالجة البيانات ؟
يوما بعد يوم تزداد المهام والعمليات التي يتوجب علينا القيام بها في آن واحد، مع الحاجة لسرعة تنفيذ هذه المهام والأداء العالي للأجهزة الإلكترونية المستعملة، وهذا لا يمكن تحقيقه إلى مع تطوير العنصر الماسي موازاة مع التطور البرمجي. ولهذا سنتحدث اليوم على مدونة المحترف عن ما يسمى بعملية "المعالجة المتوازية" أو "Parallel Processing" والتي من شأنها أن تساهم بشكل أساسي في رفع سرعة كافة الأجهزة المحمولة والحواسيب. وبدورها أيضا أن تقوم بالعديد من العمليات في لحظة واحدة دون الإحساس بالبطء في تشغيل إحدى البرامج. فما هي المعالجة المتوازية ؟

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

المعالجات متعددة النواة هي شرائح IC تحتوي على معالجات اثنين أو أكثر من أجل أداء أفضل وتقليل استهلاك الطاقة ومعالجة أكثر فعالية لمهام متعددة. تشبه هذه الإعدادات متعددة النواة وجود العديد من المعالجات المنفصلة المثبتة في نفس الكمبيوتر. قد تحتوي معظم أجهزة الكمبيوتر في أي مكان من اثنين إلى أربعة نوى ؛ وفي بعض الحواسيب زيادة تصل إلى 12 نوى.


يمكن لبيئة المعالجة المتوازية معالجة المهام بشكل أسرع عندما يتم تصميم البرامج لاستخدام المعالجة المتوازية. تصطف البرامج التسلسلية جميع التعليمات في الترتيب التسلسلي والواجهة مع المعالج باستخدام مؤشر ترابط واحد. تعمل البرامج الموازية عن طريق تقسيم المهام إلى أجزاء فردية يمكن تقسيمها بين عدة مراكز للمعالج وإعادة تجميعها كمهام مكتملة. يمكن أن تتضاعف المعالجات المتوازية قوة معالجة المعالجات التسلسلية المتشابهة التوقيت مع رمز مكتوب بشكل صحيح. ومع ذلك ، يمكن أن يتفوق المعالج التسلسلي ذو سرعة الساعة الأعلى على المعالجات المتوازية عند التعامل مع مؤشر ترابط واحد.


في الأجيال السابقة كانت المهمات تقسم على عدة معالجات ليتم تنفيذ العمل بسرعةٍ أعلى، ثم كانت المعالجات تعمل بنظام السيد – العبد حيث يكون أحد المعالجات مسؤولًا عن تنظيم العمل والثاني يقوم بتنفيذ العمل كما يطلب منه المعالج الأول، وكان ذلك بالغ الأهمية في عملية إدارة الموارد، وقد تم حل كل هذه المشكلات لاحقًا وأصبح كل معالج قادرًا على إدارة موارده وتنظيم عمله بنفسه.


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

واستمر تطوير المعالجات المتوازية وتحسينها بنسبة 10 _ 20% عن طريق تنفيذ بعض العمليات خارج النظام مما سبب تعقيدًا برمجيًا إضافيًا على بعض المبرمجين لتجنب استخدام برنامجين لنفس المعاملات في وقتٍ واحدٍ وهي المشكلة التي لم يتم حلها بعد.  

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

الكاتب: أسامة كجوط


شكرا لك ولمرورك