استخدام Spot VMs مع أحمال عمل Batch
يوفر Azure Batch أجهزة Spot virtual machines (VMs) لتقليل تكلفة أحمال العمل المجمعة. تجعل الأجهزة الظاهرية الموضعية أنواعا جديدة من أحمال عمل الدفعات ممكنة من خلال تمكين كمية كبيرة من طاقة الحوسبة لاستخدامها بتكلفة منخفضة.
تستفيد Spot VMs من القدرة الفائضة في Azure. عندما تحدد Spot VMs في مجموعاتك، يمكن لـ Azure Batch استخدام هذا الفائض، عند توفره.
المفاضلة لاستخدام Spot VMs هو أن هذه الأجهزة الظاهرية قد لا تكون متاحة دائما، أو قد يتم استباقها في أي وقت، اعتمادا على السعة المتاحة. لهذا السبب، فإن Spot VMs هي الأنسب لأحمال عمل المعالجة المجمعة وغير المتزامنة حيث يكون وقت إكمال المهمة مرناً، ويتم توزيع العمل عبر العديد من الأجهزة الظاهرية.
يتم تقديم Spot VMs بسعر مخفض مقارنة بالأجهزة الظاهرية المخصصة. لمعرفة المزيد حول التسعير، راجع تسعير الدفعة.
الاختلافات بين أجهزة Spot والأجهزة الظاهرية ذات الأولوية المنخفضة
تقدم Batch نوعين من الأجهزة الظاهرية القابلة للاستباق منخفضة التكلفة:
- Spot VMs، وهو عرض حديث على مستوى Azure متاح أيضاً كالأجهزة الظاهرية أحادية المثيل أو مجموعات مقياس الجهاز الظاهري.
- الأجهزة الظاهرية ذات الأولوية المنخفضة، وهو عرض قديم متوفر فقط من خلال Azure Batch.
يعتمد نوع العقدة التي تحصل عليها على وضع تخصيص تجمع حساب Batch الخاص بك، والذي يمكن تعيينه أثناء إنشاء الحساب. دائماً ما تحصل حسابات Batch التي تستخدم وضع تخصيص تجمع اشتراك المستخدم على Spot VMs. دائماً ما تحصل حسابات Batch التي تستخدم وضع تخصيص تجمع Batch المُدار على أجهزة ظاهرية ذات أولوية منخفضة.
تحذير
سيتم إيقاف الأجهزة الظاهرية ذات الأولوية المنخفضة بعد 30 سبتمبر 2025. الرجاء الترحيل إلى Spot VMs في Batch قبل ذلك.
تتشابه أجهزة Azure Spot VMs والأجهزة الافتراضية ذات الأولوية المنخفضة Batch ولكن لديها بعض الاختلافات في السلوك.
تحديد الأجهزة الظاهرية | الأجهزة الظاهرية ذات الأولوية المنخفضة | |
---|---|---|
حسابات Batch المدعومة | حسابات Batch لاشتراك المستخدم | حسابات Batch المُدارة بواسطة Batch |
تكوينات تجمع Batch المدعومة | تكوين جهاز ظاهري | تكوين الجهاز الظاهري وتكوين الخدمة السحابية (مهمل) |
المناطق المتوفرة | جميع المناطق التي تدعم Spot VMs | جميع المناطق باستثناء Microsoft Azure التي تديرها 21Vianet |
أهلية العميل | غير متوفر لبعض أنواع عروض الاشتراك. اطلع على المزيد بشأن قيود Spot. | متوفر لجميع عملاء Batch |
الأسباب المحتملة للإخلاء | السعة | السعة |
نموذج الأسعار | خصومات متغيرة نسبة إلى أسعار الجهاز الظاهري القياسية | خصومات ثابتة بالنسبة إلى أسعار الأجهزة الظاهرية القياسية |
نموذج الحصة النسبية | تخضع للحصص النسبية الأساسية على اشتراكك | تخضع للحصص النسبية الأساسية على حساب Batch الخاص بك |
اتفاقية مستوى خدمة التوفر | بلا | بلا |
دعم Batch لـ Spot VMs
يوفر Azure Batch العديد من الإمكانات التي تجعل من السهل استهلاك Spot VMs والاستفادة منها:
- يمكن أن تحتوي تجمعات Batch على أجهزة ظاهرية مخصصة وأجهزة Spot VMs. يمكن تحديد عدد كل نوع من أنواع الأجهزة الظاهرية عند إنشاء تجمع أو تغييره في أي وقت لتجمع موجود، باستخدام عملية تغيير الحجم الصريحة أو باستخدام التحجيم التلقائي. يمكن أن يظل إرسال المهمة والمهمة دون تغيير، بغض النظر عن أنواع الأجهزة الظاهرية في التجمع. يمكنك أيضاً تكوين تجمع لاستخدام Spot VMs تماماً لتشغيل الوظائف بأقل تكلفة ممكنة، ولكن قم بتدوير الأجهزة الظاهرية المخصصة إذا انخفضت السعة إلى ما دون الحد الأدنى، للحفاظ على تشغيل الوظائف.
- تسعى مجموعات Batch تلقائياً إلى البحث عن العدد المستهدف لأجهزة Spot VMs. إذا تم استباق الأجهزة الظاهرية أو عدم توفرها، يحاول Batch استبدال السعة المفقودة والعودة إلى الهدف.
- عند مقاطعة المهام، يكتشف Batch المهام ويعيد ترتيبها تلقائياً للتشغيل مرة أخرى.
- تحتوي أجهزة Spot VMs على حصة منفصلة لوحدة المعالجة المركزية الظاهرية تختلف عن تلك المخصصة للأجهزة الظاهرية المخصصة. الحصة النسبية لأجهزة Spot VMs أعلى من الحصة المخصصة للأجهزة الظاهرية المخصصة، لأن تكلفة أجهزة Spot VMs أقل. لمزيد من المعلومات، راجع حصص الخدمة المجمعة وحدودها.
الاعتبارات وحالات الاستخدام
تعد العديد من أحمال العمل المجمعة مناسبة تماماً لأجهزة Spot VMs. ضع في اعتبارك استخدام Spot VMs عند تقسيم المهام إلى العديد من المهام المتوازية، أو عندما يكون لديك العديد من الوظائف التي يتم توسيع نطاقها وتوزيعها عبر العديد من الأجهزة الظاهرية.
بعض الأمثلة على حالات استخدام معالجة الدفعات المناسبة تماما ل Spot VMs هي:
- التطوير والاختبار: على وجه الخصوص، إذا تم تطوير حلول واسعة النطاق، يمكن تحقيق وفورات كبيرة. يمكن أن تستفيد جميع أنواع الاختبارات، ولكن اختبار الحمل على نطاق واسع واختبار الانحدار من الاستخدامات الرائعة.
- استكمال السعة عند الطلب: يمكن استخدام أجهزة Spot VMs لتكملة الأجهزة الظاهرية المخصصة العادية. عندما تكون متاحة، يمكن توسيع نطاق الوظائف وبالتالي إكمالها بشكل أسرع بتكلفة أقل؛ في حالة عدم توفرها، يظل خط الأساس لأجهزة VM المخصصة متاحاً.
- وقت تنفيذ الوظيفة المرن: إذا كانت هناك مرونة في الوقت الذي يجب أن تكتمل فيه الوظائف، فيمكن التسامح مع الانخفاضات المحتملة في السعة. ومع ذلك، مع إضافة Spot VMs، تعمل المهام بشكل متكرر بشكل أسرع وبتكلفة أقل.
يمكن تكوين مجموعات الدُفعات لاستخدام أجهزة Spot VMs بعدة طرق:
- يمكن للتجمع استخدام Spot VMs فقط. في هذه الحالة، تستعيد Batch أي سعة تم استباقها عند توفرها. هذا التكوين هو أرخص وسيلة لتنفيذ المهام.
- يمكن استخدام Spot VMs مع أساس ثابت من الأجهزة الظاهرية المخصصة. يضمن العدد الثابت للأجهزة الظاهرية المخصصة وجود بعض السعة دائما للحفاظ على تقدم الوظيفة.
- يمكن للتجمع استخدام مزيج ديناميكي من الأجهزة الظاهرية المخصصة وSpot VMs، بحيث يتم استخدام أجهزة Spot الظاهرية الأرخص فقط عند توفرها، ولكن يتم توسيع نطاق الأجهزة الظاهرية المخصصة كاملة السعر عند الحاجة. يحافظ هذا التكوين على الحد الأدنى من السعة المتاحة للحفاظ على تقدم المهام.
ضع في اعتبارك الممارسات التالية عند التخطيط لاستخدام Spot VMs:
- لزيادة استخدام السعة الفائضة في Azure إلى أقصى حد، يمكن توسيع نطاق الوظائف المناسبة.
- في بعض الأحيان، قد لا تتوفر الأجهزة الظاهرية أو يتم استباقها، مما يؤدي إلى انخفاض القدرة على الوظائف وقد يؤدي إلى انقطاع المهام وإعادة التشغيل.
- تميل المهام ذات أوقات التنفيذ الأقصر إلى العمل بشكل أفضل مع أجهزة Spot VMs. قد تتأثر المهام ذات المهام الأطول بشكل أكبر إذا تمت مقاطعتها. إذا نفذت المهام طويلة الأمد نقاط التحقق لحفظ التقدم أثناء تنفيذها، فقد يتم تقليل هذا التأثير.
- وظائف MPI طويلة الأمد التي تستخدم أجهزة ظاهرية متعددة ليست مناسبة تماما ل Spot VMs، لأن جهازا ظاهريا واحدا مسبقا يمكن أن يؤدي إلى الحاجة إلى تشغيل المهمة بأكملها مرة أخرى.
- قد يتم وضع علامة على العقد ذات الأولوية المرتفعة على أنها غير قابلة للاستخدام إذا تم تكوين قواعد مجموعة أمان الشبكة (NSG) بشكلٍ غير صحيح.
إنشاء مجموعات وإدارتها باستخدام Spot VMs
يمكن أن يحتوي تجمع Batch على أجهزة ظاهرية مخصصة وأجهزة Spot VMs (يشار إليها أيضاً باسم عقد الحوسبة). يمكنك تعيين العدد المستهدف لعقد الحوسبة لكل من الأجهزة الظاهرية المخصصة وأجهزة Spot VMs. يحدد العدد المستهدف للعقد عدد الأجهزة الظاهرية التي تريدها في التجمع.
ينشئ المثال التالي تجمعا باستخدام أجهزة Azure الظاهرية، في هذه الحالة Linux VMs، مع هدف من 5 أجهزة ظاهرية مخصصة و20 Spot VMs:
ImageReference imageRef = new ImageReference(
publisher: "Canonical",
offer: "UbuntuServer",
sku: "20.04-LTS",
version: "latest");
// Create the pool
VirtualMachineConfiguration virtualMachineConfiguration =
new VirtualMachineConfiguration("batch.node.ubuntu 20.04", imageRef);
pool = batchClient.PoolOperations.CreatePool(
poolId: "vmpool",
targetDedicatedComputeNodes: 5,
targetLowPriorityComputeNodes: 20,
virtualMachineSize: "Standard_D2_v2",
virtualMachineConfiguration: virtualMachineConfiguration);
يمكنك الحصول على العدد الحالي من العقد لكل من الأجهزة الظاهرية المخصصة وأجهزة Spot VMs:
int? numDedicated = pool1.CurrentDedicatedComputeNodes;
int? numLowPri = pool1.CurrentLowPriorityComputeNodes;
تحتوي عُقد التجمع على خاصية للإشارة إلى ما إذا كانت العقدة جهازاً ظاهريّاً مخصصاً أم جهاز Spot VM:
bool? isNodeDedicated = poolNode.IsDedicated;
قد يتم استباق Spot VMs أحيانا. عند حدوث الاستباق، تتم إعادة ترتيب المهام التي كانت تعمل على الأجهزة الظاهرية للعقدة التي تم استباقها وتشغيلها مرة أخرى عند إرجاع السعة.
بالنسبة لتجمعات تكوين الجهاز الظاهري، تقوم Batch أيضا بتنفيذ السلوكيات التالية:
- تم تحديث حال أجهزة VM التي تم استباقها إلى Prepempted.
- يتم حذف الجهاز الظاهري بشكل فعال، مما يؤدي إلى فقدان أي بيانات مخزنة محلياً على الجهاز الظاهري.
- لا تزال عملية عقد القائمة على التجمع ترجع العقد التي تم استباقها.
- يحاول التجمع باستمرار الوصول إلى العدد المستهدف للعقد ذات الأولوية المرتفعة المتاحة. عند العثور على سعة الاستبدال، تحتفظ العقد بالمعرف الخاص بها، ولكن تتم إعادة تهيئتها، مرورا بحالات الإنشاء والبدء قبل أن تكون متاحة لجدولة المهام.
- تتوفر أعداد التفضيل كمقياس في مدخل Microsoft Azure.
تجمعات مقياس تحتوي على Spot VMs
كما هو الحال مع التجمعات التي تتكون فقط من أجهزة ظاهرية مخصصة، من الممكن توسيع نطاق تجمع يحتوي على Spot VMs عن طريق استدعاء Resize
الأسلوب أو باستخدام التحجيم التلقائي.
تستغرق عملية تغيير حجم التجمع معلمة اختيارية ثانية تقوم بتحديث قيمة targetLowPriorityNodes
:
pool.Resize(targetDedicatedComputeNodes: 0, targetLowPriorityComputeNodes: 25);
تدعم صيغة المقياس التلقائي للتجمع أجهزة Spot VMs على النحو التالي:
- يمكنك الحصول على قيمة المتغير المحدد بواسطة الخدمة أو تعيينها
$TargetLowPriorityNodes
. - يمكنك الحصول على قيمة المتغير
$CurrentLowPriorityNodes
المحدد من قبل الخدمة . - يمكنك الحصول على قيمة المتغير
$PreemptedNodeCount
المحدد من قبل الخدمة . يقوم هذا المتغير بإرجاع عدد العقد في حالة الاستباق، ويسمح لك بزيادة أو تقليل عدد العُقد المخصصة، اعتماداً على عدد العُقد التي تم استباقها، والتي لا تتوفر.
تكوين الوظائف والمهام
قد تتطلب المهام والمهام بعض التكوين الإضافي لعقد Spot:
- خاصية
JobManagerTask
الوظيفة لها خاصيةAllowLowPriorityNode
. عندما تكون هذه الخاصية صحيحة، يمكن جدولة مهمة مدير الوظيفة على عقدة مخصصة، أو عقدة ذات أولوية مرتفعة. إذا كانت خاطئة، تتم جدولة مهمة مدير الوظيفة إلى عقدة مخصصة فقط. AZ_BATCH_NODE_IS_DEDICATED
يتوفر متغير البيئة لتطبيق مهمة بحيث يمكنه تحديد ما إذا كان يعمل على Spot أو على عقدة مخصصة.
عرض مقاييس أجهزة Spot VMs
تتوفر مقاييس جديدة في مدخل Microsoft Azure للعُقد ذات الأولوية المرتفعة. هذه المقاييس هي:
- عدد العُقد منخفضة الأولوية
- عدد النواة ذات الأولوية المنخفضة
- عدد العقدة المستبعدة
لعرض هذه المقاييس في مدخل Microsoft Azure:
- انتقل إلى حساب الدفعة الخاص بك في مدخل Microsoft Azure.
- حدد Metrics من قسم Monitoring.
- حدد المقاييس التي تريدها من قائمة Metric.
القيود
- لا تدعم Spot VMs في Batch تحديد الحد الأقصى للسعر ولا تدعم عمليات الإخلاء المستندة إلى السعر. ولا يمكن إخلاؤها إلا لأسباب تتعلق بالقدرة الإنتاجية.
- تتوفر أجهزة Spot VMs فقط لتجمعات تكوين الجهاز الظاهري وليس لتجمعات تكوين الخدمة السحابية، والتي تم إهمالها.
- لا تتوفر الأجهزة الظاهرية الموضعية لبعض السحب وأحجام الأجهزة الظاهرية وأنواع عروض الاشتراك. تعرف على المزيد حول قيود Spot VM.
- حاليا، أقراص نظام التشغيل المؤقتة غير مدعومة مع Spot VMs بسبب نهج الإخلاء المدار بواسطة الخدمة ل Stop-Deallocate.
الخطوات التالية
- اطلع على سير عمل خدمة "الدُفعة" ومواردها الأساسية مثل المجموعات والعُقد والمهام.
- تعرف على معلومات حول واجهات برمجة التطبيقات والأدوات المجمعة المتوفرة لإنشاء حلول مجمعة.
- ابدأ في التخطيط للانتقال من VMs ذات الأولوية المنخفضة إلى Spot VMs. إذا كنت تستخدم الأجهزة الظاهرية ذات الأولوية المنخفضة مع تجمعات تكوين الخدمات السحابية (التي تم إهمالها)، فخطط للترحيل إلى تجمعات تكوين الجهاز الظاهري بدلا من ذلك.