
شرکت اینتل روز پنجشنبه آخرین دور از بهبودهای برنامهریزیشده برای درایور هستهای Intel Xe را منتشر کرد که هدف آن چرخه پیشروی لینوکس ۷.۴ (Linux 7.4) است. در میان این تغییرات، یک بهبود کلیدی وجود دارد که بهطور مستقیم به سود پردازندههای گرافیکی مجزای اینتل — دستکم نسل Battlemage — تمام میشود.
زمانبندی فوقکمتأخیر (ULLS) روی صف مهاجرت
مهمترین افزوده این دور از توسعه درایور Xe، پیادهسازی اتصالهای پردازنده مرکزی (CPU Binds) و زمانبندی فوقکمتأخیر (ULLS یا Ultra Low Latency Scheduling) روی صف مهاجرت (Migration Queue) است. گرچه این عنوان در نگاه نخست چندان جذاب به نظر نمیرسد، اما دستاورد عملکردی قابلتوجهی به همراه دارد.
متئو بروست (Matthew Brost)، مهندس اینتل، در توضیحات مجموعه وصلهها (Patch Series) اینگونه شرح داده است:
«در تراشه BMG، اندازهگیریها نشان میدهد هنگامی که پردازنده گرافیکی بهطور پیوسته در حال پردازش خطاها (Faults) است، کارهای کپی با ULLS حدود ۳۰ تا ۴۰ میکروثانیه سریعتر از روش سنتی ارسال GuC همراه با SLPC فعال روی صف مهاجرت اجرا میشوند (بسته به سناریوی آزمون). راهاندازی از حالت سرد پردازنده گرافیکی، سرعتبخشی حتی بزرگتری را نشان میدهد. با توجه به اهمیت حیاتی عملکرد در مواجهه با خطاها، ULLS قابلیتی ارزشمند به نظر میرسد.»
دستاوردهای عملکردی و ملاحظات مصرف انرژی
علاوه بر دادههای تلهمتری درایور، محکهای محاسباتی (Benchmarks) درایورهای حالت کاربر (UMD) نیز بهطور پیوسته بهبود چند گیگابایتبرثانیهای را در آزمونهای خطای صفحه (Pagefault) با فعال بودن ULLS نشان میدهند.
با این حال، ULLS به دلیل اجرای پیوسته یک دستهکار روی موتور صفحهبندی (Paging Engine)، انرژی بیشتری مصرف میکند؛ هرچند این میزان هنوز اندازهگیری نشده است. اینتل برای کاهش این نگرانی، سازوکاری در نظر گرفته که در آن ULLS پس از دورهای بدون پردازش خطا، بهطور خودکار خارج میشود. به گفته این شرکت، از آنجا که درایورهای محاسباتی UMD از پیش چنین رفتاری را روی موتورهای در دسترس کاربران انجام میدهند، این مبادله منطقی به نظر میرسد.
چرا اتصالهای پردازنده مرکزی ضروری است؟
اتصالهای پردازنده مرکزی (CPU Binds) برای کارکرد ULLS الزامی هستند، زیرا صف مهاجرت به دسترسی انحصاری به موتور سختافزاری صفحهبندی نیاز دارد. اما فراتر از این الزام، مزایای دیگری نیز به همراه دارند:
- کاهش تأخیر اتصال ماشین مجازی (VM-bind Latency)
- ارائه لایهبندی شفافتر برای چندتراشهای (Multi-tile) و بیاعتبارسازی بافر ترجمه آدرس (TLB Invalidation)
- کاهش فشار روی کنترلکننده GuC در هنگام طوفان خطاها، چرا که این مسیر دور زده میشود
- جدا کردن اتصالهای هسته از کارهای نامرتبط کپی و پاکسازی، بهویژه هنگام سرویسدهی موازی به خطاها
در یک سناریوی آزمون با خطاهای موازی، میانگین زمان اتصال حدود ۱۵ میکروثانیه کاهش یافته است. در بدترین حالت، زمان کپی ۲ مگابایت (حدود ۶۰ تا ۱۴۰ میکروثانیه) ضرب در تعداد رشتههای خطای صفحه منهای یک، به تأخیر یک خطای واحد افزوده میشد که با این تغییر، توان عملیاتی کلی مدیریتکننده خطا افزایش مییابد.
سایر تغییرات و زمانبندی انتشار
این درخواست ادغام (Pull Request) جدید درایور Xe همچنین شامل اصلاحی برای ULLS در تراشه Crescent Island و شناسه دستگاه جدیدی برای Panther Lake با کد 0xB0A1 است.
این درخواست ادغام در مسیر DRM-Next قرار دارد تا پیش از پنجره ادغام لینوکس ۷.۴ در اواخر ماه اکتبر در صف قرار گیرد. نسخه پایدار لینوکس ۷.۴ نیز بهنوبه خود حدود اواخر ماه دسامبر منتشر خواهد شد.