إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
بدءا من LSF 10.1 FixPack 9 (10.1.0.9)، يعد Azure CycleCloud موفرا أصليا لموصل الموارد. توفر IBM الوثائق. توفر هذه الموارد إرشادات حول تكوين عقدة LSF الأساسية للاتصال ب CycleCloud.
LSF هو منتج مرخص من IBM. لاستخدام LSF في CycleCloud، تحتاج إلى ملف استحقاق توفره IBM لعملائهم.
إشعار
- LSF هو منتج مرخص من IBM. لاستخدام LSF في CycleCloud، تحتاج إلى ملف استحقاق توفره IBM لعملائها. أضف ثنائيات LSF وملف الاستحقاق إلى
blobs/الدليل لاستخدام نظام المجموعة المؤتمت بالكامل أو منشئ صور الجهاز الظاهري في هذا المشروع. - لاستخدام نظام المجموعة المؤتمت بالكامل أو منشئ صور الجهاز الظاهري في هذا المشروع، أضف ثنائيات LSF وملف الاستحقاق إلى
blobs/الدليل. - يعتمد LSF على الحزمة
edالتي لم يتم تثبيتها في الإصدارات الحديثة من صورة Azure HPC بشكل افتراضي. إذا كانت صورة الجهاز الظاهري المحددة لا تتضمنed، فنحن نقترح استخدام cloud-init لإضافة الحزمة. على سبيل المثال، في RedHat Enterprise Linux أو AlmaLinux أو CentOS، يمكنك إضافة ما يلي إلى قالب نظام المجموعة الخاص بك (أو في واجهة المستخدم الرسومية CycleCloud عبر مربع الحوار Cluster Edit):
[node defaults]
CloudInit = '''#!/bin/bash
yum install -y ed
'''
السيناريوهات المدعومة لنوع نظام مجموعة CycleCloud LSF
يمكن ل LSF "اقتراض" المضيفين من Azure لتشغيل المهام بطريقة عند الطلب، وإضافة المضيفين وإزالتها حسب الحاجة. نوع نظام مجموعة LSF مرن لمعالجة عدة سيناريوهات في مجموعة واحدة:
- وظائف معدل النقل العالية (وحدة المعالجة المركزية وGPU)
- مقترن بإحكام (MPI وCPU وGPU)
- أولوية منخفضة
التعامل مع هذه السيناريوهات عن طريق تكوين صفائف عقدة متعددة وخصائص LSF. يقوم CycleCloud مسبقا بتكوين صفائف العقدة. يتيح التكوين المناسب ل LSF سيناريوهات الوظائف المختلفة.
عند تكوين LSF وفقا لهذه التوصيات، يمكنك استخدام bsub متطلبات -R الموارد بالطريقة التالية:
placementGroup استخدم المورد لتشغيل مهمة مع شبكة اتصال InfiniBand.
-R "span[ptile=2] select[nodearray=='ondemandmpi' && cyclecloudmpi] same[placementgroup]"
بالنسبة إلى وحدات معالجة الرسومات، نوصي باستخدام دعم LSF لبناء جملة GPU الموسعة. عادة ما تضيف هذه السمات إلى lsf.conf: LSB_GPU_NEW_SYNTAX=extend و LSF_GPU_AUTOCONFIG=Y. مع تمكين دعم بناء الجملة الموسع، استخدم placementGroup مع -gpu لتشغيل مهمة مقترنة بإحكام مع تسريع GPU.
-R "span[ptile=1] select[nodearray=='gpumpi' && cyclecloudmpi] same[placementgroup]" -gpu "num=2:mode=shared:j_exclusive=yes"
تشغيل المهام الممكنة لوحدة معالجة الرسومات بطريقة متوازية.
-R "select[nodearray=='gpu' && !cyclecloudmpi && !cyclecloudlowprio]" -gpu "num=1:mode=shared:j_exclusive=yes"
تشغيل مهمة اندفاع كبيرة على الأجهزة الظاهرية ذات الأولوية المنخفضة.
-J myArr[1000] -R "select[nodearray=='lowprio' && cyclecloudlowprio]"
تكوين LSF لنوع نظام مجموعة CycleCloud LSF
لتمكين هذه السيناريوهات، أضف أنواع الموارد المشتركة إلى lsb.shared.
cyclecloudhost Boolean () () (instances from Azure CycleCloud)
cyclecloudmpi Boolean () () (instances that support MPI placement)
cyclecloudlowprio Boolean () () (instances that low priority / interruptible from Azure CycleCloud)
nodearray String () () (nodearray from CycleCloud)
placementgroup String () () (id used to note locality of machines)
instanceid String () () (unique host identifier)
قد تكون قادرا على ترك cyclecloudlowprio، ولكنه يوفر فحصا إضافيا بأن الوظائف تعمل على إيجار الجهاز الظاهري المقصود.
قالب موفر LSF ل CycleCloud
يعرض موفر LSF CycleCloud التكوينات من خلال قالب الموفر. هذه التكوينات هي مجموعة فرعية من التكوين الكامل ل nodearray.
فيما يلي مثال على قالب LSF ل Cyclecloud من cyclecloudprov_templates.json:
{
"templateId": "ondemand",
"attributes": {
"type": ["String", "X86_64"],
"ncores": ["Numeric", "44"],
"ncpus": ["Numeric", "44"],
"mem": ["Numeric", "327830"],
"cyclecloudhost": ["Boolean", "1"],
"nodearray" : ["String", "ondemand"]
},
"priority" : 250,
"nodeArray": "ondemand",
"vmType" : "Standard_HC44rs",
"subnetId" : "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/azurecyclecloud-lab/providers/Microsoft.Network/virtualNetworks/hpc-network/subnets/compute",
"imageId" : "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/azurecyclecloud-lab/providers/Microsoft.Compute/images/lsf-worker-a4bc2f10",
"maxNumber": 500,
"keyPairLocation": "/opt/cycle_server/.ssh/id_rsa_admin.pem",
"customScriptUri": "https://aka.ms/user_data.sh",
"userData": "nodearray_name=ondemand"
}
سمات قالب LSF ل CycleCloud
لا يعرض قالب موفر LSF جميع سمات nodearray. تعتبر هذه السمات تجاوزات لتكوين CycleCloud nodearray. سمات قالب LSF المطلوبة الوحيدة هي:
templateIdnodeArray
يمكنك حذف سمات أخرى أو قد لا تكون ضرورية على الإطلاق. يستنتج CycleCloud هذه السمات:
-
imageId- صورة جهاز Azure الظاهري، على سبيل المثال،"/subscriptions/xxxxxxxx-xxxx-xxxx-xxx-xxxxxxxxxxxx/resourceGroups/my-images-rg/providers/Microsoft.Compute/images/lsf-execute-201910230416-80a9a87f"- تجاوز تكوين مجموعة CycleCloud. -
subnetId- شبكة Azure الفرعية، على سبيل المثال،"resource_group/vnet/subnet"- تجاوز تكوين مجموعة CycleCloud. -
vmType- على سبيل المثال،"Standard_HC44rs"- تجاوز تكوين مجموعة CycleCloud. -
keyPairLocation- على سبيل المثال،"~/.ssh/id_rsa_beta"- تجاوز تكوين مجموعة CycleCloud. - customScriptUri - على سبيل المثال،
http://10.1.0.4/user_data.sh. لا يوجد برنامج نصي إذا لم يتم تحديده. - userData - على سبيل المثال،
"nodearray_name=gpumpi;placement_group_id=gpumpipg1". فارغ إذا لم يتم تحديده.
ملاحظة حول PlacementGroups
لدى مراكز بيانات Azure إمكانية شبكة InfiniBand لسيناريوهات HPC. على عكس Ethernet العادي، تتمتع هذه الشبكات بامتداد محدود. تصف "PlacementGroups" نطاقات شبكة InfiniBand. إذا كانت الأجهزة الظاهرية موجودة في نفس مجموعة الموضع وكانت أنواع أجهزة ظاهرية خاصة ممكنة ل InfiniBand، فإنها تشترك في شبكة InfiniBand.
تتطلب مجموعات المواضع هذه معالجة خاصة في LSF و CycleCloud.
فيما يلي مثال على قالب LSF ل CycleCloud من cyclecloudprov_templates.json:
{
"templateId": "ondemandmpi-1",
"attributes": {
"nodearray": ["String", "ondemandmpi" ],
"zone": [ "String", "westus2"],
"mem": [ "Numeric", 8192.0],
"ncpus": [ "Numeric", 2],
"cyclecloudmpi": [ "Boolean", 1],
"placementgroup": [ "String", "ondemandmpipg1"],
"ncores": [ "Numeric", 2],
"cyclecloudhost": [ "Boolean", 1],
"type": [ "String", "X86_64"],
"cyclecloudlowprio": [ "Boolean", 0]
},
"maxNumber": 40,
"nodeArray": "ondemandmpi",
"placementGroupName": "ondemandmpipg1",
"priority": 448,
"customScriptUri": "https://aka.ms/user_data.sh",
"userData" : "nodearray_name=ondemandmpi;placement_group_id=ondemandmpipg1"
}
placementGroupName يمكن أن يكون في هذا الملف أي شيء ولكنه يحدد اسم placementGroup في CycleCloud. توجد أي عقد تم اقتراضها من CycleCloud من هذا القالب في مجموعة الموضع هذه، وإذا كانت الأجهزة الظاهرية التي تدعم InfiniBand، فشارك شبكة IB.
placementGroupName تطابق الخاصية سمة placementgroupالمضيف . هذه المطابقة مقصودة وضرورية. تعيين الخاصية placement_group_id في userData للاستخدام في user_data.sh في وقت بدء المضيف.
ondemandmpi قد تبدو السمة دخيلة ولكنها تستخدم لمنع هذه المهمة من المطابقة على المضيفين حيث placementGroup غير محددة.
عند استخدام مجموعات المواضع، تحدد قيمة الخاصية Azure.MaxScaleSetSize الحد الأقصى لحجم مجموعة الموضع.
تحد هذه الخاصية بشكل غير مباشر من عدد العقد التي يمكنك إضافتها إلى مجموعة موضع ولكن LSF لا تأخذها في الاعتبار. تعيين MaxNumber قالب LSF يساوي Azure.MaxScaleSetSize في قالب نظام المجموعة.
user_data.sh
يوفر القالب سمتين لتنفيذ برنامج نصي user_data.sh : customScriptUri و userData. هذه السمات هي URI ومتغيرات البيئة المخصصة للبرنامج النصي المدار من قبل المستخدم الذي يتم تشغيله عند بدء تشغيل العقدة.
customScriptUri لا يمكن أن يتطلب المصادقة لأن أمر CURL مجهول يقوم بتنزيل البرنامج النصي. استخدم هذا البرنامج النصي من أجل:
- قم بتكوين برامج LSF الخفية للعامل، خاصة
LSF_LOCAL_RESOURCESوLSF_MASTER_LIST.- إذا كان
LSF_TOPعلى نظام ملفات مشترك، فمن المفيد إنشاء نسخة محلية منlsf.confوتعيينLSF_ENVDIRالمتغير قبل بدء تشغيل البرامج الخفية.
- إذا كان
- ابدأ تشغيل lim و res وsbatch daemons.
يعين موفر CycleCloud بعض متغيرات البيئة الافتراضية.
- rc_account
- template_id
- اسم الموفر
- اسم نظام المجموعة
- cyclecloud_nodeid (تعيين هذا المتغير إلى
instanceIdالمورد)
متغيرات بيانات المستخدم الأخرى التي يمكن أن تكون مفيدة في إدارة الموارد في موفر CycleCloud هي:
- nodearray_name
- placement_group_id
إشعار
على الرغم من أن Windows هو نظام أساسي ل LSF مدعوم رسميا، إلا أن CycleCloud لا يدعم تشغيل LSF على Windows في الوقت الحالي.