پرش به محتوای اصلی
پرش به محتوای مقاله

کاهش هزینه‌های GPU با مجازی‌سازی منابع در HAMi

·۲۳ تیر ۱۴۰۵۱۱ دقیقه مطالعه۱ بازدید
چرا GPUهای شما بیکورند اما صورت‌حساب‌تان نه
چرا GPUهای شما بیکورند اما صورت‌حساب‌تان نه
اشتراک‌گذاری
واقعاً چه چیز جدید است؟

درBringing an in-container enforcement layer for GPU slicing، HAMi برخلاف MIG، اجازه تخصیص مقادیر دقیق و دلخواه (به جای هندسه‌های ثابت) را می‌دهد و بدون تغییر در کد برنامه، محدودیت حافظه را در سطح درایور اعمال می‌کند.

تصور کنید برای یک گره ۸ پردازشی H100 سالانه تا ۴۸۰ هزار دلار هزینه پرداخت می‌کنید، اما بخش زیادی از این قدرت پردازشی هرگز استفاده نمی‌شود. این اتلاف سرمایه به دلیل ساختار کوبرنتیز است که GPUها را به عنوان واحدهای تجزیه‌ناپذیر تخصیص می‌دهد.

HAMi (میان‌افزار مجازی‌سازی محاسبات هوش مصنوعی ناهمگون) با ایجاد امکان درخواست برش‌های دقیق از حافظه و توان محاسباتی، تضمین می‌کند که شما فقط هزینه ظرفیتی را بدهید که واقعاً مصرف می‌کنید. این ابزار درست مانند تقسیم یک پیتزای بزرگ بین چندین نفر است، به‌جای آنکه هر کس برای یک تکه کوچک، یک پیتزای کامل سفارش دهد.

همان‌طور که در تحلیل‌های پیشین ما درباره بهینه‌سازی زیرساخت‌های مدل‌های زبانی اشاره کردیم، گلوگاه اصلی اکنون نه در دسترسی به مدل، بلکه در مدیریت بهینه سخت‌افزار است. این چالش در ابعاد کلان‌تر نیز دیده می‌شود؛ جایی که مدل‌های تأمین مالی چرخه‌ای انویدیا تلاش می‌کنند تا دسترسی به سخت‌افزارهای عظیم را تسهیل کنند. اکثر خوشه‌های (Cluster) مشترک AI با شکاف عمیقی میان ظرفیت تخصیص داده شده و بهره‌وری واقعی روبه‌رو هستند. طبق مستندات فنی، پیش از عرضه قابلیت Dynamic Resource Allocation (DRA)، کوبرنتیز تنها می‌توانست GPUها را به‌صورت کارت‌های کامل زمان‌بندی کند.

برای مثال، اگر یک پاد تنها به ۴ گیگابایت از ۸۰ گیگابایت حافظه یک H100 نیاز داشته باشد، باز هم تمام کارت را برای مدت زمان اجرای خود رزرو می‌کند. این وضعیت منجر به زیربهره‌برداری شدید از سخت‌افزارهای گران‌قیمت می‌شود؛ به‌طوری که یک چت‌بات در ساعات کم‌ترافیک، کارت‌های اختصاصی را بی‌استفاده رها می‌کند. در حالی که داشبوردها تمام GPUها را «اشغال شده» نشان می‌دهند، ابزارهای نظارتی مانند nvidia-smi مصرف واقعی بسیار ناچیزی را گزارش می‌کنند. این پارادوکس باعث می‌شود مدیران بودجه‌های جدیدی برای خرید GPU درخواست کنند، در حالی که سخت‌افزار موجود از نظر ریاضی ظرفیت خالی دارد.

HAMi که در ژوئیه ۲۰۲۶ به وضعیت Incubating در بنیاد CNCF رسید، این خلأ را با افزودن یک لایه اجباری در داخل کانتینر پر می‌کند. این لایه بدون نیاز به تغییر در کد برنامه‌ها یا ایمیج‌ها، حجم کاری را به بودجه‌های تعیین‌شده محدود می‌کند. شرکت‌هایی مانند SNOW و NIO در حال حاضر از HAMi در محیط‌های عملیاتی خود استفاده می‌کنند.

چرا GPUهای شما بیکور هستند اما صورت‌حساب‌تان نه

این لایه مجازی‌سازی بازمتن بر روی شتاب‌دهنده‌های مختلفی عمل می‌کند و طیف وسیعی از سخت‌افزارها را پشتیبانی می‌کند:

  • GPUهای NVIDIA
  • MLUهای Cambricon
  • DCUهای Hygon
  • NPUهای Ascend
  • Moore Threads
  • MetaX

هر تولیدکننده از طریق یک پلاگین دستگاه و بک‌اِند ایزولاسیون خاص به سیستم متصل می‌شود. در سخت‌افزارهای انویدیا، HAMi جایگزین پلاگین استاندارد می‌شود و با رهگیری API درایور CUDA در داخل کانتینر، سقف حافظه را اعمال می‌کند. کاربران همچنان از nvidia.com/gpu استفاده می‌کنند، اما دو منبع گسترش‌یافته به آن اضافه می‌کنند:

  • nvidia.com/gpumem: برای تخصیص دقیق حافظه (مثلاً ۸۰۰۰ مگابایت).
  • nvidia.com/gpucores: برای تخصیص هسته‌های محاسباتی (مثلاً ۳۰ هسته).

چرا GPUهای شما بیکارند اما صورت‌حساب‌تان نه

یک درخواست اشتراکی GPU در HAMi چهار مرحله را طی می‌کند:

۱. پلاگین دستگاه: به صورت DaemonSet در هر گره اجرا شده و هر ۳۰ ثانیه وضعیت دستگاه‌ها را بررسی می‌کند تا تلمتری را از طریق انوتیشن‌های hami.io/node-nvidia-register منتشر کند.

۲. وب‌هوک تغییردهنده (Mutating Webhook): هنگام ایجاد پاد، مانیفست را بررسی می‌کند. اگر کلیدهایی مثل nvidia.com/gpumem را ببیند، نام زمان‌بندی پاد را به hami-scheduler تغییر می‌دهد. در اینجا درخواست یک GPU دیگر به معنای «یک کارت کامل» نیست، بلکه به معنای «یک کارت فیزیکی مشترک» است.

۳. گسترش‌دهنده زمان‌بندی: یک نقشه زنده از مصرف هر GPU می‌سازد. این سیستم گره‌های کم‌ظرفیت را حذف کرده و بر اساس سیاست‌های Binpack یا Spread، بهترین برش را انتخاب و در انوتیشن پاد ثبت می‌کند.

۴. کتابخانه داخلی کانتینر: پلاگین دستگاه متغیرهای محیطی (مانند CUDA_DEVICE_MEMORY_LIMIT_0) و فایل‌های ld.so.preload را به کانتینر تزریق می‌کند. این کتابخانه کنترلی بین برنامه و درایور قرار می‌گیرد و اگر برنامه بخواهد از سقف حافظه عبور کند، خطای torch.OutOfMemoryError صادر می‌کند.

چرا GPUهای شما بیکارند، اما صورت‌حساب‌تان نه

ایزولاسیون در HAMi بیشتر شبیه به یک «حصار» است تا یک «دیوار» سخت.

در مقایسه با MIG (Multi-Instance GPU) که مرزهای سخت‌افزاری ایجاد می‌کند، HAMi یک حصار نرم‌افزاری است. این یعنی در حالی که بودجه‌ها را به‌دقت کنترل می‌کند، نمی‌تواند جلوی شکست‌های سطح دستگاه را بگیرد؛ اگر درایور یک کارت مشترک ری‌ست شود، تمام کاربران آن کارت اثر می‌پذیرند. اما در مقایسه با Time-Slicing (قطعه‌بندی زمانی)، HAMi بسیار پایدارتر است. در Time-Slicing هیچ سقف حافظه‌ای وجود ندارد و یک برنامه می‌تواند تمام حافظه را اشغال کرده و سایرین را کرش کند، اما HAMi درخواست‌های اضافی را رد می‌کند.

جالب است که HAMi و MIG مکمل یکدیگرند. HAMi می‌تواند ابزار nvidia-mig-parted را برای تغییر هندسه MIG متناسب با کارهای ورودی مدیریت کند تا نیاز به تنظیمات دستی nvidia-smi mig از بین برود.

چرا GPUهای شما بیکارند، اما صورت‌حساب‌تان نه

صرفه‌جویی‌های مالی از طریق دو استراتژی زمان‌بندی حاصل می‌شود:

  • Binpack (بسته‌بندی متراکم): برنامه‌ها را در کمترین تعداد ماشین possibly جمع می‌کند. این کار به مقیاس‌دهنده‌های خودکار اجازه می‌دهد گره‌های خالی را سریعاً خاموش کنند و مستقیماً هزینه‌های ابری را کاهش دهند. در این راستا، ترکیب KServe و KEDA راهکاری مؤثر برای رفع گلوگاه‌های مقیاس‌دهی GPU در محیط‌های کوبرنتیزی هستند.
  • Spread (پخش): برنامه‌ها را به‌طور مساوی پخش می‌کند تا تداخل کمتر شود و برای استنتاج‌های حساس به تأخیر مناسب‌تر باشد، اما گره‌ها را همیشه «گرم» نگه می‌دارد و مانع کاهش مقیاس می‌شود.

برای شرکت‌هایی که سخت‌افزار شخصی دارند، اعداد تکان‌دهنده است. در یک ناوگان ۱۰۰۰ پردازشی H100، هر ۱۰ درصد افزایش در بهره‌وری واقعی، به معنای ۲.۵ تا ۳ میلیون دلار سرمایه‌ای است که به‌جای بیکاری، در حال تولید ارزش است.

چرا GPUهای شما بیکارند، اما صورت‌حساب‌تان نه

استقرار HAMi نیازمند جایگزینی پلاگین دستگاه فعلی است. اجرای هم‌زمان HAMi و پلاگین استاندارد انویدیا باعث تداخل در ثبت منابع می‌شود. توصیه می‌شود از برچسب gpu=on برای rollout مرحله‌به‌مرحله در خوشه‌ها استفاده کنید.

گام بعدی شما

  • اگر داشبوردهای بهره‌وری GPU شما در بررسی‌های مالی باعث شرمساری می‌شود، HAMi را روی یک Pool استنتاج آزمایش کنید.
  • استقرارها را از حالت Over-provisioning به برش‌های دقیق gpumem و gpucores تغییر دهید.
  • در صورت نیاز به ایزولاسیون سخت‌افزاری کامل، از حالت nvidia.com/vgpu-mode: "mig" استفاده کنید.

اما داستان سخت‌افزاری این تحول حتی شگفت‌انگیزتر است — به تحلیل ما درباره ترازهای انرژی در مراکز داده مدرن مراجعه کنید.

چرا این موضوع مهم است؟

این ابزار با رفع مشکل underutilization، هزینه‌های عملیاتی AI را به‌شدت کاهش می‌دهد. اعتبار این راهکار با پذیرش در CNCF و استفاده در مقیاس صنعتی توسط شرکت‌هایی چون NIO تأیید شده است.

تأثیر برای ایران

به‌دلیل تحریم‌ها و محدودیت دسترسی به GPUهای H100، این ابزار بیشتر برای تیم‌های DevOps ایرانی که روی خوشه‌های GPUهای قدیمی‌تر یا مدل‌های Open-source در سرورهای خارجی کار می‌کنند، جهت کاهش هزینه‌های کرایه سرور کاربردی است.

·نگاه ما
تحریریه دات‌هوش

جایگزینی ایزولاسیون سخت‌افزاری با حصارهای نرم‌افزاری در HAMi نشان می‌دهد که صنعت در حال حرکت به سمتی است که «بهره‌وری حداکثری» بر «امنیت مطلق سخت‌افزاری» اولویت می‌یابد. این رویکرد به‌ویژه برای Fleetهای استنتاج بزرگ که با ترافیک نوسانی روبه‌رو هستند، مدل اقتصادی رایانش ابری را تغییر می‌دهد. به باور ما، موفقیت HAMi مسیر را برای استاندارد شدن «برش‌های مجازی» در پروتکل‌های مدیریت منابع کوبرنتیز هموار می‌کند.

منابع

این گزارش با خط‌لولهٔ خودکار دات‌هوش از منابع معتبر جهانی تدوین و زیر نظر تحریریه منتشر شده است. روش کار ما

گفتگو

پنج‌شنبه‌های هوش‌محور

بسته‌ی هفتگی دات‌هوش

۵ خبر، ۲ ابزار، ۱ پرامپت در هر شماره. به‌زودی راه‌اندازی می‌شود — هر پنج‌شنبه صبح.

خبر کلیدی
ابزار کاربردی
پرامپت حرفه‌ای
تحلیل پژوهش
به‌زودی
زاویه‌ی ایرانی
به‌زودی
تمرین این هفته
به‌زودی

راهنماهای دات‌هوش

راهنماهای کاربردیِ دات‌هوش برای کار با هوش مصنوعی — از همین‌جا شروع کنید:

دات‌هوش

راهنمای فارسی هوش مصنوعی — با نگاه به ایران

اخبار روزانه، معرفی ابزارها و مدل‌ها، و آموزشِ کار با هوش مصنوعی؛ همیشه با این پرسش که از ایران چه چیزی کار می‌کند و چه چیزی نه.