سرعت دو برابر شده و پارچه های انعطاف پذیر


در حالی که هنوز از نظر فنی هنوز یک کودک جدید در بلوک است، استاندارد Compute Express Link (CXL) برای اتصال میزبان به دستگاه به سرعت در بازار سرور جا افتاده است. طراحی شده برای ارائه مجموعه ای غنی از ویژگی های I/O که بر اساس استانداردهای موجود PCI-Express ساخته شده است – به ویژه انسجام حافظه پنهان بین دستگاه ها – CXL برای استفاده در همه چیز از اتصال بهتر CPU ها به شتاب دهنده ها در سرورها و توانایی DRAM و فضای ذخیره‌سازی غیرفرار را روی چیزی که از نظر فیزیکی هنوز یک رابط PCIe است وصل کنید. این یک نقشه راه بلندپروازانه و در عین حال با حمایت گسترده است که در سه سال کوتاه CXL را به استاندارد اتصال دستگاه های پیشرفته بالفعل تبدیل کرده است، که منجر به رقبای استانداردهای Gen-Z، CCIX، و از دیروز، OpenCAPI شده است که همگی از رقابت کنار می روند.

و در حالی که کنسرسیوم CXL در این هفته پس از پیروزی در جنگ‌های اتصال، یک دور پیروزی سریع را طی می‌کند، کار بسیار بیشتری باید توسط کنسرسیوم و اعضای آن انجام شود. در ،مت جلوی محصول، اولین پردازنده‌های x86 با CXL به سختی ارسال می‌شوند – تا حد زیادی بسته به وضعیتی که می‌خواهید آن را وضعیت برزخی که تراشه‌های Sapphire Ridge اینتل در آن قرار دارند نام ببرید – و در بخش عملکرد، فروشندگان دستگاه‌ها پهنای باند بیشتر و ویژگی‌های بیشتری را درخواست می‌کنند. نسبت به نسخه های 1.x اصلی CXL. پیروزی در جنگ‌های اتصال CXL را به پادشاه اتصالات تبدیل می‌کند، اما در این فرآیند، به این م،ی است که CXL باید بتواند برخی از موارد استفاده پیچیده‌تر را که استانداردهای رقیب برای آن طراحی شده‌اند، برطرف کند.

به همین منظور، در نشست Flash Memory 2022 این هفته، کنسرسیوم CXL در نمایشگاه است تا نسخه کامل بعدی استاندارد CXL، CXL 3.0 را معرفی کند. با پیگیری استاندارد 2.0، که در انتهای سال 2020 منتشر شد و ویژگی هایی مانند جمع ، حافظه و سوئیچ های CXL را معرفی کرد، CXL 3.0 بر بهبودهای عمده در چند حوزه حیاتی برای اتصال متمرکز است. اولین مورد، جنبه فیزیکی است، جایی که CXL توان عبوری خود را در هر خط به 64 GT/ث،ه دو برابر می کند. در همین حال، از جنبه منطقی، CXL 3.0 قابلیت‌های منطقی استاندارد را تا حد زیادی گسترش می‌دهد و توپولوژی‌ها و بافت‌های پیچیده‌ای را برای اتصال و همچنین اشتراک‌گذاری حافظه و حالت‌های دسترسی به حافظه انعطاف‌پذیرتر در گروهی از دستگاه‌های CXL امکان‌پذیر می‌سازد.

CXL 3.0: ساخته شده بر روی PCI-Express 6.0

با شروع جنبه‌های فیزیکی CXL، نسخه جدید استاندارد به‌روزرس، مورد انتظار را برای ،یب PCIe 6.0 ارائه می‌کند. هر دو نسخه قبلی CXL، ی،ی 1.x و 2.0، بر روی PCIe 5.0 ساخته شده بودند، بنابراین این اولین بار از زمان معرفی CXL در سال 2019 است که لایه فیزیکی آن به روز می شود.

PCIe 6.0 که خود به‌روزرس، بزرگی برای عملکرد داخلی استاندارد PCI-Express است، باز هم پهنای باند موجود در گذرگاه را دو برابر کرد و به 64 GT/ث،ه رساند که برای یک کارت x16 به 128 گیگابایت در ث،ه می‌رسد. این کار با انتقال PCIe از سیگنال‌دهی باینری (NRZ) به سیگنال‌دهی چهار حالته (PAM4) و ،یب یک رابط بسته ثابت (FLIT) انجام شد که به آن اجازه می‌دهد تا سرعت خود را بدون اشکالاتی که در فرکانس‌های بالاتر کار می‌کند دو برابر کند. از آنجایی که CXL به ،ه خود بر روی PCIe ساخته شده است، این بدان م،است که استاندارد باید به روز شود تا تغییرات عملیاتی PCIe را در نظر بگیرد.

نتیجه نهایی برای CXL 3.0 این است که پیشرفت‌های پهنای باند کامل PCIe 6.0 را به ارث می‌برد – همراه با همه چیزهای سرگرم‌کننده مانند تصحیح خطای جلو (FEC) – که پهنای باند کل CXL را در مقایسه با CXL 2.0 دو برابر می‌کند.

قابل ذکر است، طبق کنسرسیوم CXL، آنها توانسته اند همه اینها را بدون افزایش تاخیر انجام دهند. این یکی از چالش‌هایی بود که PCI-SIG در طراحی PCIe 6.0 با آن مواجه بود، زیرا تصحیح خطای لازم باعث تأخیر فرآیند می‌شد و در نتیجه PCI-SIG از فرم FEC با تأخیر پایین استفاده می‌کرد. با این حال، CXL 3.0 در تلاش برای کاهش تأخیر یک قدم جلوتر می‌رود و در نتیجه 3.0 همان تأخیر CXL 1.x/2.0 را دارد.

کنسرسیوم CXL علاوه بر به‌روزرس، پایه PCIe .60، اندازه FLIT خود را نیز تغییر داده است. در حالی که CXL 1.x/2.0 از یک بسته نسبتاً کوچک 68 بایتی استفاده می کرد، CXL 3.0 این مقدار را تا 256 بایت افزایش می دهد. اندازه بسیار بزرگتر FLIT یکی از تغییرات کلیدی ارتباطات با CXL 3.0 است، زیرا بیت های بیشتری را در هدر FLIT به استاندارد می دهد، که به ،ه خود برای فعال ، توپولوژی ها و پارچه های پیچیده ای که استاندارد 3.0 معرفی می کند مورد نیاز است. اگرچه به ،وان یک ویژگی اضافه شده، CXL 3.0 همچنین یک حالت FLIT «نوعی» با تأخیر کم را ارائه می‌کند که CRC را به 128 بایت «انتقال دانه‌ای زیر FLIT» ت،یم می‌کند، که برای کاهش هزینه‌های ذخیره و ارسال در لایه فیزیکی طراحی شده است. .

قابل ذکر است که اندازه FLIT 256 بایتی CXL 3.0 را با PCIe 6.0 سازگار نگه می دارد که خود از یک FLIT 256 بایتی استفاده می کند. و مانند لایه فیزیکی زیرین خود، CXL از استفاده از FLIT بزرگ نه تنها در نرخ انتقال جدید 64 GT/sec، بلکه از 32، 16، و 8 GT/sec پشتیب، می‌کند، که اساساً به ویژگی‌های پروتکل جدید اجازه می‌دهد تا با نرخ انتقال آهسته‌تر استفاده شوند. .

در نهایت، CXL 3.0 به طور کامل با نسخه های قبلی CXL سازگار است. بنابراین، دستگاه‌ها و میزبان‌ها می‌توانند در صورت نیاز، برای مطابقت با بقیه زنجیره سخت‌افزار، رده‌بندی را کاهش دهند، اگرچه ویژگی‌ها و سرعت‌های جدیدتر را در این فرآیند از دست بدهند.

ویژگی های CXL 3.0: هماهنگی پیشرفته، اشتراک گذاری حافظه، توپولوژی های چند سطحی و پارچه ها

علاوه بر بهبود بیشتر در پهنای باند کلی I/O، تغییرات پروتکل فوق الذکر برای CXL نیز در خدمت فعال ، ویژگی های جدید در استاندارد پیاده سازی شده است. CXL 1.x به ،وان یک استاندارد (نسبتا) ساده میزبان به دستگاه متولد شد، اما اکنون که CXL پروتکل غالب اتصال بین دستگاه‌ها برای سرورها است، باید قابلیت‌های خود را هم برای سازگاری با دستگاه‌های پیشرفته‌تر و هم در نهایت برای تطبیق با دستگاه‌های بیشتر گسترش دهد. موارد استفاده

با شروع همه چیز در سطح ویژگی، بزرگترین خبر در اینجا این است که استاندارد پروتکل انسجام حافظه پنهان را برای دستگاه های دارای حافظه (Type-2 و Type-3، به اصطلاح CXL) به روز کرده است. هماهنگی پیشرفته، همانطور که CXL آن را نامیده است، به دستگاه‌ها اجازه می‌دهد تا داده‌هایی را که توسط میزبان ذخیره می‌شوند، باطل کنند. این جایگزین رویکرد انسجام مبتنی بر تعصب مورد استفاده در نسخه‌های قبلی CXL می‌شود، که برای مختصر نگه داشتن موارد، انسجام را نه چندان با اشتراک گذاری کنترل فضای حافظه، بلکه با قرار دادن میزبان یا دستگاه مسئول کنترل دسترسی. در مقابل، باطل ، برگشتی به یک رویکرد مش،/متقارن واقعی نزدیک‌تر است، و به دستگاه‌های CXL اجازه می‌دهد وقتی دستگاه تغییری ایجاد کرد، میزبان را مطلع کنند.

گنجاندن نامعتبر برگشتی همچنین دری را برای اتصال همتا به همتای جدید بین دستگاه ها باز می کند. در CXL 3.0، دستگاه‌ها اکنون می‌توانند مستقیماً به حافظه یکدیگر دسترسی داشته باشند، بدون اینکه نیازی به عبور از یک میزبان باشند، با استفاده از م،ای انسجام بهبود یافته برای اطلاع یکدیگر از وضعیت خود. پرش از میزبان نه تنها از منظر تأخیر سریع‌تر است، بلکه در راه‌اندازی شامل سوئیچ، به این م،ی است که دستگاه‌ها پهنای باند گرانبهای میزبان به سوئیچ را با درخواست‌های خود مصرف نمی‌کنند. و در حالی که کمی بعد وارد توپولوژی ها خواهیم شد، این تغییرات دست در دست توپولوژی های بزرگتر است و به دستگاه ها اجازه می دهد تا در سلسله مراتب مجازی سازماندهی شوند، جایی که همه دستگاه های یک سلسله مراتب دارای یک دامنه انسجام هستند.

CXL 3.0 همراه با بهینه سازی عملکرد حافظه نهان، برخی به روز رس، های مهم را برای اشتراک گذاری حافظه بین هاست و دستگاه ها معرفی می کند. در حالی که CXL 2.0 حافظه ارائه می کرد ادغام، جایی که چندین میزبان می توانستند به حافظه یک دستگاه دسترسی داشته باشند اما هر کدام باید بخش حافظه اختصاصی خود را اختصاص دهند، CXL 3.0 اشتراک گذاری حافظه واقعی را معرفی می کند. با استفاده از م،ای انسجام پیشرفته جدید، میزبان‌های متعدد می‌توانند یک کپی منسجم از یک بخش مش، داشته باشند، در صورتی که چیزی در سطح دستگاه تغییر کند، از بی‌اعتباری برگشتی برای همگام نگه داشتن همه میزبان‌ها استفاده می‌شود.

البته باید توجه داشت که این به طور کامل جایگزین ادغام نمی شود. هنوز موارد استفاده ای وجود دارد که در آن ادغام به س، CXL 2.0 ترجیح داده می شود (حفظ انسجام با معاوضه همراه است)، و CXL 3.0 از ،یب و تطبیق دو حالت در صورت ،وم پشتیب، می کند.

CXL 3.0 با تقویت بیشتر این عملکرد دستگاه میزبان بهبود یافته، محدودیت های قبلی در مورد تعداد دستگاه های Type-1/Type-2 را که می توانند در پایین دست یک پورت اصلی CXL متصل شوند، برطرف می کند. در حالی که CXL 2.0 تنها به یک دستگاه پردازشگر اجازه می دهد در پایین دست پورت ریشه وجود داشته باشد، CXL 3.0 این محدودیت ها را به طور کامل برطرف می کند. اکنون یک پورت ریشه CXL می تواند بسته به اه، سازنده سیستم، از تنظیم کامل ،یب و مطابقت دستگاه های Type-1/2/3 پشتیب، کند. قابل ذکر است، این به این م،ی است که می‌تو،د چندین شتاب‌دهنده را به یک سوئیچ متصل کنید، تراکم (شتاب‌دهنده‌های بیشتر در هر میزبان) را بهبود می‌بخشد و ویژگی‌های جدید انتقال همتا به همتا را بسیار مفیدتر می‌کند.

یکی دیگر از تغییرات بزرگ برای CXL 3.0 پشتیب، از سوئیچینگ چند سطحی است. این مبتنی بر CXL 2.0 است که از سوئیچ‌های پروتکل CXL پشتیب، می‌کرد، اما فقط اجازه می‌داد تا یک سوئیچ بین یک میزبان و دستگاه‌های آن قرار گیرد. از سوی دیگر، سوئیچینگ چند سطحی اجازه می دهد تا چندین لایه سوئیچ – ی،ی سوئیچ ها به سوییچ های دیگر تغذیه شوند – که به شدت انواع و پیچیدگی های توپولوژی های ش،ه پشتیب، شده را افزایش می دهد.

حتی با تنها دو لایه سوئیچ، این انعطاف پذیری کافی برای فعال ، توپولوژی های غیر درختی مانند حلقه ها، مش ها و سایر تنظیمات پارچه است. و گره های جداگانه می توانند میزبان یا دستگاه باشند، بدون هیچ گونه محدودیتی در انواع.

در همین حال، برای تنظیمات واقعا عجیب و غریب، CXL 3.0 حتی می‌تواند از معماری‌های ستون/برگ پشتیب، کند، که در آن ترافیک از طریق گره‌های ستون فقرات سطح بالا هدایت می‌شود که تنها کارشان هدایت بیشتر ترافیک به گره‌های سطح پایین (برگی) است که به ،ه خود حاوی میزبان‌های واقعی هستند. /دستگاه ها

در نهایت، همه این حافظه‌ها و قابلیت‌های توپولوژی/فابریک جدید را می‌توان با هم در چیزی که کنسرسیوم CXL آن را حافظه متصل به پارچه جه، (GFAM) می‌نامد، استفاده کرد. GFAM، به طور خلاصه، ایده بورد گسترش حافظه CXL (Type-3) را با تفکیک بیشتر حافظه از یک میزبان معین به سطح بعدی می برد. یک دستگاه GFAM، از این نظر، از نظر عملکردی، ذخیره مش، حافظه خود است که میزبان ها و دستگاه ها می توانند بر اساس نیاز به آن دسترسی داشته باشند. و یک دستگاه GFAM می تواند حافظه فرار و غیر فرار را با هم داشته باشد، مانند DRAM و حافظه فلش.

GFAM به ،ه خود چیزی است که به CXL اجازه می دهد تا برای پشتیب، کارآمد از تنظیمات بزرگ و چند گره استفاده شود. همانطور که کنسرسیوم در یکی از نمونه‌های خود استفاده می‌کند، GFAM به CXL 3.0 اجازه می‌دهد تا عملکرد و کارایی لازم را برای پیاده‌سازی MapReduce در مجموعه‌ای از ماشین‌های متصل به CXL ارائه دهد. البته MapReduce یک الگوریتم بسیار محبوب برای استفاده با شتاب دهنده‌ها است، بنابراین گسترش CXL برای مدیریت بهتر حجم کاری مش، برای شتاب‌دهنده‌های خوشه‌ای یک گام بعدی واضح (و مسلماً ضروری) برای استاندارد است. اگرچه خطوط بین جایی که یک اتصال محلی مانند CXL به پایان می رسد و یک اتصال ش،ه مانند InfiniBand شروع می شود، کمی محو می کند.

در نهایت، بزرگترین تمایز ممکن است تعداد گره های پشتیب، شده باشد. مک،سم آدرس دهی CXL که کنسرسیوم آن را مسیریابی مبتنی بر پورت (PBR) می نامد، تا 2^ را پشتیب، می کند.12 (4096) دستگاه. بنابراین، یک راه‌اندازی CXL فقط تا اینجای کار می‌تواند مقیاس‌پذیر باشد، به‌ویژه زم، که شتاب‌دهنده‌ها، حافظه متصل و سایر دستگاه‌ها به سرعت پورت‌ها را می‌خورند.

جمع ، چیزها، استاندارد تکمیل شده CXL 3.0 امروز برای عموم منتشر می شود، اولین روز FMS 2022. به طور رسمی، کنسرسیوم هیچ راهنمایی در مورد زمان نمایش CXL 3.0 در دستگاه ها ارائه نمی دهد – این به تولید کنندگان تج،ات بستگی دارد – اما منطقی است که بگوییم فوراً نمی شود. با میزب،‌های CXL 1.1 که همین‌حالاً در حال حمل و نقل هستند – اصلاً مهم نیست میزبان‌های CXL 2.0 – تولید واقعی CXL چند سال از استانداردها عقب‌تر است، که برای این استانداردهای اتصال متقابل صنعت بزرگ معمول است.


منبع: https://www.anandtech.com/s،w/17520/compute-express-link-cxl-30-announced-doubled-s،ds-and-flexible-fabrics