اخبار تکنولوژیبایگانی مطالب
مقاله جدید

قوی‌ترین ماشین پردازش محاسبات هوش مصنوعی و بررسی اتصالات داخلی NVLink و NVSwitch

 DGX-2  در سال 2018، در کنفرانس سالانه فناوری واحد پردازش گرافیکی (GTC)، معرفی شد. این GPU با قیمت 399 هزار دلار، 158 کیلوگرم وزن داره که با هدف تسریع حجم کاری هوش مصنوعی طراحی شد و با لقب «سریع‌ترین واحد پردازش گرافیکی دنیا» شناخته می‌شد.

معرفی Nvidia DGX-2


انگیزه‌ای برای جابجا کردن محدودیت‌ها

قبل از اینکه انویدیا این GPU رو معرفی کنه، برای اینکه نودهای رایانشی قدرتمندتری داشته باشیم، چند تا GPU به یک PCIe و سپس مستقیماً به CPU وصل می‌شدن.

اتصالات داخلی با تقریباً 32 گیگابایت بر ثانیه پهنای باند دو سویه برای x16 PCIe Gen 3.0 (همزمان با رشد دیتاست آموزشی) گلوگاه بزرگی برای سیستم ایجاد می‌کردن. در نهایت بدون بهبود اتصالات داخلی پهنای باند، عملکرد GPUهای نسل جدید که ارتقا پیدا کرده در حجم کاری دنیای واقعی نتیجه نمی‌داد.


 راهکاری نوین به نام NVLink

شرکت انویدیا برای رفع این مشکل یک معماری جدید به نام NVLink برای اتصالات داخلی ایجاد کرد. یک NVLink واحد یک رابط دو سویه با 32 سیم هست که در هر جهت 8 زوج تفاضلی (differential pairs) ایجاد می‌کنه. اولین اجرای این معماری به نام NVLink 1.0 به همراه P100 GPU معرفی شد. پهنای باند دو سویه این تراشه به ازای هر لینک 40 گیگابایت بر ثانیه بود و به عبارتی مجموع پهنای باندش 160 گیگابایت بر ثانیه بود.

معرفی معماری NVLink


NVLink صرفاً یک اتصال داخلی بین GPU و CPU نیست. IBM معماری NVLink 1.0 رو به همراه میکرومعماری +POWER8 به پردازنده‌های POWER اضافه کرد. بدین ترتیب، P100 GPUها می‌تونن به صورت مستقیم و از طریق NVLink (به جای PCIe) با CPU ارتباط برقرار کنن. نود 4-GPU رو می‌شه در یک مش کاملاً متصل و هم‌چنین نزدیک‌ترین POWER8+CPU پیکربندی کرد.


معرفی DGX-1

معرفی DGX-1

اولین ماشینی که انویدیا اختصاصاً برای تسریع هوش مصنوعی ساخت DGX-1 بود. این سیستم 8 تا P100 GPU و یک Xeon E5-2698 v4 دو سوکته و 20 هسته‌ای داشت. به خاطر اینکه هر GPU فقط 4 تا NVLink داره، GPUها در یک توپولوژی شبکه هیبرید cube و مش متصل می‌شن. بدین ترتیب یک مجموعه 4 تایی از GPUهای تماماً متصل به مجموعه دوم GPUهای تماماً متصل وصل می‌شن.

با توجه به اینکه GPUها به خطوط (lane) PCIe بیشتر از آنچه هست نیاز دارن، هر جفت GPU به یک سوییچ PCIe وصل می‌شه. دو Xeon هم به عنوان یک چندپردازنده دو سویه عمل می‌کنن که لینک‌های QPI خودِ Intel وصل شدن.

ظرفیت مموری این ماشین با 8 تا Tesla P100 GPU و 16 گیبی‌بایت مموری برای هر GPU برابر با 128 گیبی‌بایت GPU و مموری DDR4-2133 سیستم هم 512 گیبی‌بای ظرفیت اضافی داشت.


معرفی معماری نسل دوم NVLink 2.0

انویدیا معماری نسل دوم NVLink 2.0 رو با GV100 معرفی کرد. IBM هم با عرضه OPWER9 CPUها از اون پشتیبانی کرد. NVLink 2.0 نرخ سیگنال رو برای یک پهنای باند دو سویه 50 گیگابایت بر ثانیه از 20 گیگابایت بر ثانیه به 25 گیگابایت بر ثانیه برای هر لینک افزایش داد.

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

همچنین در سال 2017، انویدیا معماری DGX-1 رو به V100s ارتقا داد. با توجه به اینکه کلیت توپولوژی تغییر نکرده، از لینک‌های اضافی برای دو برابر کردن برخی لینک‌های inter-GPU استفاده شد.

نسل دوم NVLink 2.0


معرفی DGX-2

معرفی DGX-2

سیستم DGX-2 که در سال 2018 در کنفرانس GTC معرفی شد تعداد GPUهای V100 رو دو برابر کرد و به عبارتی به 16 تا افزایش داد. انویدیا نیز مموری HBM2 رو به 32 گیگی‌بایت(GiB) و در مجموع 512 گیگی‌بایت مموری HBM2 ارتقا داد. این شرکت CPUها رو هم به Xeon Platinum 8168 2.7گیگاهرتز 24 هسته‌ای ارتقا داد.

قطعات سخت افزاری DGX-2
GTC 2018, Nvidia

برای افزایش GPUها به 16 تا لازمه که تغییرات زیادی در سیستم، به ویژه در پهنای باند، به وجود بیاد.


تمرکز بیشتر بر عملکرد با معرفی NVSwitch

انویدیا به همراه DGX-2 یک ASIC جدید به نام NVSwitch رو هم معرفی کرد. NVSwitch یک سوییچ NVLink با 18 تا پورت(درگاه) NVLink هست. ساخت این تراشه بیش از دو سال طول کشید. این تراشه از NVLink 2.0 پشتیبانی می‌کنه و بدین ترتیب، پهنای باند دو سویه هر پورت 50 گیگابایت بر ثانیه و در مجموع 900 گیگابایت بر ثانیه است. همچنین این تراشه 100 واتی است که بر روی FinFet 12 میلیمتری TSMC (12FFN، یک نود 16 نانومتری ارتقایافته محصول Nvidia) با دو میلیارد ترانزیستور ساخته شده است.

طریقه کارکرد NVLink با NVSwitch

این تراشه در یک پکیج 1,940-pin 4 cm² BGA قرار داره. این تراشه 18 تا NVLink داره و 576 تا از پین‌ها مختص سیگنال‌های NVLink هستن و از باقی پین‌ها برای ریل‌های برق و برخی I/O استفاده می‌شه که شامل پورت مدیریت  x4 PCIe Gen 2 ،I²C و GPIO می‌شه.

طریقه کارکرد NVLink با NVSwitch

NVSwitch با داشتن 18 تا پورت به انویدیا اجازه می‌ده تا یک سیستم non-blocking کاملاً متصل با 16 تا GPU بسازه. با توجه به اینکه به ازای هر V100 تعداد 6 تا NVLink وجود داره، هر لینک به یک NVSwitch جداگانه وصل می‌شه.

اتصال NVLink به V100 GPU

این کار برای هر 8 تا V100 GPU و برای هر 6 تا NVSwitch تکرار می‌شه. طرح نهایی یک بورد پایه (baseboard) است که با استفاده از 6 تا NVSwitch اتصال 8 تا GPU رو امکانپذیر می‌کنه.

DGX-2 دو تا برد پایه داره که با استفاده از NVSwitchهای هر برد پایه کاملاً به هم متصل هستن و یک سیستم از 16 تا GPU کاملاً متصل تشکیل می‌دن.

بیس برد اتصال NVLink

توجه داشته باشین که 8 تا لینک بین هر کدام از NVSwitchها وجود داره که مطابق با 8 تا GPU بردهای پایه هستن. به دلیل اینکه به ازای هر V100 تعداد 6 تا NVLink و هم‌چنین 16 تا GPU در DGX-2 وجود داره، پهنای باند دوسویه اون در کل 2400 گیگابایت بر ثانیه است. نکته جالب اینجاست که NVSwitchها 18 تا پورت دارن اما DGX-2 فقط از 16 تا اونا استفاده می‌کنه. احتمالاً انویدیا دو تا لینک باقی‌مونده رو برای پشتیبانی از POWER9 شرکت IBM قرار داده. (هم DGX-1 و هم DGX-2 از Xeons شرکت Intel استفاده می‌کردن)

در این توپولوژی فرضی، یک پردازنده IBM POWER9 رو می‌شه به تمامی بردهای پایه وصل کرد؛ به عبارت دیگه، تمام GPUها به صورت کامل به پردازنده POWER9 متصل می‌شن. اگر CPU رو مستقیماً به NVSwitchها وصل کنین، ممکنه دیگه به سوییچ PCIe که برای اتصال GPUها به پردازنده‌های کنونی Intel لازمه، نیازی نباشه. انویدیا چیزی در مورد فروش مستقیم NVSwitchها به تولیدکنندگان نگفته، اما اگر این کار رو بکنن، نودهای رایانشی متنوع‌تر و احتمالاً بزرگتر ساخته می‌شن.

NVSwitch First Generation Second Generation Third Generation
Number of GPUs with direct connection / node Up to 8 Up to 8 Up to 8
NVSwitch GPU-to-GPU bandwidth 300GB/s 600GB/s 900GB/s
Total aggregate bandwidth 2.4TB/s 4.8TB/s 7.2TB/s
Supported NVIDIA architectures NVIDIA Volta architecture NVIDIA Ampere architecture NVIDIA Hopper architecture

در DGX-1 اصلی تراکنش بین بعضی GPUها به یک جهش(hop) اضافی نیاز داره که باعث می‌شه دسترسی از راه دور رو متزلزل کنه. به همین دلیل، استفاده از مموری یکپارچه برای بسیاری از حجم‌های کاری مشکل‌ساز است. در DGX-2 به دلیل اینکه هر GPU می‌تونه با همان سرعت و میزان تأخیر با GPU دیگر ارتباط برقرار کنه، حجم‌های کاری بالای هوش مصنوعی می‌تونن از تکنیک موازی‌سازی مدل استفاده کنن.

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

منبع

این مقاله چطور بود ؟
+1
0
+1
0
+1
1
مشاهده بیشتر

محمد حسنی

حدود 3 سالی هست که در تیم سخت افزار سازان نام آور با اشتیاق به تولید محتوا مشغول هستم. علاقه شدیدی نسبت به طراحی، تحولات دنیای فناوری هوش مصنوعی و اینترنت اشیا دارم.

نوشته های مشابه

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

دکمه بازگشت به بالا