به نظر میآید کارتهای گرافیک دیگر برای اجرای بازیها و مدلهای هوش مصنوعی نیست و حالا یک پروژه جدید در دنیای لینوکس قصد دارد وظایف سنگین پردازش شبکه را نیز مستقیماً به GPUها منتقل کند. این پروژه که KNOD نام دارد، با رویکردی متفاوت توسعه یافته و قرار است تمام پردازشها را در سطح کرنل لینوکس انجام دهد.
KNOD مخفف In-Kernel Network Offload Device است و ایده اصلی آن ساده اما جذاب است: زمانی که یک GPU میتواند برخی وظایف پردازشی موازی را بسیار سریعتر از CPU انجام دهد، چرا پردازش بستههای شبکه همچنان بر عهده CPU باقی بماند؟
در این معماری، کارت شبکه میتواند بستههای دریافتی را مستقیماً به حافظه GPU منتقل کند. سپس پردازنده گرافیکی برنامههای مربوط به پردازش بستهها را بهصورت همزمان روی تعداد زیادی Packet اجرا خواهد کرد.

بر اساس طراحی فعلی KNOD، خود کرنل لینوکس مدیریت صفهای پردازشی GPU را بر عهده میگیرد، برنامهها را با استفاده از کامپایلر JIT به کد ماشین مناسب GPU تبدیل میکند و اجرای آنها را آغاز خواهد کرد.
بر اساس گزارش Igorslab یکی از جذابترین بخشهای KNOD امکان هماهنگی آن با فناوریهای فعلی شبکه در لینوکس است. این پروژه میتواند برنامههای XDP را به GPU منتقل کند. XDP یا eXpress Data Path یکی از بخشهای مهم پشته شبکه لینوکس برای پردازش بسیار سریع بستههاست.
علاوه بر این، طبق معماری پیشنهادی KNOD، ارتباطات امنیتی IPsec Security Association نیز میتوانند برای پردازش به GPU منتقل شوند. مزیت اصلی این کار استفاده از توان پردازشی موازی گسترده کارتهای گرافیک مدرن است. در حالی که هستههای CPU ممکن است هنگام پردازش پیچیده تعداد زیادی بسته شبکه به گلوگاه تبدیل شوند، GPUها هزاران واحد پردازشی موازی در اختیار دارند.
تمرکز پروژه KNOD روی کارتهای گرافیک AMD
کدهای فعلی KNOD روی سختافزارهای AMD با معماریهای GCN و RDNA2 توسعه داده و آزمایش شدهاند. یکی از دلایل انتخاب GPUهای AMD، وجود درایور گرافیکی متنباز این شرکت در کرنل اصلی لینوکس است که توسعه چنین پروژههایی را سادهتر میکند.
با این حال، KNOD هنوز یک قابلیت رسمی و آماده استفاده در لینوکس محسوب نمیشود. توسعهدهندگان این پروژه، Patchهای مربوطه را در قالب یک Request for Comments (RFC) در فهرست ایمیل توسعهدهندگان کرنل لینوکس منتشر کردهاند.
این مرحله تنها آغاز بحث عمومی درباره معماری، امنیت، نگهداری کد و امکان اضافه شدن این فناوری به کرنل اصلی لینوکس است. در حال حاضر هیچ توزیع مشخصی از لینوکس برای اضافه شدن KNOD تعیین نشده و مشخص نیست این پروژه چه زمانی یا آیا اصلاً به بخشی از Mainline Kernel تبدیل خواهد شد.













نظر خود را اضافه کنید.
برای ارسال نظر وارد شوید
ارسال نظر بدون عضویت در سایت