HAMi به پروژهٔ Incubating در CNCF ارتقا پیدا کرد
خلاصهٔ کاملتر
کمیتهٔ نظارت فنی بنیاد CNCF رأی داده که HAMi بهعنوان یک پروژهٔ incubating پذیرفته بشه؛ ارتقایی از سطح Sandbox که این پروژه از آگوست ۲۰۲۴ توش بود. مسئلهای که این پروژه حل میکنه برای تیمهای زیرساخت AI تکراری و پرهزینهست: GPUهای گرونقیمت اغلب تکهتکه و کماستفاده میمونن، چون کل دستگاه به جابی تخصیص داده میشه که فقط کسری ازش رو لازم داره. همزمان تیمها سر شتابدهندههای کمیاب با هم رقابت میکنن و هر فروشندهٔ سختافزاری هم مدل عملیاتی متفاوت خودش رو عرضه میکنه.
راهحل HAMi یک میانافزار مجازیسازی GPU برای کوبرنتیزه. با این ابزار، تیم پلتفرم میتونه یک GPU فیزیکی — یا NPU، DCU، MLU و شتابدهندههای دیگه — رو بر اساس حافظه، هسته یا تعداد دستگاه به واحدهای کوچیکتر تقسیم کنه، بین بارهای کاریِ اشتراکی ایزولاسیون سخت زمان اجرا اعمال کنه، و پادها رو با سیاستهای binpack، spread و آگاه از توپولوژی زمانبندی کنه. نکتهٔ کلیدی اینه که هیچکدوم از اینها به تغییر کد اپلیکیشن یا مانیفستهای موجود کوبرنتیز نیاز نداره.
چیزی که HAMi رو از ابزارهای device-plugin که حول اکوسیستم یک فروشنده ساخته شدن جدا میکنه، طراحی چندفروشندهایش با یک رابط واحد و یکدستهست.
از نظر معماری، پروژه چند جزء داره. یک Mutating Webhook ثبت پادها رو در API server رهگیری میکنه و فیلدهای زمانبند و درخواستهای منابع رو برای بارهای کاریِ متقاضی دستگاه مجازی بازنویسی میکنه. Scheduler Extender پادها رو فیلتر، امتیازدهی و به گره و دستگاه متصل میکنه. Device Plugins مخصوص هر فروشنده شتابدهندهها رو به کوبرنتیز معرفی و منابع کسری رو به کانتینرها تخصیص میدن.
قلب فنی ماجرا HAMi-Core هست: لایهٔ مجازیسازی داخل کانتینر که محدودیتهای سخت روی حافظه و توان محاسباتی GPU رو اعمال میکنه و برای دستگاههای NVIDIA درایور بومی CUDA رو رهگیری میکنه. کنارش یک رابط وب برای مدیریت کلاستر و یک لایهٔ مشاهدهپذیری با نقطهٔ پایانی سازگار با Prometheus و نمونه داشبورد Grafana وجود داره.
آمار رشد پروژه هم بخشی از دلیل این ارتقاست: بیش از ۵۵۰ سازمان مشارکتکننده، حدود ۳۵۰۰ ستاره و بیش از ۵۵۰ فورک روی گیتهاب، و ۲۶۸۷ مشارکتکننده با رشد سالانهٔ ۴۳٪. نگهدارندهها از چند شرکت از جمله dynamia.ai و NVIDIA و همچنین توسعهدهندههای مستقلان — همون حاکمیت بیطرف نسبت به فروشنده که incubation در CNCF لازم داره. پروژه تا حالا ۱۶ نسخه منتشر کرده و نسخهٔ پایدار فعلی v2.9.0 هست.
پنج مطالعهٔ موردی مستقل هم منتشر شده که استفادهٔ پروداکشنی رو در آموزش، پلتفرمهای ابری و فناوری سازمانی مستند میکنن؛ از جمله استقرار DaoCloud روی بیش از ۱۰ هزار GPU در بیش از ۱۰ دیتاسنتر، و استفادهٔ China Merchants Bank برای مدیریت منابع شتابدهندهٔ متنوع در مقیاس بزرگ. در سمت اکوسیستم، HAMi با Volcano برای زمانبندی دستهای AI و با Koordinator برای جریانهای اشتراک GPU یکپارچه شده و همزمان با مسیر زمانبند پیشفرض کوبرنتیز هم سازگار مونده.
نقشهٔ راه پیش رو شامل قابلیتهای پیشرفتهٔ زمانبندی مثل gang-scheduling، preemption و مقیاسپذیری خودکاره، بهعلاوهٔ راهکاری برای پایش مصرف DRA. تیم همچنین داره پشتیبانی از دستگاههای AMD سری Mi و PPU رو اضافه میکنه و دنبال همکاری بیشتر با پروژههای زمانبندی دیگهٔ زیر چتر CNCF مثل KAI-scheduler، Kueue و llm-d هست.
نکات کلیدی:
- HAMi از Sandbox به سطح Incubating در CNCF ارتقا پیدا کرد
- تقسیم GPU بر اساس حافظه، هسته یا تعداد دستگاه، بدون تغییر کد اپلیکیشن
- ایزولاسیون سخت زمان اجرا با رهگیری درایور CUDA در HAMi-Core
- طراحی چندفروشنده با رابط واحد، برخلاف ابزارهای تکاکوسیستمی
- ۲۶۸۷ مشارکتکننده با رشد سالانهٔ ۴۳٪ و نسخهٔ پایدار v2.9.0
- نقشهٔ راه: gang-scheduling، preemption و پشتیبانی از AMD سری Mi




