بررسی کارت شبکه NVIDIA ConnectX-8 C8240 800G Dual 400G؛ یک SuperNIC واقعی

کارت شبکه NVIDIA ConnectX-8 C8240 با دو پورت ۴۰۰ گیگابیتی، سوییچ PCIe Gen6 داخلی و توانایی دستیابی به پهنای باند دوطرفه ۸۰۰ گیگابیت بر ثانیه حتی روی سرورهای PCIe Gen5، یکی از پیشرفته‌ترین NICهای حال حاضر بازار محسوب می‌شود.

NVIDIA ConnectX-8 C8240 بدون تردید یک SuperNIC واقعی است. این کارت با دو پورت QSFP112، یک سوییچ داخلی PCIe Gen6 و قابلیت کار در سرعت‌های دوطرفه ۸۰۰ گیگابیت بر ثانیه حتی روی سرورهای مبتنی بر PCIe Gen5، مجموعه‌ای از ویژگی‌های کم‌نظیر را ارائه می‌دهد. این بررسی مدتی طولانی در STH در حال انجام بود، چرا که عبور دادن ۸۰۰ گیگابیت بر ثانیه پهنای باند یک‌طرفه و ۱.۶ ترابیت بر ثانیه پهنای باند ترکیبی دوطرفه از سرورهای PCIe Gen5، به‌هیچ‌وجه کار ساده‌ای نیست. خوشبختانه اکنون امکان دسترسی به داده‌های عملی از چنین تجهیزات رده‌بالایی فراهم شده است.

NVIDIA ConnectX 8 SuperNIC

مدلی که در این بررسی مورد استفاده قرار گرفته، C8240 است؛ نام‌گذاری‌ای که عملاً به معنای ConnectX-8 با دو پورت ۴۰۰ گیگابیتی است. به همین دلیل، این کارت به دو پورت QSFP112 مجهز شده و می‌تواند این پورت‌ها را در سرعت‌های 400GbE یا در حالت InfiniBand مورد استفاده قرار دهد. این قابلیت، یکی از تمایزهای تاریخی محصولات Mellanox (و اکنون NVIDIA) بوده است؛ یعنی امکان استفاده از یک مدل کارت شبکه هم در بستر Ethernet و هم در شبکه‌های InfiniBand.

از نظر طراحی فیزیکی، کارت ConnectX-8 یک کارت low-profile است که هم با براکت ارتفاع کامل و هم low-profile قابل نصب است. نکته جالب این نسل آن است که ظاهر کارت شباهت زیادی به GPUهای دیتاسنتری NVIDIA پیدا کرده است. برخلاف PCBهای سبز یا مشکی نسل‌های قبلی Mellanox، اجزای اصلی اکنون زیر یک شِراد طلایی و مشکی با برند NVIDIA قرار گرفته‌اند.

NVIDIA ConnectX 8 SuperNIC

در خانواده ConnectX-8، مدل دیگری که احتمالاً بیشتر دیده می‌شود C8180 است؛ مدلی با یک پورت ۸۰۰ گیگابیتی مبتنی بر OSFP که قابلیت شکستن به دو پورت ۴۰۰ گیگابیتی را دارد. شاید در آینده فرصتی برای بررسی آن مدل نیز فراهم شود.

بخش پشتی کارت از نظر خنک‌سازی اهمیت بالایی دارد. جریان هوای عبوری از سرور باید از این قسمت به هیت‌سینک برسد، در حالی که فضای عبور هوا نسبتاً محدود است. از سوی دیگر، ماژول‌های اپتیکی ۴۰۰ گیگابیتی مصرف انرژی بالایی دارند و خنک‌سازی آن‌ها نیز وابسته به همین مسیر جریان هواست. بنابراین، ConnectX-8 برای عملکرد پایدار به حجم قابل توجهی از airflow نیاز دارد.

کیت Aux برای Nvidia ConnectX-8 به همراه کابل

یکی از مهم‌ترین بخش‌ها در این بررسی، کانکتور PCIe اضافی کارت است. در واحدهای مورد استفاده، یک کانکتور x16 اضافه وجود دارد. کارت‌های شبکه NVIDIA (و پیش‌تر Mellanox) سال‌هاست از قابلیت multi-host پشتیبانی می‌کنند؛ به این معنا که چند CPU می‌توانند یک NIC واحد را به‌اشتراک بگذارند. برای سناریوهایی مانند راه‌اندازی هم‌زمان دو پورت ۴۰۰ گیگابیتی روی یک سرور PCIe Gen5، به تعداد بیشتری lane از PCIe نیاز است. به کمک سوییچ داخلی PCIe Gen6 با ۴۸ lane، این کانکتور امکان ارائه یک لینک PCIe Gen5 x16 اضافی را فراتر از کانکتور لبه‌ای CEM فراهم می‌کند.

Nvidia ConnectX-8 به همراه کابل Lenovo MTK X8

NVIDIA برای این منظور یک کیت اختصاصی ارائه می‌دهد. همچنین، یک کیت سفارشی از Lenovo نیز مورد استفاده قرار گرفت، هرچند محدود به سرورهای Lenovo است. در این پروژه، حتی کابل‌های سفارشی نیز ساخته شد تا امکان پیکربندی متراکم‌تر سرور Supermicro Hyper با تعداد بیشتری رابط شبکه پرسرعت فراهم شود؛ کاری که به‌خودیِ خود یک تلاش بسیار سنگین و زمان‌بر بود.

دلیل اصلی این پیچیدگی، محدودیت PCIe Gen5 است. اگرچه کانکتور کارت از نوع PCIe Gen6 x16 است، اما سرورهای امروزی همچنان PCIe Gen5 هستند. برای راه‌اندازی هم‌زمان هر دو پورت ۴۰۰ گیگابیتی با حداکثر سرعت، به دو برابر laneهایی نیاز بود که کانکتور لبه‌ای در اختیار می‌گذارد.

در سرورهای مبتنی بر NVIDIA Grace، Intel Xeon 6، AMD EPYC Turin و AmpereOne، یک ریشه PCIe Gen5 x16 تنها توانایی تغذیه یک لینک ۴۰۰ گیگابیتی را دارد. به همین دلیل، کانکتور پشتی کارت به راه‌حل کلیدی تبدیل شد. در نهایت، با استفاده از کیت کمکی NVIDIA و کابل‌های سفارشی MCIO، امکان تأمین ۳۲ lane PCIe Gen5 از طریق یک اسلات x16 فراهم شد؛ دستاوردی که در ظاهر ساده، اما در عمل بسیار دشوار بود.

NVIDIA ConnectX 8 SuperNIC Mlxconfig

پس از تکمیل اتصال فیزیکی، تنظیمات نرم‌افزاری نیز چالش‌برانگیز بود. گزینه‌های mlxconfig بسیار پیچیده‌اند و پیکربندی صحیح نیازمند دقت بالایی است. در این ساختار، هر کارت شبکه چندین دستگاه RDMA را در NUMA nodeهای متفاوت ارائه می‌دهد؛ وضعیتی که شباهت زیادی به معماری شبکه NVIDIA GB10 دارد.

در تست‌های سرعت، کارت از سرعت‌های ۴۰۰، ۲۰۰، ۱۰۰ و ۵۰ گیگابیت بر ثانیه پشتیبانی می‌کند، اما خبری از سرعت‌های پایین‌تر نیست؛ برخلاف برخی مدل‌های قدیمی‌تر که تا ۱ گیگابیت نیز مقیاس‌پذیر بودند.

تست عملکرد ConnectX 8 با سرعت ۱.۵۴۱ ترابیت بر ثانیه در سرورهای دارای PCIe Gen5 با استفاده از ابزار Keysight CyPerf

پس از انجام بهینه‌سازی‌هایی مانند تنظیم صف‌ها، تطبیق پورت‌ها با NUMA node صحیح و قرار دادن بار کاری روی هسته‌های نزدیک به کنترلرهای PCIe در پردازنده‌های Intel Xeon 6980، امکان دستیابی به عملکرد کامل فراهم شد. تست‌های L1 با استفاده از ابزارهای Keysight نشان داد که ConnectX-8 به پهنای باند ۱.۶ ترابیت بر ثانیه دست یافته است؛ آن هم روی سرورهای PCIe Gen5.

تست‌های ابزار Keysight IxNetwork روی NVIDIA ConnectX 8 مدل C8240 با سرعت ۱.۶ ترابیت بر ثانیه

این سطح از عملکرد به‌راحتی به دست نمی‌آید و تفاوت زیادی با NICهای ۱۰ یا ۱۰۰ گیگابیتی دارد که تقریباً بدون تنظیم خاصی به حداکثر سرعت می‌رسند. در اینجا، انتخاب هسته‌ها، کابل‌کشی داخلی و تنظیمات NUMA نقش حیاتی دارند.

هدف نهایی، استفاده از این زیرساخت برای تست سوییچ‌های ۸۰۰ گیگابیتی با ظرفیت ۵۱.۲ ترابیت است؛ جایی که ارسال و دریافت در سرعت ۸۰۰ گیگابیت، یک پیش‌نیاز محسوب می‌شود.

NVIDIA ConnectX 8 مدل C8180 متصل شده به کابل Aux

جمع‌بندی این کارت شبکه واقعاً شگفت‌انگیز است. ConnectX-8 نقش کلیدی در آماده‌سازی بستر ارتباطی نسل بعدی GPUها با شبکه ایفا می‌کند، حتی در شرایطی که سرورها هنوز به PCIe Gen5 محدود هستند. با وجود محدودیت‌ها، موفق شدیم سرعت‌های ۸۰۰ گیگابیتی را روی سرورهای نسل فعلی پیاده‌سازی کنیم. بدون تردید، این یکی از هیجان‌انگیزترین بررسی‌هایی است که در مدت اخیر انجام شده و مفهوم «SuperNIC» را به‌خوبی معنا می‌کند.