عد النجوم أمر شبه مستحيل… لكن للحواسيب الخارقة والحوسبة التفرعية رأي آخر!!

معلومات عامة  -  بواسطة:   اخر تحديث:  2020/10/24
عد النجوم أمر شبه مستحيل… لكن للحواسيب الخارقة والحوسبة التفرعية رأي آخر!!

هل تساءَلت يومًا كيف يتمُّ التنبؤ بحالة الطقس لأيام عديدة قادمة، أو كيف يتمُّ تحليل البيانات الهائلة القادمة من محطات الفضاء؟ كلّ هذه الأمور التي تحتاج إلى معالجة بيانات ضخمة ومعقدة يتمُّ باستخدام الحوسبة التفرعية (parallel programming)، والكمبيوترات الخارقة (super computer).


في ربيع عام 2015 قامت ناسا بنشر صورة من تلسكوب هابل الفضائي على موقعها، وهي أكبر وأدق صورة على الإطلاق لمجرة المرأة المسلسلة (Andromeda).


هذه الصورة هي الأكبر على الإطلاق لهذا التلسكوب، وتبلغ دقتها 1.5 مليون بكسل، ولتتخيل حجم هذه الصورة تحتاج الى 600 شاشة بتقنية HD لتعرض كامل الصورة بحجم 1.7 GB.


عد النجوم أمر شبه مستحيل… لكن للحواسيب الخارقة والحوسبة التفرعية رأي آخر!!
حقوق الصورة: NASA, ESA, J. Dalcanton, B.F. Williams, and L.C. Johnson (University of Washington), the PHAT team, and R. Gendler

لمن يساوره الفضول يمكنكم مشاهدة الصورة بدقة عالية وبالحجم الكامل هنا!!


ولكن ما علاقة هذه الصورة العملاقة بموضوعنا الرئيسي؟ في الحقيقة لتستطيع عد النجوم والكواكب بشكلٍ دقيق قدر الإمكان تحتاج إلى حجم ذاكرة كبير ومعالج قوي جدًا، وقد يصعب تحقيق ذلك بالإمكانات المتوسطة، حيثُ أنَّ هذه الحواسيب لا تتوافر إلَّا في مراكز الأبحاث الضخمة والشركات العالمية مثل: ناسا وFacebook وgoogle.


حسنًا، لندخل في صلب الموضوع ولنرى ما الذي يحدث هنا؟


أولًا لعد النجوم في الصورة يجب استخدام تقنيات معالجة الصورة، والتي تتمثل بشكلٍ رئيسي في مكتبات OpenCV التي يمكن تطبيقها بعدّة لغات برمجة مثل: بايثون أو C++، ولكن لو قمنا بتطبيق خوارزمية لمعالجة الصورة السابقة على معالج وحيد وبشكلٍ تسلسلي سيحدث ما لا يحمد عقباه، حيثُ سترتفع حرارة المعالج جدًا، وسيحدث OVERFLOW بسبب الحجم الهائل للصورة وقدرة المعالج المتواضعة.


إذًا ما الحل؟


هنا ستتدخل الحوسبة التفرعية لتنقذ الموقف، سنقوم بتقسيم برنامج معالجة الصورة إلى عدّة أقسام، وسنوزعها على المعالجات التي تكون بشكلٍ افتراضي، حيثُ ينقسم المعالج الرئيسي إلى هذه المعالجات الافتراضية ويوزع العمل عليها بالتساوي، ثم يجمع المعلومات الناتجة منها ثم يظهرها، ولكن يمكن أن نطبق النظرية بشكلٍ واقعي. أي أن نجعل المعالجات هي عقد فيزيائية حقيقة (معالجات – حواسيب – راسبيري)، وبالطبع لدينا العقدة الرئيسية MASTER التي تشرف على عمل العقد جميعها.


يمكن أن نلخص العمل السابق في خطوات بسيطة، ولن ندخل في تفاصيل العمليات بشكلٍ عميق:


  • أولًا قراءة الصورة التي قمنا بتجهيزها مسبقًا

  • تقسيم هذه الصورة إلى أقسام

  • توزيع هذه الأقسام على العقد NODES

  • تطبيق الخوارزمية في كلّ عقدة، وحساب عدد النجوم في كلّ قسم من الصورة على حدة

  • جمع نواتج العمليات من العقد في العقدة المركزية MASTER

  • إظهار النتائج

ولكن قد يتبادر إلى أذهاننا! ماهي هذه الخوارزمية التي تقوم بعد النجوم في الصورة؟


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


يبقى لدينا في النهاية السؤال: ما الفائدة من كلِّ ما سبق؟


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


عد النجوم أمر شبه مستحيل… لكن للحواسيب الخارقة والحوسبة التفرعية رأي آخر!!


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