Parallelizing SIR Epidemic Spread Simulation Using Pthreads, OpenMP, and MPI
تقيم هذه الورقة أداء كل من Pthreads وOpenMP وMPI في موازاة محاكاة وبائية لنموذج SIR مكثفة حوسبياً على شبكة ثنائية الأبعاد، حيث تُظهر أن MPI يحقق تسارعاً فائقاً وتوسعاً شبه خطي للشبكات الكبيرة مقارنة بالتوسع المتوسط والمحدود الملحوظ في OpenMP وPthreads بسبب أعباء التزامن وتنازع الذاكرة.
البحث الأصلي مرخَّص بموجب CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). هذا شرح مولَّده بالذكاء الاصطناعي للبحث أدناه. لم يكتبه المؤلفون ولم يصادقوا عليه. وللتحقق من الدقة التقنية، يرجى الرجوع إلى البحث الأصلي. اقرأ إخلاء المسؤولية الكامل
تخيل مدينة شاسعة غير مرئية يعيش فيها ملايين المواطنين الصغار في شبكة، حيث يشغل كل منهم مربعاً واحداً. في هذه المدينة، ينتشر المرض ليس عبر الهواء أو الماء، بل من خلال ملامسة الجار. إذا لمس شخص سليم شخصاً مريضاً، فقد يصاب بالمرض. وإذا كان الشخص مريضاً، فقد يتعافى في النهاية ويصبح محصناً. يستخدم العلماء النماذج الحاسوبية لمحاكاة هذا النوع من الانتشار، مما يساعد مسؤولي الصحة العامة على فهم كيفية تحرك المرض عبر مجموعات سكانية حقيقية. التحدي يكمن في أن هذه المحاكاة تتطلب عملاً شاقاً للغاية؛ فمن أجل الحصول على صورة واضحة لتفشٍ على مستوى وطني، يجب على الحاسوب تحديث حالة كل فرد في الشبكة، يوماً بعد يوم، لمئات الأيام. القيام بذلك خطوة بخطوة على حاسوب عادي قد يستغرق وقتاً طويلاً جداً ليكون مفيداً في حالات الطوارئ.
هنا يأتي دور عمل الباحثة آمنة عتيق. لقد تصدت لمشكلة كيفية جعل هذه المحاكاة تعمل بشكل أسرع باستخدام قوة الحوسبة المتوازية. فبدلاً من مطالبة معالج واحد بالقيام بكل العمل الشاق، استكشفت طرقاً لتقسيم العمل بين العديد من المعالجات في وقت واحد، تماماً مثل فريق كبير من العمال الذين يقسمون جدارية ضخمة إلى أقسام لكي يقوم كل فرد منهم بطلاء جزئه في آن واحد. ركزت دراستها على نوع محدد من النماذج يُعرف بنموذج (SIR)، والذي يتتبع ثلاث مجموعات: أولئ أولئك المعرضون للإصابة بالمرض، والمصابون، والمتعافون. كان الهدف هو معرفة أي طريقة لتقسيم العمل هي الأكثر كفاءة للتعامل معها من قبل الحاسوب.
اختبرت عتيق ثلاثة نهج مختلفة لتنظيم فريق العمال هذا. الطريقة الأولى، المعروفة باسم (Pthreads)، تقسم الشبكة إلى شرائط أفقية، وتخصص كل شريط لخيط تنفيذ مختلف داخل حاسوب واحد. أما الطريقة الثانية، المسماة (OpenMP)، فتستخدم مجموعة أبسط من التعليمات لتقسيم صفوف الشبكة تلقائياً بين المعالجات المتاحة. والنهج الثالث، وهو (MPI)، مصمم للأنظمة الموزعة حيث تتواصل عدة حواسيب أو معالجات فيما بينها عن طريق إرسال الرسائل، حيث يتبادلون حواف أقسام الشبكة المخصصة لهم لضمان انتشار العدوى بشكل صحيح عبر الخريطة بأكملها.
كشفت نتائج المحاكاة عن فروق واضحة في مدى أداء كل طريقة. فعندما قام الباحثون بتشغيل المحاكاة على شبكة تمثل ألف في ألف شخص على مدار مائة خطوة زمنية، استغرقت الطريقة القياسية أحادية الخيط حوالي 1.58 ثانية لاكتمال المهمة. وباستخدام طريقة (Pthreads) على جهاز رباعي النواة، انخفض الوقت، لكن سرعة التسريع كانت محدودة؛ إذ قضى العمال وقتاً طيقلاً في انتظار بعضهم البعض لإنهاء أقسامهم قبل أن يتمكنوا من تبادل عملهم، كما تداخلوا أحياناً في مساحة الذاكرة الخاصة بهم، مما أدى إلى إبطاء العمل. أما طريقة (OpenMP) فقد أدت أداءً أفضل قليلاً، حيث أنهت المهمة في أقل من 0.7 ثانية، لكنها أيضاً اصطدمت بحائط عندما تمت إضافة المزيد من المعالجات، ويرجع ذلك أساساً إلى الوقت المستغرق في التزامن بين العمال في نهاية كل يوم.
كان النهج الأكثر نجاحاً هو طريقة (MPI). فمن خلال التعامل مع الشبكة كمجموعة من القطع المنفصلة التي تتواصل فقط عند حدودها، حققت هذه الطة توسعاً ملحوظاً. فعندما زاد الباحثون عدد المعالجات إلى ثمانية، عملت المحاكاة أسرع بست مرات من النسخة الأصلية أحادية الخيط. حدث هذا لأن الوقت المستغرق في إرسال الرسائل بين المعالجات كان صغيراً جداً مقارنة بالوقت المستغرق في حساب الحالة الصحية للأشخاص داخل كل قسم. وبينما عانت الطرق الأخرى من الأعباء الإضافية الناتجة عن تنسيق العديد من العمال على جهاز واحد، حافظ نهج تمرير الرسائل على تركيز العمال في مهامهم الخاصة، ولا يتوقفون إلا لفترات وجيزة لمشاركة المعلومات الضرورية حول حواف أراضيهم.
كما سلطت الدراسة الضوء على المقايضات المترتبة على اختيار طريقة ما. فنهج تمرير الرسائل تطلب الكود الأكثر تعقيداً والتخطيط الدقيق لضمان إرسال واستقبال قطع الشبكة بشكل صحيح دون أن تتعثر. أما طريقة التقسيم التلقائي فكانت الأسهل في الكتابة ولكنها قدمت أقل تحسن في السرعة. ووقعت طريقة الخيوط (Threads) في المنتصف، لكنها عانت من مشكلات تقنية تتعلق بكيفية تنظيم ذاكرة الحاسوب. وفي نهاية المطاف، أظهر البحث أنه بالنسبة لمحاكاة الأوبئة واسعة النطاق، فإن تقسيم العمل عبر معالجات متعددة باستخدام تمرير الرسائل يوفر أكبر ميزة في السرعة، مما يسمح للعلماء بتشغيل نماذج معقدة في جزء بسيط من الوقت الذي تتطلبه الطرق القديمة. وتعد هذه الكفاءة أمراً بالغ الأهمية للاستعداد لتفشيات المستقبل، حيث يمكن أن يترجم كل ثانية من وقت المحاكاة إلى استراتيجيات أفضل للتحضير والاستجابة.
غارق في أبحاث مجالك؟
تصلك نشرة يومية بأحدث الأبحاث المطابقة لكلماتك البحثية المفتاحية — مع ملخصات تقنية، بلغتك.