پردازندههای Arm Neoverse V2
CXL سرنام Compute Express Link یک استاندارد باز صنعتی با هدف تسریع در روند انجام محاسبات است. با توجه به اینکه شتابدهندههای بیشتر و بیشتر نقش مهمی در کمک به پردازندهها در پشتیبانی از برنامههای جدید مثل هوش مصنوعی و یادگیری ماشین دارند، شرکتها به دنبال آن هستند بر مبنای نوآوریهای خاصی، شتابدهندههای قدرتمندی را طراحی کرده و روانه بازار کنند. به طور سنتی، هر نسل جدید از CXL نسبت به نسلهای قبلی، ویژگیهای سختافزاری جدیدی را ارائه میدهد تا ارتباط میان مولفههای سختافزاری به شکل کارآمدی انجام شوند و فرآیند اشتراکگذاری منابع نیز دقیقتر شود. به طور مثال، CXL 3.0 یکسری ویژگیهای جدید در اختیار ما قرار داده است که از آن جمله باید به قابلیتهای ساختاری بهتر، زیرساخت تجزیهپذیر ترکیبی، مقیاسپذیری بهتر و استفاده بهینه از منابع، مخزن حافظه بهبود یافته، سوئیچینگ چند سطحی، قابلیتهای نرمافزاری بهبود یافته، دو برابر شدن پهنای باند به 64GTs، تاخیر صفر نسبت به CXL 2.0 و سازگاری کامل با CXL 2.0، CXL 1.1 و CXL 1.0 اشاره کرد.
رونمایی مارول از Structera CXL
شرکت مارول از خانوادهی جدیدی از محصولات خود تحت عنوان Structera CXL رونمایی کرده که شامل دو بخش اصلی میشود. اولین بخش، دستگاههایی هستند که با هدف افزایش حافظه طراحی شدهاند. این دستگاهها از فناوری CXL استفاده میکنند و قابلیتهای جالب توجهی دارند. بخش دوم چیپهای قدرتمندی هستند که تا ۱۶ هسته پردازشی قوی Arm Neoverse V2 را در خود جای دادهاند. این چیپها نزدیک به حافظه قرار میگیرند و سرعت انجام محاسبات را به شکل قابل توجهی افزایش میدهند.
خانوادهی Marvell Structera CXL
همانگونه که اشاره کردیم، این خانواده دو عضو اصلی دارد.
Structera A: احتمالا برای افزایش سرعت پردازش استفاده میشود.
Structera X: برای افزایش حافظه سیستم طراحی میشود.
این محصولات از نسل جدید فناوریهای ارتباطی CXL 2.0 و PCIe Gen5 استفاده میکنند، با استفاده از فناوری ۵ نانومتری شرکت TSMC تولید شدهاند و برای سرورهای امروزی طراحی شدهاند. بنابراین، ارزش این را دارند تا به شکل دقیقتری، آنها را مورد بررسی قرار دهیم.
مارول Structera A 2504: شتابدهندهی حافظهی CXL DDR5 با پردازندههای Arm
بیایید با جالبترین محصول کار را آغاز کنیم. مارول Structera A 2504 در اصل یک دستگاه توسعهی حافظهی CXL 2.0 است، اما با یک تفاوت بزرگ. اول اینکه، این محصول میتواند از چهار کانال حافظه پشتیبانی کند، نه فقط دو کانال. دوم اینکه، دارای ۱۶ هستهی پردازندهی Arm Neoverse V2 است. این همان هستههایی هستند که در پردازندهی گرافیکی NVIDIA Grace استفاده میشود، بنابراین این هستهها عملکرد بالایی دارند، اما کممصرف نیستند.
مارول همچنین از فشردهسازی و از حالت فشرده خارج کردن LZ4 برای به حداکثر رساندن ظرفیت حافظه استفاده میکند که فرآیند ساخت حافظههای DDR5-6400 را بدون مشکل امکانپذیر میکند.
شاید برای خیلیها این سوال پیش بیاد که چرا باید هستههای پردازندهی Arm را روی یک کارت توسعهی حافظه گذاشت. دلیل اصلی این است که افزایش تعداد هستههای پردازنده باعث کاهش پهنای باند حافظه برای هر هسته میشود. از طرف دیگر، تنها افزایش ظرفیت حافظه، قدرت پردازش را افزایش نمیدهد. به همین دلیل در برخی از کاربردها نیاز است که هم تعداد هسته و هم ظرفیت حافظه افزایش پیدا کرده باشد.
برای درک بهتر موضوع اجازه دهید به ذکر مثالی در ارتباط با یک سرور مدل توصیهگر یادگیری عمیق (DLRM) سرنام deep learning recommendation model بپردازیم. در اینجا، میتوانیم پردازندهی مرکزی میزبان با ۶۴ هسته، یک راهحل حافظه ۸ کاناله و یک واحد پردازنده XPU برای شتابدهی به روند انجام محاسبات هوش مصنوعی را مشاهده کنیم. DLRM هنوز به فضای بسیار بزرگی نیاز دارد که باید راهکاری برای حل این مسئله پیدا کرد.
این کار را میتوان با اضافه کردن یک شتابدهنده و افزایش تعداد هستهها به ۲۵ درصد و پهنای باند حافظه به میزان ۵۰ درصد انجام داده که روند انجام محاسبات را به شکل قابل توجهی افزایش میدهد.
اضافه کردن دو عدد شتابدهنده باعث افزایش ظرفیت حافظه و دو برابر شدن پهنای باند حافظه میشود، در حالی که تعداد هستهها هم ۵۰ درصد بیشتر میشود (۳۲ هسته روی کارتها به علاوهی ۶۴ هسته روی پردازنده).
مزیت بزرگ این روش این است که سرور میتواند تعداد هستهها و پهنای باند حافظه را با اضافه کردن کنترلکنندههای CXL بیشتر افزایش دهد. لازم به ذکر است که مارول، تراشههایی برای تولیدکنندگان بزرگ طراحی میکند. مثال بالا به اندازهای خاص است که به نظر نمیرسد مارول این محصول را برای فروش مستقیم طراحی کرده باشد و امیدوار باشد که روزی کسی آن را در یک سرور HPE ProLiant پیکربندی کند. با این حال، همه سرورها و برنامههای کاربردی نمیخواهند هستهها را به این شکل افزایش دهند. برای این منظور، مارول توسعهدهندههای حافظه CXL جدیدی را ارائه کرده است.
توسعهدهندهی حافظهی DDR4 چهارکاناله CXL 2.0 مارول Structera X 2404
این محصول یکی از چالشهای بزرگ صنعت را حل میکند. Structera X 2404 یک دستگاه توسعهی حافظهی DDR4 چهارکاناله است. علاوه بر این، میتوان تا سه دستگاه DDR4 را در هر کانال نصب کرد. این حرف بدان معنا است که یک کنترلکننده میتواند تا ۱۲ ماژول حافظه را مدیریت کند.
در شکل زیر، نمودار بلوکی برای توسعهدهنده حافظه را مشاهده میکنید.
بدیهی است که کاربرد اصلی این فناوری، بازیافت حافظههای DDR4 است. اگر شما یک ابرشرکت با تعداد زیادی سرور مبتنی بر DDR4 هستید که همچنان در حال فعالیت هستند، یک مدل بسیار منطقی این است که حافظههای DDR4 را از سرورهای از رده خارج شده جدا کرده و در کیجهایی با استفاده از Structera X 2404 قرار دهید.DRAM هزینه بسیار بالایی در رکهای ابرشرکتها دارد و این فرصتی مناسب برای کاهش هزینهها از طریق بازیافت است. این موضوع به ویژه با استفاده از فشردهسازی و از حالت فشرده خارج کردن LZ4 اهمیت پیدا میکند.
بسته به اینکه با چه کسی در صنعت صحبت کنید، توسعهدهندههای حافظه DDR5 نوع CXL برای کاربردهای با راندمان بالا، مورد استفاده قرار میگیرند. مارول همچنین یک نمونه از این نوع توسعهدهنده را ارائه کرده است.
مارول Structera X 2504: توسعهدهنده حافظه DDR5 چهارکاناله CXL 2.0
این دستگاه از بسیاری جهات شبیه به 2404 است، با این تفاوت که از DDR5 استفاده میکند. پشتیبانی از حافظه DDR5-6400 در حالت چهارکاناله با دو ماژول در هر کانال، عملکرد بالایی را به این قطعه میدهد.
نمودار زیر معماری محصول فوق را نشان میدهد.
بخش توسعه حافظه بسیار جالب است. بسته به نوع پردازنده و نحوه ادغام توسعه حافظه CXL، ممکن است به ظرفیتها و پروفایلهای عملکردی متفاوتی برای حافظه خود نیاز داشته باشید. حتی انواع مختلف پردازندههای اینتل Xeon 6 از مکانیزمهای مختلف حافظه CXL پشتیبانی میکنند.
در حالی که نسخه DDR4 بیشتر متمرکز بر استفاده مجدد از یک منبع حافظه ارزان قیمت است، نسخه DDR5 میتواند بیشتر بر روی عملکرد تمرکز کند.