DPU یا Data Processing Unit چیست؟

یکی از اصطلاحات جدید دنیای فناوری اطلاعات DPU یا Data Processing Unit است که در این مطلب تلاش می‌کنیم توضیحاتی در این باره ارائه کنیم و همچنین به این موضوع بپردازیم که DPU چه تفاوتی با CPU یا GPU دارد.

متخصص انتقال داده در مراکز داده، DPU یا واحدهای پردازش داده، کلاس جدیدی از پردازنده های قابل برنامه ریزی هستند و به عنوان یکی از سه رکن محاسبات به پردازنده ها (CPU) و پردازنده های گرافیکی(GPU) می‌پیوندند.

البته، شما احتمالاً از قبل با واحد پردازش مرکزی آشنا هستید. CPU عنصری انعطاف پذیر و پاسخگو، برای سالهای متمادی تنها عنصر قابل برنامه ریزی در اکثر رایانه ها بوده است.

اخیراً GPU یا واحد پردازش گرافیک نیز نقشی اساسی در فناوری اطلاعات دنیا ایفا کرده است. GPU در اصل برای ارائه گرافیک قدرتمند و در زمان واقعی real-time استفاده می شد، قابلیت پردازش موازی آنها را برای کارهای محاسباتی سریع از هر نوعی ایده آل می سازد. به لطف این قابلیت‌ها، GPU ها برای هوش مصنوعی، یادگیری عمیق و کاربردهای تجزیه و تحلیل داده های بزرگ ضروری هستند.

با این وجود، در دهه گذشته، محاسبات از محدوده رایانه های شخصی و سرورها خارج شده است و با پردازنده‌ها (CPU) و پردازنده‌های گرافیکی (GPU) عملیات پردازش در مراکز داده فوق گسترده و فوق مقیاس را تأمین می‌کنند.

این مراکز داده اکنون با دسته جدید و قدرتمندی از پردازنده ها گره خورده‌اند. DPU به عضو سوم مدل محاسبات پر شتاب تبدیل شده است.

مدیر عامل NVIDIA، جنسن هوانگ می گوید: DPU قرار است یکی از سه رکن اصلی محاسبات را تشکیل دهد. پردازنده مرکزی یا CPU برای محاسبات عمومی ایده آل است، GPU مربوط مناسب محاسبات سریع است و DPU که داده ها را در مرکز داده جابجا می‌کند، پردازش داده‌ها را انجام می‌دهد.

DPU چیست؟

سیستمی روی یک تراشه که ترکیبی ست از:

  • پردازنده چند هسته ای استاندارد، با کارایی بالا ، قابل برنامه ریزی و با استاندارد صنعتی
  • رابط شبکه با کارایی بالا
  • موتورهای شتاب دهنده انعطاف پذیر و قابل برنامه ریزی

CPU vs GPU vs DPU: چه چیزی DPU را متفاوت می‌کند؟

DPU کلاس جدیدی از پردازنده‌های قابل برنامه ریزی است که سه عنصر اصلی را با هم ترکیب می‌کند. DPU سیستمی است بر روی تراشه یا SoC که ترکیبی ست از:

  • یک پردازنده مرکزی چند هسته ای با قابلیت کارایی بالا، قابل برنامه ریزی و قابل استفاده در صنعت، و معمولاً مبتنی بر معماری widely used Arm که با سایر اجزای SoC کاملاً سازگار است.
  • یک رابط شبکه با کارایی بالا که قادر به تجزیه، پردازش و انتقال کارآمد داده ها با سرعت بالا
  • مجموعه ای غنی از موتورهای شتاب دهنده انعطاف پذیر و قابل برنامه ریزی که باعث تخلیه بار و بهبود عملکرد برنامه ها برای هوش مصنوعی و یادگیری ماشین، امنیت، ارتباطات از راه دور و ذخیره سازی می‌شوند.

تمام این قابلیت های DPU برای فعال کردن یک سیستم محاسباتی ایزوله، bare-metal و بومی ابر cloud-native که نسل بعدی محاسبات در مقیاس ابری را تعریف می‌کند ، بسیار مهم است.

DPU های گنجانیده شده در SmartNIC

از DPU می توان به عنوان یک پردازنده تعبیه شده مستقل (stand-alone) نیز استفاده کرد. اما بیشتر اوقات PDU در SmartNIC گنجانده می شود، یک کنترل کننده رابط شبکه که به عنوان یک جز مهم در یک سرور next-generation استفاده می شود.

دستگاه‌های دیگری که ادعا می کنند DPU هستند، ممکن است عناصر قابل توجهی از این سه قابلیت حیاتی را نداشته باشند.

DPU Card

به عنوان مثال، برخی از فروشندگان از پردازنده‌های اختصاصی استفاده می کنند که از زیرساخت های توسعه و کاربردی غنی اکوسیستم CPU Arm بهره مند نیستند.

همچنین تولید کنندگان دیگری ممکن است ادعا کنند که DPU دارند اما این اشتباه را می کنند که فقط برای پردازش مسیر داده ها روی پردازنده مستقر تمرکز می کنند.

نمونه هایی از DPU ها

برخی از نمونه های محبوب DPU ها عبارتند از:

  • NVIDIA BlueField: BlueField یک سری DPU از NVIDIA است که برای طیف گسترده ای از موارد استفاده، از جمله شبکه، ذخیره سازی و امنیت طراحی شده است.
  • Intel SmartNIC: SmartNIC یک سری DPU از Intel است که برای تسریع وظایف شبکه و ذخیره سازی طراحی شده است.
  • Marvell LiquidIO: LiquidIO یک سری DPU از Marvell است که برای تسریع بارهای کاری شبکه های عصبی طراحی شده است.

تمرکز بر پردازش داده ها

این روش رقابتی نیست و مقیاس بندی ندارد، زیرا تلاش برای شکست دادن CPU x86 سنتی یک جنگ شکست خورده است. اگر پردازش بسته 100 گیگابیت بر ثانیه x86 را به زانو در می آورد، چرا embedded CPU عملکرد بهتری داشته باشند؟

در عوض، رابط شبکه باید به اندازه کافی قدرتمند و انعطاف پذیر باشد تا بتواند تمام پردازش های مسیر داده های شبکه را مدیریت کند. پردازنده تعبیه شده باید برای شروع مسیر کنترل و پردازش استثنائات استفاده شود، نه چیزی بیشتر.

حداقل 10 قابلیت وجود دارد که موتورهای شتاب دهنده مسیر داده شبکه (network data path) قادر به ارائه آنها هستند:

  • تجزیه، تطبیق و دستکاری بسته های داده برای اجرای سوئیچ مجازی باز (OVS)
  • شتاب انتقال داده RDMA برای Zero Touch RoCE
  • GPUD شتاب دهنده های مستقیم برای دور زدن پردازنده و تغذیه داده های شبکه به طور مستقیم به GPU ها (هم از طریق ذخیره سازی و هم از GPU های دیگر)
  • شتاب دهی TCP شامل RSS ، LRO و غیره
  • مجازی سازی شبکه برای پوشش های VXLAN و Geneve و بارگیری VTEP
  • شتاب دهنده “paket pacing” برای ایجاد ترافیک برای فعال کردن جریان چندرسانه ای، شبکه های توزیع محتوا و فیلم جدید 4K/8K از طریق IP (RiverMax برای ST 2110)
  • شتاب دهنده های زمان بندی دقیق برای ارتباط cloud RAN مانند 5T برای قابلیت های 5G
  • شتاب Crypto برای IPSEC و TLS بصورت خطی انجام می شود، و همچنین همه شتاب دهنده های دیگر نیز عملیاتی هستند.
  • پشتیبانی از مجازی سازی برای SR-IOV ، VirtIO و para-virtualization
  • جداسازی امن: ریشه اعتماد، بوت امن، به روزرسانی سیستم عامل امن و containers معتبر و مدیریت چرخه عمر برنامه

اینها فقط 10 مورد از قابلیتهای acceleration و سخت افزار است که برای پاسخ  سوال “DPU چیست؟” بسیار مهم هستند.

بنابراین DPU چیست؟ این DPU است:

DPU چیست

4.9/5

نظر درباره این مطلب

  1. سامان گفت:

    از DPU در کامپیوتر شخصی هم میشه استفاده کرد؟

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *