فناوری NVLink

معرفی فناوری NVLink شرکت انویدیا

در عصر کنونی که حجم داده‌های تولیدشده روزبه‌روز افزایش می‌یابد و مدل‌های هوش مصنوعی به مرزهای تریلیون‌ها پارامتر نزدیک می‌شوند، زیرساخت‌های محاسباتی سنتی با چالش‌های بنیادین مواجه هستند. یکی از حیاتی‌ترین این چالش‌ها، مسئله ارتباط بین پردازنده‌های گرافیکی یا همان GPUها در سامانه‌های چندپردازنده‌ای است.

فنّاوری NVLink که توسط شرکت انویدیا طراحی و توسعه یافته است، پاسخی نوآورانه به این نیاز رو به رشد محسوب می‌شود.

ضرورت پیدایش NVLink

به‌طور سنتی، ارتباط بین GPUها در یک سرور از طریق گذرگاه استاندارد PCI Express یا همان PCIe انجام می‌شده است. این گذرگاه از ابتدای معرفی خود در اوایل دهه ۲۰۰۰، نقش اصلی را در اتصال دستگاه‌های جانبی به پردازنده مرکزی ایفا کرده است. اگرچه نسل‌های مختلف PCIe بهبودهایی در پهنای باند داشته‌اند، اما این گذرگاه به‌عنوان یک گلوگاه اساسی در سامانه‌های سنگین محاسباتی شناخته می‌شود. برای نمونه، گذرگاه PCIe نسل پنجم حداکثر پهنای باند دوطرفه در حدود ۱۲۸ گیگابایت بر ثانیه ارائه می‌دهد. این میزان برای اجرای مدل‌های پیچیده هوش مصنوعی که نیازمند تبادل لحظه‌ای حجم عظیمی از داده میان ده‌ها یا صدها GPU هستند، کافی نیست. یک مدل زبانی بزرگ با یک تریلیون پارامتر، هنگام آموزش، نیاز دارد که هر میلی‌ثانیه، گرادیان‌ها و به‌روزرسانی‌های وزن میان تمام پردازنده‌ها مبادله شود. در چنین شرایطی، پهنای باند محدود PCIe باعث می‌شود تا بخش قابل توجهی از زمان پردازش به جای محاسبه، صرف انتظار برای انتقال داده گردد.

افزون بر محدودیت پهنای باند، معماری مبتنی بر PCIe نیازمند دخالت پردازنده مرکزی یا CPU در فرآیند انتقال داده است. در این معماری، هنگامی که دو GPU می‌خواهند داده‌ای را مبادله کنند، ابتدا داده باید از حافظه GPU مبدأ به حافظه اصلی سیستم منتقل شود، سپس CPU آن را مسیریابی کرده و در نهایت به GPU مقصد برسد. این فرآیند چندمرحله‌ای باعث افزایش تأخیر یا Latency می‌شود و همچنین بار اضافی قابل توجهی بر روی CPU تحمیل می‌کند. در سامانه‌های بزرگ، CPU که خود مسئولیت مدیریت سیستم عامل و برنامه‌ریزی فرآیندها را بر عهده دارد، نمی‌تواند به طور مؤثر از عهده مدیریت حجم عظیم ترافیک داده میان ده‌ها GPU برآید. به همین دلایل، انویدیا تصمیم به خلق یک رابط اختصاصی و کارآمد برای شبکه‌سازی درون‌راکی یا Scale-up گرفت و NVLink را برای نخستین بار در سال ۲۰۱۶ و همزمان با معماری Pascal معرفی کرد.

مفهوم و معماری NVLink

NVLink یک رابط ارتباطی پرسرعت با تأخیر بسیار پایین است که به‌طور خاص برای ارتباط مستقیم GPUها با یکدیگر و همچنین اتصال GPUها به CPUهای سازگار طراحی شده است. کلید واژه در این تعریف، کلمه «مستقیم» است. برخلاف معماری متمرکز PCIe که داده‌ها باید از پل ارتباطی چیپ‌ست و گذرگاه‌های اشتراکی عبور کنند، NVLink امکان برقراری ارتباطی مشبک یا Mesh-style را فراهم می‌آورد. این ارتباط مستقیم، مزیت دوچندان دارد: نخست آنکه پهنای باند قابل‌دسترس برای هر GPU به طور چشمگیری افزایش می‌یابد و هر جفت از GPUها می‌توانند بدون رقابت بر سر منابع مشترک با یکدیگر تبادل داده کنند. دوم آنکه تأخیر ناشی از دخالت CPU و گذر از لایه‌های نرم‌افزاری میانی حذف می‌شود. در عمل، تأخیر ارتباطی در NVLink به کمتر از یک میکروثانیه می‌رسد که در مقایسه با ده‌ها میکروثانیه PCIe، یک پیشرفت انقلابی است.

فناوری NVLink

این فناوری تنها به یک کابل ارتباطی ساده محدود نمی‌شود، بلکه یک مجموعه سخت‌افزاری و نرم‌افزاری کامل است. هسته اصلی این فناوری در سامانه‌های بزرگ، تراشه‌های NVLink Switch هستند. این تراشه‌ها با ایجاد یک شبکه تماماً متصل یا All-to-All میان GPUها، امکان می‌دهند تا هر جفت از GPUها با حداکثر سرعت ممکن با یکدیگر تبادل داده کنند. به عبارت دیگر، در یک سامانه مجهز به NVLink Switch، دیگر خبری از گلوگاه اشتراک‌گذاری پهنای باند میان چندین GPU نیست. هر GPU می‌تواند به طور همزمان با تمام GPUهای دیگر در بالاترین نرخ ممکن ارتباط برقرار کند. این قابلیت برای الگوریتم‌هایی مانند کاهش توزیع‌شده یا All-Reduce که در آموزش مدل‌های عمیق بسیار پرکاربرد هستند، حیاتی است.

تکامل نسل‌ها و پهنای باند

فناوری NVLink از زمان معرفی تاکنون دستخوش تحولات سریعی بوده است. هر نسل از این فناوری تقریباً دو برابر نسل قبل پهنای باند ارائه داده است و انویدیا را قادر ساخته تا همگام با رشد تصاعدی نیازهای محاسباتی حرکت کند.

فناوری NVLink

نسل اول NVLink که در سال ۲۰۱۶ عرضه شد، پهنای باند ۱۶۰ گیگابایت بر ثانیه به ازای هر GPU ارائه می‌داد که در آن زمان، جهشی چشمگیر نسبت به PCIe نسل سوم محسوب می‌شد.

نسل دوم با معماری Volta در سال ۲۰۱۷، این رقم را به ۳۰۰ گیگابایت بر ثانیه رساند. نسل سوم که در معماری Ampere در سال ۲۰۲۰ معرفی شد، پهنای باند ۶۰۰ گیگابایت بر ثانیه را ارائه کرد. در نسل چهارم که با معماری NVIDIA Hopper معرفی شد، پهنای باند هر GPU به ۹۰۰ گیگابایت بر ثانیه رسید.

نسل پنجم که هم‌زمان با معماری NVIDIA Blackwell عرضه شد، این رقم را به یک هزار و هشتصد گیگابایت بر ثانیه یا ۱.۸ ترابایت بر ثانیه افزایش داد. اخیراً نیز نسل ششم این فناوری برای پلتفرم NVIDIA Rubin معرفی شده است که پهنای باند استثنایی سه هزار و ششصد گیگابایت بر ثانیه یا ۳.۶ ترابایت بر ثانیه به ازای هر GPU ارائه می‌کند.

این میزان پهنای باند بیش از چهارده برابر استاندارد PCIe نسل ششم است که حداکثر ۲۵۶ گیگابایت بر ثانیه پهنای باند دوطرفه دارد.

برای درک بهتر این اعداد، باید به توان تجمیع‌شده در یک سامانه کامل توجه کرد. برای نمونه، در سامانه مرجع GB200 NVL72 که از ۷۲ GPU و ۳۶ پردازنده مرکزی Grace استفاده می‌کند، پهنای باند کل تجمیع‌شده به یکصد و سی ترابایت بر ثانیه می‌رسد. این میزان پهنای باند عظیم امکان هماهنگی لحظه‌ای میان همه پردازنده‌ها را در حین اجرای مدل‌های بزرگ هوش مصنوعی فراهم می‌سازد.

مزایای کلیدی و قابلیت‌های نرم‌افزاری

افزایش صرف پهنای باند، تنها مزیت NVLink نیست. این فناوری با ایجاد فضای آدرس حافظه یکپارچه یا Unified Memory Space میان GPUهای متصل، برنامه‌نویسی را برای توسعه‌دهندگان ساده‌تر می‌کند. در این مدل، برنامه‌نویس می‌تواند بدون نگرانی از محل فیزیکی داده، به یک آدرس حافظه واحد در سراسر همه GPUها دسترسی داشته باشد. سخت‌افزار NVLink به طور خودکار ترجمه آدرس و انتقال داده‌ها را در پس‌زمینه انجام می‌دهد. همچنین، مکانیزم‌های توکار برای تحمل خطا و Resiliency در نظر گرفته شده است که امکان تعویض قطعات بدون خاموش کردن سامانه یا Hot-swapping را فراهم می‌کند. در یک مرکز داده بزرگ، قابلیت تعویض یک ماژول معیوب بدون توقف محاسبات روی هزاران GPU دیگر، ارزش اقتصادی عظیمی دارد.

از منظر نرم‌افزاری، انویدیا کتابخانه‌های ارتباطی قدرتمندی مانند NCCL یا NVIDIA Collective Communications Library را ارائه داده است. این کتابخانه‌ها به‌طور خودکار از توپولوژی NVLink برای بهینه‌سازی عملیات جمعی مانند All-Reduce، Broadcast و Scatter-Gather بهره می‌برند. سرویس دیگری به نام IMEX یا Internode Memory Exchange نیز مدیریت حافظه اشتراکی میان گره‌های مختلف را تسهیل می‌کند. این لایه نرم‌افزاری باعث می‌شود تا برنامه‌های کاربردی بدون تغییر در کد اصلی، از مزایای پهنای باند بالای NVLink بهره‌مند شوند. در مجموع، NVLink ترکیبی از سخت‌افزار پیشرفته و نرم‌افزار هوشمند است که شکاف میان قابلیت‌های فیزیکی و کاربردپذیری عملی را پر می‌کند.

NVLink Fusion و چشم‌انداز آینده

انویدیا به تازگی توسعه فناوری جدیدی به نام NVLink Fusion را آغاز کرده است. این فناوری به شرکت‌های بزرگ فعال در حوزه ابری و ابرمقیاس یا Hyperscalerها اجازه می‌دهد تا پردازنده‌های سفارشی خود را نیز به شبکه NVLink متصل کنند.

با استفاده از استانداردهای باز مانند UCIe یا Universal Chiplet Interconnect Express، این شرکت‌ها می‌توانند پردازنده‌های اختصاصی یا XPU خود را طراحی کرده و آن‌ها را با استفاده از تراشه‌های NVLink به GPUهای انویدیا متصل نمایند.

این رویکرد، بسته‌ای بودن اکوسیستم انویدیا را تا حدی کاهش می‌دهد و امکان سفارشی‌سازی برای نیازهای خاص هر مشتری را فراهم می‌کند. در آینده، می‌توان انتظار داشت که NVLink به استانداردی واقعی برای ارتباطات درونی در مراکز داده تبدیل شود، جایگاهی که امروز InfiniBand و Ethernet برای ارتباط بین‌راکی دارند.

نتیجه‌گیری

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

فناوری NVLink

از سامانه‌های کوچک چهار GPU تا اَبَررایانه‌های غول‌پیکر متشکل از هفتاد و دو GPU در یک شاسی، NVLink به عنوان ستون فقرات محاسباتی عمل می‌کند.

با معرفی قابلیت‌هایی مانند NVLink Fusion، این فناوری مسیر خود را به سوی آینده‌ای بازتر و قابل سفارشی‌سازی ادامه می‌دهد و نقش محوری خود را در عصر هوش مصنوعی و محاسبات با عملکرد بالا تثبیت می‌کند. بدون شک، پیشرفت‌های آینده در زمینه هوش مصنوعی، تا حد زیادی مرهون توانایی فنّاوری‌هایی مانند NVLink در هماهنگ‌سازی هزاران پردازنده به صورت یکپارچه و کارآمد خواهد بود.

0 پاسخ

دیدگاه خود را ثبت کنید

تمایل دارید در گفتگوها شرکت کنید؟
در گفتگو ها شرکت کنید.

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