انویدیا چگونه در سه هفته، هفتمین رایانه سریع دنیا را تولید کرد؟
پنج سال پیش انویدیا (Nvidia) فرایند تولید سیستم جدیدی را در سطح ابررایانهها (سوپرکامپیوتر) آغاز کرد. این ابررایانه طبق طرحهای اولیهی انویدیا بهحدی قدرتمند بود که میتوانست مدلهای هوش مصنوعی را خودش بسازد و اجرا کند. از بین مدلهایی که ابررایانهی انویدیا قرار بود توانایی ساخت و اجرایشان را داشته باشد میتوانیم به مدل خودرو خودران اشاره کنیم. این ابررایانه در عین داشتن این قدرت باید میتوانست به تقریبا تمامی محققانی که در حوزهی یادگیری عمیق (Deep Learning) مشغولبه فعالیت هستند خدمترسانی کند. انویدیا پس از تولید چند نسل از DGX Pod توانست درسهای بسیار ارزشمندی را در زمینهی تولید سیستمهایی که دارای قطعات ماژولار و مقیاسپذیر هستند یاد بگیرد.
فرایند تولید با وجود تمامی مشکلات، روند نسبتا خوبی را طی میکرد. در همین حین بود که دنیاگیری ویروس کرونا، دنیا را درنوردید.
انویدیا برای تولید ابررایانهی خود با چالشهای متعددی دستوپنجه نرم میکرد و دنیاگیری ویروس کرونا باعث شد فرایند ساخت ابررایانه سختتر از قبل شود. انویدیا بهطور کلی برای پیشبرد فعالیتهایش با چالشهایی جدید مواجه شده بود و این بار تولید سلین (Selene)، نسل چهارم رایانههای سری DGX SuperPOD را سختتر از همیشه تصور میکرد. کاهش شمار نیروهای کار و اعمال محدودیتها و قرنطینه، اوضاع را پیچیدهتر کرد؛ اما این چالشها نتوانستند فعالیتهای تیم سبز را مختل کنند. انویدیا توانست در عرض تنها سهونیم هفته، سیستم سلین را بهطور کامل بسازد.
انویدیا با تیمهای دونفره توانست ابررایانهی سلین را در سهونیم هفته تولید کند
ابررایانهای که انویدیا در سهونیم هفته تولید کرد امروزه در بین ۱۰ ابررایانهی برتر دنیا حضور دارد و از آن بهعنوان سریعترین سیستم صنعتی در سراسر ایالات متحدهی آمریکا یاد میشود. بهعلاوه بررسیها نشان میدهد سلین امروزه سریعترین دستگاه MLPerf تجاری دنیا بهحساب میآید.
فرایند ساخت سلین در بحبوحهی دنیاگیری کووید ۱۹ بهوضوح مزیتهای زبان طراحی سیستم را نشان داد. این اتفاق ثابت کرد مسیری که مهندسان انویدیا برای ساخت سلین پیش گرفته بودند، بسیار هوشمندانه بوده است. روشی که انویدیا بهکار گرفت برای مواقع ضروری بسیار پرکاربرد است.
مایک هیوستون یک معمار ارشد است که مدیر تیم سیستمهای ساختهشده توسط انویدیا بهحساب میآید. هیوستون در گفتوگو با خبرنگاران اعلام کرد: «هدف اصلی ما در ابتدا این بود پیادهسازی سیستم را با سرعت بسیار بالایی انجام دهیم؛ آنقدر سریع که بتوانیم به محققان خود امکان دهیم بهسرعت فرایند کار با آن را آغاز کنند. انویدیا نخستین مشتری دستگاههای ما بهحساب میآید؛ بههمین دلیل، ما تمام تلاش خود را برای اثبات تواناییمان بهکار بستیم تا مطمئن شویم دستگاه بهخوبی کار میکند».
هیوستون در ادامهی سخنان خود به آغاز دوران شیوع ویروس کرونا اشاره کرد و گفت: «با فرا رسیدن دنیاگیری، میخواستیم دستگاه را برای انجام تحقیق روی کووید ۱۹ راهاندازی کنیم. هدفمان این بود به برخی از شرکای تجاریمان نظیر Argonne National Labs که از SuperPOD استفاده میکند امکان دهیم فرایند تحقیق روی بیماری جدید را آغاز کنند».
ابررایانهی سلین امروزه در یکی از دیتاسنترهای استاندارد انویدیا در نزدیکی مقر اصلی این شرکت در سیلیکونولی قرار دارد. در سلین از ۲۸۰ سیستم DGX v100 استفاده شده که مجموعا به ۲٬۲۴۰ هستهی گرافیکی تنسور (Tensor) ترجمه میشوند. در ابررایانهی انویدیا از ۴۹۴ سوئیچ ملناکس (Mellanox) بههمراه هفت پتابایت حافظهی تمامفلش استفاده شده است.
سلین از بهار امسال آغازبهکار کرده و از آن زمان تاکنون توانسته بهصورت هفتگی هزاران وظیفه را (گاهی اوقات بهصورت همزمان) بهانجام برساند. سلین میتواند کارهایی نظیر تجزیه و تحلیل دادههای هوش مصنوعی و وظایف سنتی حوزهی یادگیری ماشین و رایانش با قدرت بالا (HPC) را انجام دهد. مایک هیوستون در ادامهی سخنان خود گفت: «سلین صرفا دستگاهی در حوزهی هوش مصنوعی نیست. سلین را میتوان یکی از بهترین دستگاههای HPC در سراسر دنیا بهحساب آورد. سلین یکی از بهترین دستگاههای یادگیری ماشین دنیا است و در دستهی بهترین دستگاههای هوش مصنوعی جای میگیرد».
در ابررایانهی Selene از مجموعا ۲٬۲۴۰ هستهی گرافیکی تنسور استفاده شده است
بهطور معمول بهمنظور ساخت سیستمی در سطح ابررایانهها، دهها مهندس باید ماهها تلاش کنند تا قطعات را کنار هم قرار دهند و فرایند راهاندازی رایانه را انجام دهند. انویدیا بهمنظور ساخت سلین به استراتژی جالبی روی آورد و از تیمهای دونفره استفاده کرد. هر یک از این تیمها برای رعایت قوانین فاصلهگذاری اجتماعی، از یکدیگر جدا شده بودند و بهصورت جداگانه وظیفهی جعبهگشایی قطعات سیستمهای DGX v100 و قرار دادن آنها در ابررایانه را برعهده داشتند.
مهندسان انویدیا توانستند روزانه ۶۰ سیستم DGX v100 را جعبهگشایی و قطعات آن را به پیکرهی سلین منتقل کنند؛ این، بیشترین میزان قطعاتی بود که تجهیزات مورداستفاده توسط آنها اجازهی پیادهسازی در سلین را میداد. بین تیمهای تشکیلشده توسط انویدیا فاصلهای ۶ فوتی (۱٫۸ متر) وجود داشت و همین فاصله، کابلکشی را به کار سختی تبدیل میکرد. ادمینهای سیستم بهصورت مجازی در آن لاگین میکردند تا از راه دور بتوانند درستیِ فرایند کابلکشی را تأیید کنند.
تیمهای انویدیا در بین خودشان ماژولهای متشکلاز ۲۰ قطعه را تعریف کردند که با سوئیچهای نسبتا نازک و ساده درکنار هم قرار گرفته بودند. این قطعات مقیاسپذیر را میتوان بهتدریج موردبررسی و آزمایش قرار داد تا فرایند پیادهسازی آنها در سیستم نهایی بهدرستی انجام بگیرد. انویدیا پیش از اضافه کردن ماژول بعدی، ماژول فعلی را بهدقت موردبررسی قرار میداد تا مشکلی وجود نداشته باشد. انویدیا با استفاده از ولکرو (Velcro) فرایند برش، تنظیم طول و کنارهمقراردادن کابلها را انجام میداد. هیوستون در این زمینه میگوید: «کل سیستم بهگونهای طراحی شده که بسیار بسیار سریع پیادهسازی شود. وقتی که قطعات را وارد و برق را وصل کردید، فرایند پیادهسازی بهسرعت انجام میگیرد. ما در روشمان در عرض چهار ساعت توانستیم هر بخش از دستگاه که قطعاتش سرهم شده بودند را راهاندازی کنیم».
ربات Trip؛ ابزاری ویژه برای کارکنان انویدیا بهمنظور نظارت روی ابررایانهی سلین
سلین بر پایهی نوعی معماری باز که انویدیا با مشتریانش بهاشتراک میگذارد ساخته شده است. افزون بر Argonne National Lab، انویدیا شرکای دیگری نظیر دانشگاه فلوریدا دارد. مقامات دانشگاه فلوریدا گفتهاند که میخواهند ازطریق معماری موردبحث انویدیا سریعترین رایانهی هوش مصنوعی دانشگاهی را تولید کنند. شرکتهایی نظیر لاکهید مارتین (Lockheed Martin) و مایکروسافت نیز مشغول استفاده از DGX SuperPODهای انویدیا هستند. هیوستون میگوید هدف اصلی معماری انویدیا این است که بتوان آن را بهسادگی در تمامی دیتاسنترها پیادهسازی کرد؛ از دیتاسنتر شرکتهای مخابراتی گرفته تا دیتاسنترهای HPC.
مایک هیوستون حرفهایش را ادامه میدهد: «در سازمانهای حوزهی HPC و شرکتهای تحقیقاتی حوزهی هوش مصنوعی نیاز شدیدی به دستگاههای قدرتمند و سریع و قابلاتکا حس میشود». هیوستون میگوید بهلطف معماری موردبحث انویدیا زمان زیادی از شرکتها تلف نمیشود. ابررایانهی سلین میتواند با انواع وظایف سنگین سازگار شود و آنها را بهانجام برساند. همانطور که اشاره کردیم سلین ساختاری بههمپیوسته دارد. انویدیا میگوید زمان بسیار زیادی را صرف کار روی زبان طراحی سلین کرده تا بتوان آن را بهسادگی پیادهسازی کرد و گسترش داد. هیوستون میگوید که آنها در نسلهای پیشین معماریشان درسهای ارزشمند زیادی دربارهی گسترشپذیری ابررایانهها یاد گرفتهاند. او و تیمش برای گسترش دستگاه مجبور بودند سیمکشی زیادی انجام دهند و برای پیشبرد سریع پروژه به رویکردی جدید نیاز داشتند.
تیم سازندهی سلین قطعههای مختلف سیستم شامل پردازنده، حافظه و قطعات مدیریتی را در مجموعههای مختلف تقسیمبندی کردند. آنها در ابررایانهی سلین بهازای هر پردازندهی گرافیکی از دو کارت رابط شبکه بهره گرفتند. با این SuperPOD، انویدیا ظرفیت و توان عملیاتی حافظهی رم و حافظههای ذخیرهسازی بههمپیوسته را افزایش داد. در فرایند ساخت سیستم از اتوماسیون نیز بهره گرفته شد. برای مثال سلین بهمنظور برقراری ارتباط با کارکنان انویدیا از کانال اسلک استفاده میکند تا گزارشهایی نظیر ایجاد مشکل در کابلها را بدهد. سلین همچنین میتواند قطعاتی را که دچار مشکل شدهاند ایزوله کند تا کار خود را بدون مشکل ادامه دهد.
انویدیا از ربات ویژهای با نام Trip که متعلقبه شرکت Double Robotics است استفاده میکند. کارکنان انویدیا ازطریق Trip میتوانند از راه دور و بهلطف میکروفون و دوربین ربات، روی سلین نظارت کنند.