اگر هزاران درخواست به APIهای هوش مصنوعی میفرستید، احتمالاً متوجه شدهاید که سرورهای شما بیشتر از آنکه پردازش کنند، در حالت انتظار میمانند. طبق اعلام توسعهدهندگان Solid Queue در ۱ اوت ۲۰۲۶، این مشکل با معرفی حالت اجرای فایبر (Fiber) حل شده است.
در برنامههای مبتنی بر روبی، کارهای پسزمینه معمولاً از «استخر رشتهها» (Thread Pools) استفاده میکنند؛ شبیه به داشتن چند میزکار محدود که اگر کارمندی منتظر تلفن بماند، میزش اشغال است و هیچکس دیگری نمیتواند از آن استفاده کند. این ساختار در مواجهه با استنتاج (Inference) — یعنی همان لحظهای که مدل واقعاً جواب تولید میکند و شبیه آشپزی کردن است، نه یادگیری دستور پخت — باعث ایجاد گلوگاه میشود چون رشتهها در تمام مدتِ رفتوبرگشتِ شبکه، مسدود میمانند.
همانطور که در تحلیلهای قبلی ما دربارهی بهینهسازی زیرساختهای مدلهای بازمتن اشاره کردیم، مدیریت بهینه حافظه در مقیاس بالا کلید موفقیت است. به نقل از یادداشتهای انتشار در گیتهاب، سیستم جدید از کتابخانه Async برای مدیریت همزمانی استفاده میکند.
برای پیادهسازی این قابلیت، توسعهدهندگان باید سطح ایزولاسیون خود را در Rails روی :fiber تنظیم کنند و در پیکربندی Worker، بهجای threads از fibers (مثلاً ۱۰۰ عدد) استفاده نمایند.
مشخصات فنی:
- وابستگی: نیازمند نصب کتابخانه
asyncاست. - تنظیمات Rails: مقدار
config.active_support.isolation_level = :fiberاجباری است. - نمونه پیکربندی: تنظیم
fibers: 100وpolling_interval: 0.05امکان دسترسی به تراکم بالای همزمانی را فراهم میکند.
این تغییر، پارادایم اجرایی را از رشتههای سنگین سیستمعامل به فایبرهای سبک منتقل میکند. برای مهندسان، این یعنی کاهش چشمگیر سربار حافظه هنگام مدیریت صدها فراخوانی همزمان مدلهای زبانی بزرگ، چرا که سیستم دیگر نیازی ندارد برای هر درخواستِ معلق، یک رشته کامل ایجاد کند.
توسعهدهندگان باید اکنون حجم کارهای خود را بررسی کنند تا صفهایی که فشار I/O بالایی دارند و از این مدل رآکتور سود میبرند را شناسایی کنند.
گام بعدی شما
- صفهای I/O-heavy را در اپلیکیشن خود شناسایی و به حالت فایبر منتقل کنید.
- تمام حالتهای مشترک (Shared State) در جابها را بررسی کنید تا از امنیت فایبر (Fiber-safe) بودن آنها برای جلوگیری از Race Condition مطمئن شوید.
- نرخ مصرف حافظه (RAM) را پس از تغییر پیکربندی مانیتور کنید.
اما اثر این تغییر بر توان عملیاتی کلی سیستم در مقیاسهای میلیونی حتی خیرهکنندهتر است؛ در گزارش بعدی، بررسی میکنیم که چگونه معماریهای رویداد-محور جایگزین صفهای سنتی میشوند.




گفتگو