الأخبار

فهم Azure HPC

قم ببناء الكمبيوتر العملاق الخاص بك في السحابة باستخدام أدوات الحوسبة عالية الأداء من Azure.

بالعودة إلى الوراء، كما تقول القصة، قال أحدهم أننا نحتاج فقط إلى خمسة أجهزة كمبيوتر للعالم بأسره. من السهل جدًا المجادلة بأن Azure و Amazon Web Services و Google Cloud Platform وما شابه ذلك كلها تطبيقات لمجموعة حوسبة قابلة للتطوير على نطاق واسع، مع كل خادم وكل مركز بيانات مكون آخر يضيف لبناء كمبيوتر ضخم على نطاق كوكبي . في الواقع، تم تطوير العديد من التقنيات التي تشغل السحب الخاصة بنا في الأصل لبناء أجهزة كمبيوتر عملاقة وتشغيلها باستخدام أجهزة سلعة جاهزة off-the-shelf commodity hardware..

لماذا لا تستفيد من السحابة لإنشاء ونشر وتشغيل أنظمة HPC high-performance computing (حوسبة عالية الأداء) موجودة فقط طالما أننا نحتاج إليها لحل المشكلات؟ يمكنك التفكير في السحب clouds بالطريقة نفسها التي فكر بها صانعو الأفلام في Weta Digital حول مزارع العرض الخاصة بهم، وغرف الخوادم التي تم تصميمها لتكون جاهزة لتقديم تأثيرات CGI لأفلام مثل King Kong و The Hobbit. تضاعفت المعدات كجهاز كمبيوتر عملاق مؤقت لحكومة نيوزيلندا أثناء انتظار استخدامها في صناعة الأفلام.

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

من الأفضل التفكير في أدوات HPC من Azure على أنها مجموعة من المبادئ المعمارية، تركز على تقديم ما تصفه Microsoft بأنه "الحوسبة الكبيرة big compute". أنت تستفيد من مقياس Azure لأداء مهام رياضية على نطاق واسع large-scale mathematical tasks. قد تكون بعض هذه المهام عبارة عن مهام بيانات ضخمة، في حين أن البعض الآخر قد يكون أكثر تركيزًا على الحوسبة، باستخدام عدد محدود من المدخلات لإجراء محاكاة، على سبيل المثال. تتضمن هذه المهام إنشاء عمليات محاكاة تستند إلى الوقت باستخدام computational fluid dynamics، أو إجراء تحليلات إحصائية متعددة لمونت كارلو، أو تجميع وتشغيل render farm لفيلم CGI.

تهدف ميزات HPC من Azure إلى إتاحة HPC لفئة أكبر من المستخدمين الذين قد لا يحتاجون إلى كمبيوتر عملاق ولكنهم يحتاجون إلى مستوى أعلى من الحوسبة مقارنة بمحطة عمل هندسية أو حتى مجموعة صغيرة من الخوادم التي يمكن أن توفرها. لن تحصل على نظام HPC جاهز للاستخدام ؛ ستظل بحاجة إلى إنشاء بنية تحتية لمجموعة Windows أو Linux باستخدام أجهزة افتراضية تركز على HPC ومنصة تخزين مناسبة، بالإضافة إلى الترابطات باستخدام ميزات شبكة RDMA عالية الإنتاجية من Azure.
 
بناء بنية HPC في السحابة
تقنيات مثل ARM و Bicep هي المفتاح لبناء بيئة HPC والحفاظ عليها. إنها ليست مثل خدمات النظام الأساسي لـ Azure، حيث إنك مسؤول عن معظم أعمال الصيانة الخاصة بك. يجب أن يؤدي وجود أساس البنية الأساسية كرمز لعمليات النشر الخاصة بك إلى تسهيل التعامل مع البنية الأساسية لـ HPC على أنها شيء يمكن بناؤه وهدمه حسب الضرورة، مع بنى تحتية متطابقة في كل مرة تقوم فيها بنشر خدمة HPC الخاصة بك.

توفر Microsoft عدة أنواع مختلفة من الأجهزة الافتراضية لأحمال عمل HPC. ستستخدم معظم التطبيقات الأجهزة الظاهرية من السلسلة H والتي تم تحسينها للعمليات كثيفة الاستخدام لوحدة المعالجة المركزية، مثل تلك التي تتوقعها من أعباء العمل المتطلبة حسابيًا والتي تركز على المحاكاة والنمذجة. إنها أجهزة VM ضخمة، حيث تمنحك سلسلة HBv3 ما يصل إلى 120 مركزًا AMD و 448 جيجابايت من ذاكرة الوصول العشوائي؛ يكلف الخادم الفردي 9.12 دولارًا أمريكيًا للساعة لنظام التشغيل Windows أو 3.60 دولارًا أمريكيًا للساعة لنظام التشغيل Ubuntu. تساعد شبكة Nvidia InfiniBand في إنشاء مجموعة ذات زمن انتقال منخفض للتوسع. تقدم الخيارات الأخرى أجهزة قديمة بتكلفة أقل، بينما تستخدم الأجهزة الظاهرية الصغيرة من فئة HC و H-series معالجات Intel كبديل لـ AMD. إذا كنت بحاجة إلى إضافة حساب GPU إلى مجموعة، فإن بعض الأجهزة الظاهرية من السلسلة N تقدم توصيلات InfiniBand للمساعدة في إنشاء مجموعة هجينة من وحدة المعالجة المركزية ووحدة معالجة الرسومات.

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

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

إدارة HPC باستخدام Azure CycleCloud
لست مضطرًا لبناء بنية كاملة من الصفر ؛ Azure CycleCloud هي خدمة تساعد في إدارة كل من التخزين والجداول الزمنية، مما يمنحك بيئة لإدارة أدوات HPC الخاصة بك. ربما يكون من الأفضل مقارنتها بأدوات مثل ARM، حيث إنها طريقة لبناء قوالب البنية التحتية التي تركز على مستوى أعلى من الأجهزة الافتراضية، والتعامل مع البنية التحتية الخاصة بك على أنها مجموعة من عقد الحوسبة ثم نشر الأجهزة الافتراضية حسب الضرورة، باستخدام اختيارك للجدولة وتوفير تلقائي تحجيم.

تتم إدارة كل شيء من خلال جزء زجاجي واحد، مع بوابته الخاصة للمساعدة في التحكم في موارد الحوسبة والتخزين، المدمجة مع أدوات المراقبة في Azure. هناك أيضًا واجهة برمجة تطبيقات حيث يمكنك كتابة الإضافات الخاصة بك لإضافة أتمتة إضافية. CycleCloud ليس جزءًا من بوابة Azure، يتم تثبيته باعتباره جهاز افتراضي بواجهة مستخدم مستندة إلى الويب.
 
حساب كبير مع Azure Batch
على الرغم من أن معظم أدوات Azure HPC عبارة عن بنية أساسية كخدمة، إلا أن هناك خيارًا للنظام الأساسي في شكل Azure Batch. تم تصميم هذا لأحمال العمل المتوازية جوهريًا، مثل محاكاة مونت كارلو، حيث يكون كل جزء من التطبيق المتوازي مستقلاً عن أي جزء آخر (على الرغم من أنه قد يشارك في مصادر البيانات). إنه نموذج مناسب لتصيير إطارات فيلم CGI أو للعمل في علوم الحياة، على سبيل المثال تحليل تسلسل الحمض النووي. أنت توفر برنامجًا لتشغيل مهمتك، تم إنشاؤه وفقًا لواجهات برمجة تطبيقات Batch. يتيح لك Batch استخدام مثيلات موضعية من الأجهزة الافتراضية حيث تكون حساسًا للتكلفة ولكن لا تعتمد على الوقت، وتقوم بتشغيل وظائفك عندما تكون السعة متاحة.

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

استخدام Azure كجهاز كمبيوتر عملاق DIY أمر منطقي. الأجهزة الظاهرية من السلسلة H هي خوادم قوية توفر الكثير من القدرات الحسابية. مع دعم الأدوات المألوفة، يمكنك ترحيل أحمال العمل المحلية إلى Azure HPC أو إنشاء تطبيقات جديدة دون الحاجة إلى تعلم مجموعة جديدة كاملة من الأدوات. السؤال الحقيقي الوحيد اقتصادي: هل تكلفة استخدام الحوسبة عالية الأداء عند الطلب تبرر التحول بعيدًا عن مركز البيانات الخاص بك؟