1. المقدمة
يمثل اتحاد PUNCH4NFDI (الجسيمات، الكون، النوى والهادرونات للبنية التحتية الوطنية لبيانات البحث)، الممول من مؤسسة الأبحاث الألمانية (DFG)، ما يقارب 9000 عالم من مجالات فيزياء الجسيمات، الفلك، فيزياء الجسيمات الفلكية، الهادرونات، والفيزياء النووية. وهو جزء من مبادرة NFDI الأوسع، وهدفه الأساسي إنشاء منصة موحدة لبيانات العلوم وفق مبادئ FAIR (القابلية للاكتشاف، الوصول، التشغيل البيني، إعادة الاستخدام). تهدف هذه المنصة إلى توفير وصول سلس إلى موارد الحوسبة والتخزين المتنوعة للمؤسسات المشاركة، لمعالجة التحديات المشتركة الناجمة عن أحجام البيانات المتزايدة بشكل كبير والخوارزميات التحليلية كثيفة الاستخدام الحسابي. يركز هذا المستند على المفاهيم المعمارية – Compute4PUNCH و Storage4PUNCH – المصممة لتوحيد البنية التحتية البحثية غير المتجانسة في ألمانيا.
2. بنية الحوسبة الموزعة غير المتجانسة – Compute4PUNCH
يتصدى Compute4PUNCH لتحدي الاستفادة الفعالة من مجموعة واسعة من الموارد المساهمة العينية، بما في ذلك أنظمة الحوسبة عالية الإنتاجية (HTC)، والحوسبة الفائقة الأداء (HPC)، والحوسبة السحابية، الموزعة عبر ألمانيا. تختلف هذه الموارد في بنيتها، أنظمة التشغيل، حزم البرمجيات، وسياسات الوصول. المبدأ التصميمي الأساسي هو إنشاء نظام تراكبي موحد بأقل قدر من التدخل في مقدمي الموارد التشغيلية الحاليين.
2.1. البنية الأساسية والتكامل
يتم بناء الاتحاد حول نظام HTCondor كنظام الدُفعات المركزي التراكبي. يتم دمج الموارد غير المتجانسة ديناميكيًا باستخدام الجدولة الفوقية للموارد COBalD/TARDIS. يعمل COBalD/TARDIS كوسيط ذكي، حيث يوجه الوظائف (Jobs) إلى الخلفيات المناسبة (مثل مجموعات Slurm، Kubernetes) بناءً على توفر الموارد، متطلبات الوظيفة، والسياسات. وهذا يُنشئ تجمعًا منطقيًا واحدًا للموارد من أنظمة فيزيائية متباينة.
2.2. وصول المستخدم وبيئة البرمجيات
يتم توفير نقاط دخول المستخدم من خلال عُقد الدخول التقليدية وخدمة JupyterHub. يقوم نظام مصادقة وتفويض قائم على الرموز (AAI) بتوحيد الوصول. تتم إدارة تعقيد بيئة البرمجيات عبر تقنيات الحاويات (مثل Docker، Singularity/Apptainer) ونظام CERN Virtual Machine File System (CVMFS)، الذي يوزع حزم البرمجيات القابلة للتوسع للقراءة فقط على عُقد الحوسبة عالميًا.
3. بنية التخزين الموزعة – Storage4PUNCH
يهدف Storage4PUNCH إلى توحيد أنظمة التخزين المقدمة من المجتمع، المعتمدة أساسًا على تقنيتي dCache و XRootD، الراسختين في فيزياء الطاقة العالية (HEP). يستخدم الاتحاد مساحات أسماء وبروتوكولات مشتركة (مثل xrootd، WebDAV) لتقديم طبقة موحدة للوصول إلى البيانات. كما يقيم المفهوم دمج حلول التخزين المؤقت وخدمات معالجة البيانات الوصفية لتحسين مكانية البيانات وإمكانية اكتشافها عبر الاتحاد.
4. التنفيذ التقني والمكونات
4.1. المصادقة والتفويض (AAI)
يوفر نظام AAI قائم على الرموز (يحتمل استخدام معايير OAuth 2.0/OpenID Connect، مشابه لـ WLCG IAM أو INDIGO IAM) تجربة تسجيل دخول موحدة. يقوم بتعيين هويات المجتمع إلى أذونات الموارد المحلية، مجردًا أنظمة المصادقة المحلية غير المتجانسة (مثل Kerberos، مفاتيح SSH).
4.2. الجدولة الفوقية للموارد: COBalD/TARDIS
يعمل COBalD (المنسق) و TARDIS (نظام التكامل الديناميكي للموارد التكيفي الشفاف) بالتزامن. يتخذ COBalD قرارات جدولة عالية المستوى، بينما يدير TARDIS دورة حياة "الطيارات" أو "وظائف العنصر النائب" على الموارد المستهدفة. يسمح هذا الفصل بفرض سياسات مرنة (مثل التكلفة، الإنصاف، الأولوية) والتكيف الديناميكي مع حالات الموارد المتقلبة. يمكن نمذجة الجدولة كمشكلة تحسين، لتقليل دالة التكلفة $C_{total} = \sum_{i}(w_i \cdot T_i) + \lambda \cdot R$، حيث $T_i$ هو زمن الإنجاز للوظيفة $i$، $w_i$ هو وزن أولويتها، $R$ يمثل تكلفة استخدام المورد، و $\lambda$ هي معلمة موازنة.
4.3. طبقة البيانات والبرمجيات
يعد CVMFS حاسمًا لتوزيع البرمجيات. يستخدم نموذج تخزين يعتمد على العناوين المحتوية ويتوسع في التخزين المؤقت (مع خوادم Stratum 0/1 وذاكرة Squid المؤقتة المحلية) لتوزيع مستودعات البرمجيات بكفاءة. من المرجح أن يستخدم الاتحاد تسلسلاً هرميًا لطبقات CVMFS، مع طبقة مركزية stratum 0 لمستودع PUNCH ومرايا stratum 1 مؤسسية. يتبع الوصول إلى البيانات نموذجًا موحدًا مشابهًا، حيث تنشر عناصر التخزين (SEs) نقاط نهايتها إلى دليل عالمي (مثل Rucio أو خدمة REST بسيطة)، مما يسمح للعملاء بحل مواقع البيانات بشكل شفاف.
5. حالة النموذج الأولي والتجارب الأولية
يشير المستند إلى أن النماذج الأولية لكل من Compute4PUNCH و Storage4PUNCH تعمل. تم تنفيذ تطبيقات علمية أولية، مما وفر ملاحظات قيمة حول الأداء، سهولة الاستخدام، ونقاط الصعوبة في التكامل. بينما لم يتم تقديم أرقام معيارية محددة في المقتطف، فإن التنفيذ الناجح يعني أن الوظائف الأساسية لنظام الدُفعات التراكبي، تكامل AAI، وتسليم البرمجيات عبر CVMFS قد تم التحقق منها. توجه هذه التجارب التحسينات في تكوين السياسات، معالجة الأخطاء، وتوثيق المستخدم.
6. الرؤى الأساسية والتحليل الاستراتيجي
الرؤية الأساسية: لا يبني PUNCH4NFDI حاسوبًا فائقًا جديدًا؛ بل يصمم "نسيج اتحاد" يربط بشكل عملي الموارد الحالية المجزأة معًا. يمثل هذا تحولًا استراتيجيًا من البنية التحتية الأحادية إلى تجميع الموارد المرن والمعرّف بالبرمجيات، مما يعكس اتجاهات السحابة التجارية ولكنه مصمم خصيصًا لقيود وثقافة الأوساط الأكاديمية الممولة من القطاع العام.
التدفق المنطقي: تتبع البنية منطقًا واضحًا قائمًا على التبعيات: 1) توحيد الهوية (AAI) لحل مشكلة "من"، 2) تجريد الموارد (COBalD/TARDIS + HTCondor) لحل مشكلة "أين"، و 3) فصل البيئة (الحاويات + CVMFS) لحل مشكلة "بماذا". هذا التجريد الطبقي هو هندسة أنظمة نموذجية، تذكر بنجاح شبكة الحوسبة العالمية لمصادم الهادرونات الكبير (WLCG)، ولكن مطبق على مجموعة موارد أكثر تنوعًا.
نقاط القوة والضعف: القوة الرئيسية هي نموذج اعتماد غير مُعطِّل. باستخدام التقنيات التراكبية واحترام استقلالية المواقع، يخفض حاجز الدخول لمقدمي الموارد – وهو عامل نجاح حاسم للاتحادات. ومع ذلك، هذا أيضًا هو نقطة ضعفه. يمكن أن يكون الحمل الزائد لأداء الجدولة الفوقية والتعقيد الجوهري لتصحيح الأخطاء عبر الأنظمة غير المتجانسة والمدارة بشكل مستقل كبيرًا. قد يحد تفويض "التدخل الأدنى" من القدرة على تنفيذ ميزات متقدمة مثل الاقتران العميق بين التخزين والحوسبة أو توفير الشبكة الديناميكي، مما قد يحد من مكاسب الكفاءة. مقارنة بنظام مركزي مخصص مثل Borg من Google أو مجموعة Kubernetes، سيكون للاتحاد دائمًا زمن انتقال أعلى وتنبؤية أقل في الاستخدام.
رؤى قابلة للتنفيذ: للاتحادات الأخرى التي تفكر في هذا المسار: 1) استثمر بكثافة في المراقبة والملاحظة من اليوم الأول. أدوات مثل Grafana/Prometheus للبنية التحتية و APM (مراقبة أداء التطبيقات) لوظائف المستخدم ليست قابلة للتفاوض لإدارة التعقيد. 2) توحيد مجموعة ضيقة من صور الحاويات الأساسية لتقليل عبء صيانة CVMFS. 3) تطوير نموذج دعم واضح ومتدرج يميز مشاكل مستوى الاتحاد عن مشاكل الموقع المحلي. لن يكون الاختبار الحقيقي هو الجدوى التقنية – فقد أثبت مجتمع HEP ذلك – بل الاستدامة التشغيلية ورضا المستخدم على نطاق واسع.
7. الغوص التقني العميق
النموذج الرياضي لجدولة الموارد: يمكن تصور نظام COBalD/TARDIS على أنه يحل مشكلة تحسين مقيدة. لنفترض أن $J$ هي مجموعة الوظائف، $R$ هي مجموعة الموارد، و $S$ هي مجموعة حالات الموارد (مثل خامل، مشغول، مُستنزف). يهدف المجدول إلى تعظيم دالة منفعة $U$ تأخذ في الاعتبار أولوية الوظيفة $p_j$، كفاءة المورد $e_{j,r}$، والتكلفة $c_r$: $$\max \sum_{j \in J} \sum_{r \in R} x_{j,r} \cdot U(p_j, e_{j,r}, c_r)$$ بموجب القيود: $$\sum_{j} x_{j,r} \leq C_r \quad \forall r \in R \quad \text{(سعة المورد)}$$ $$\sum_{r} x_{j,r} \leq 1 \quad \forall j \in J \quad \text{(تعيين الوظيفة)}$$ $$x_{j,r} \in \{0,1\} \quad \text{(متغير قرار ثنائي)}$$ حيث $x_{j,r}=1$ إذا تم تعيين الوظيفة $j$ إلى المورد $r$. يدير TARDIS جدوى التعيينات ديناميكيًا بناءً على الحالة الفعلية $S$.
النتائج التجريبية ووصف المخططات: بينما لا يحتوي مقتطف PDF المقدم على رسوم بيانية أداء محددة، فإن التقييم النموذجي سيشمل مخططات تقارن:
1. إنتاجية الوظائف عبر الزمن: مخطط خطي يوضح عدد الوظائف المكتملة في الساعة عبر تجمع الاتحاد مقابل مجموعات الموارد الفردية، موضحًا فائدة التجميع.
2. خريطة حرارة استخدام الموارد: تصور شبكي يوضح نسبة استخدام وحدات المعالجة المركزية/المعالجات الرسومية عبر مختلف مقدمي الموارد (KIT، DESY، Bielefeld، إلخ.) على مدار أسبوع، يسلط الضوء على فعالية موازنة الحمل.
3. دالة التوزيع التراكمي لزمن بدء الوظيفة: مخطط دالة التوزيع التراكمي يقارن الوقت من تقديم الوظيفة إلى بدء التنفيذ في النظام الموحد مقابل التقديم المباشر لنظام دُفعات محلي، كاشفًا عن الحمل الزائد للجدولة الفوقية.
4. أداء الوصول إلى البيانات: مخطط شريطي يقارن سرعات القراءة/الكتابة للبيانات التي يتم الوصول إليها محليًا، ومن عنصر تخزين موحد داخل نفس المنطقة، ومن عنصر موحد بعيد، موضحًا تأثير التخزين المؤقت والشبكة.
8. إطار التحليل والنموذج المفاهيمي
دراسة حالة: التحليل الموحد لبيانات المسح الفلكي
السيناريو: تحتاج مجموعة بحثية في مرصد توتنبرغ الحكومي في تورينغن إلى معالجة 1 بيتابايت من بيانات التصوير من مسح سلوان الرقمي للسماء (SDSS) لتحديد عناقيد المجرات، وهي مهمة كثيفة الاستخدام الحسابي تتطلب حوالي 100,000 ساعة معالجة مركزية.
العملية عبر Compute4PUNCH/Storage4PUNCH:
1. المصادقة: يسجل الباحث الدخول إلى JupyterHub الخاص بـ PUNCH باستخدام بيانات اعتماد مؤسسته (عبر نظام AAI القائم على الرموز).
2. بيئة البرمجيات: تعمل نواة دفتر Jupyter الخاص به من صورة حاوية مستضافة على CVMFS، تحتوي على جميع حزم الفلك اللازمة (Astropy، SExtractor، إلخ.).
3. تعريف الوظيفة وتقديمها: يعرف وظيفة مسح معلمات في الدفتر. يستخدم الدفتر مكتبة عميل PUNCH لتقديم هذه كرسم بياني غير دوري موجه (DAG) لـ HTCondor إلى تجمع الاتحاد.
4. مطابقة الموارد والتنفيذ: يقيم COBalD/TARDIS متطلبات الوظيفة (وحدة المعالجة المركزية، الذاكرة، ربما وحدة معالجة الرسوميات) ويوجهها إلى فتحات متاحة عبر، على سبيل المثال، تجمعات HTC في KIT، قوائم انتظار HPC في جامعة بيليفيلد، وعُقد سحابية في DESY. تقرأ الوظائف بيانات الإدخال عبر مساحة الأسماء الموحدة XRootD من أقرب موقع تخزين، مستفيدة ربما من ذاكرة تخزين مؤقت.
5. تجميع النتائج: تُكتب ملفات الإخراج مرة أخرى إلى التخزين الموحد. يراقب الباحث التقدم عبر لوحة تحكم ويب موحدة وأخيرًا يجمع النتائج في دفتره للتحليل.
توضح هذه الحالة التكامل السلس للهوية، الحوسبة، التخزين، وإدارة البرمجيات.
9. التطبيقات المستقبلية وخارطة الطريق التطويرية
تضع بنية PUNCH4NFDI الأساس للعديد من التطبيقات المتقدمة:
1. التدريب الموحد للتعلم الآلي: يمكن لتجمع الموارد غير المتجانس، بما في ذلك مجموعات وحدات معالجة الرسوميات المحتملة، دعم أطر تدريب ML الموزعة مثل PyTorch أو TensorFlow عبر الحدود المؤسسية، معالجة احتياجات التدريب الحافظة للخصوصية حيث لا يمكن تركيز البيانات.
2. التحليل والتصور التفاعلي: تحسين خدمة JupyterHub بأدوات تصور تفاعلية مدعومة بخلفية قابلة للتوسع (مثل أدوات Jupyter المتصلة بمجموعات Dask على الاتحاد) لاستكشاف مجموعات البيانات الكبيرة.
3. التكامل مع السحابات الخارجية ومراكز HPC: توسيع نموذج الاتحاد لدمج أرصدة السحابة التجارية (مثل AWS، GCP) أو مراكز الحوسبة الفائقة الوطنية (مثل JUWELS في JSC) عبر طبقة محاسبة/فوترة مشتركة، لإنشاء سحابة هجينة حقيقية للعلوم.
4. تكامل البيانات الوصفية وبحيرة البيانات: الانتقال من توحيد الملفات البسيط إلى بنية بحيرة بيانات متكاملة، حيث يتم اقتران طبقة التخزين بفهرس بيانات وصفية موحد (مبني على Rucio أو iRODS)، مما يتيح اكتشاف البيانات وتتبع المنشأ عبر المجتمعات.
5. سير العمل كخدمة: تقديم خدمات منصة عالية المستوى مثل REANA (منصة التحليل القابلة للتكرار) أو Apache Airflow فوق البنية التحتية الموحدة، مما يسمح للعلماء بتعريف وتنفيذ مسارات تحليل معقدة وقابلة للتكرار دون إدارة البنية التحتية الأساسية.
من المرجح أن تركز خارطة الطريق التطويرية على تعزيز خدمة الإنتاج، توسيع تجمع الموارد، دمج أدوات إدارة بيانات أكثر تطورًا، وتطوير واجهات برمجة التطبيقات (APIs) وأدوات تطوير البرمجيات (SDKs) سهلة الاستخدام لخفض حاجز الاعتماد للمستخدمين غير الخبراء.
10. المراجع
- اتحاد PUNCH4NFDI. (2024). الورقة البيضاء لـ PUNCH4NFDI. [وثيقة اتحاد داخلية].
- Thain, D., Tannenbaum, T., & Livny, M. (2005). Distributed computing in practice: the Condor experience. Concurrency - Practice and Experience, 17(2-4), 323-356. https://doi.org/10.1002/cpe.938
- Blomer, J., et al. (2011). Distribution of software in the CernVM file system with Parrot. Journal of Physics: Conference Series, 331(4), 042009. https://doi.org/10.1088/1742-6596/331/4/042009
- Giffels, M., et al. (2022). COBalD and TARDIS – Dynamic resource overlay for opportunistic computing. EPJ Web of Conferences, 251, 02009. https://doi.org/10.1051/epjconf/202225102009
- تعاون dCache. (2023). dCache: A distributed storage data caching system. تم الاسترجاع من https://www.dcache.org/
- تعاون XRootD. (2023). XRootD: High performance, scalable fault tolerant access to data. تم الاسترجاع من http://xrootd.org/
- Wilkinson, M. D., et al. (2016). The FAIR Guiding Principles for scientific data management and stewardship. Scientific Data, 3, 160018. https://doi.org/10.1038/sdata.2016.18
- Verma, A., et al. (2015). Large-scale cluster management at Google with Borg. Proceedings of the Tenth European Conference on Computer Systems (EuroSys '15). https://doi.org/10.1145/2741948.2741964