آینده دنیای فناوری در دستان مدارهای مجتمع دیجیتال برنامهپذیر مایکروسافت
برگر صحبتهای خود را اینگونه آغاز کرد: «دنیای فناوری در حال حرکت به سمت مدار جدیدی است. در آینده، تعدادی از غولهای بزرگ دنیای اینترنت، سرویسهای اینترنتی بسیار پیچیده، عظیم و متفاوتی را عرضه خواهند کرد. این غولهای اینترنتی برای ارائه چنین خدمات عظیمی، معماری کاملاً جدیدی را پایهریزی کرده و به مرحله اجرا در خواهند آورد. آنها نه فقط نرمافزارهایی را برای این سرویسها ایجاد خواهند کرد، بلکه سختافزارهایی همچون سرورها و تجهیزات مربوط به شبکه را نیز به صورت سفارشی طراحی خواهند کرد. پروژه Catapult همه سرورهای مایکروسافت یا به عبارت دقیقتر میلیونها عدد از آنها را به تراشههای تخصصی مجهز خواهد کرد. تراشههایی که میتوان بر مبنای وظایف تخصصی مایکروسافت آنها را مجدداً برنامهریزی کرد.» پیش از آنکه برگر مجال پیدا کند تا درباره این تراشهها صحبتهای خود را ادامه دهد، بالمر نگاهش را از روی لپتاپش برگرداند و گفت: «انتظار داشتم بهروزرسانیهای جالب توجهی در بخش تحقیقات و توسعه مشاهده کنم، نه اینکه در یک جلسه استراتژیک شرکت کنم.» برگر بعدها در این باره گفت: «او با این حرفش من را شوکه کرد.» بالمر در ادامه صحبتهای خود افزود: «مایکروسافت نزدیک به 40 سال است، وقت خود را صرف ساخت نرمافزارهای کامپیوتری همچون ویندوز، ورد و اکسل کرده است و این پروژه تنها به منظور پیدا کردن جای پایی در دنیای اینترنت است. کاملاً مشخص است مایکروسافت ابزارها و مهندسانی که بتوانند این تراشههای کامپیوتری برنامهپذیر را آماده کنند، در اختیار ندارد. این کار مشکل و هزینهبر است، زمان زیادی میطلبد و عجیب به نظر میرسد. برنامهریزی تراشههای کامپیوتری توسط مایکروسافت همانند آن است که شرکت کوکاکولا، سوپ بال کوسه تولید کند.»
برگر کاملاً مودبانه و بر مبنای گزارشی تحلیلی، همانند بسیاری از مهندسان خوب مایکروسافت به عقب رانده شد. او به بالمر گفت: «شرکتهایی همچون گوگل و آمازون از مدتها قبل حرکت به سمت این جریان را آغاز کردهاند. سازندگان بزرگ دنیای سختافزار در سراسر جهان، چیزی را که مایکروسافت برای اجرای سرویسهای آنلاین خود به آنها نیاز دارد، تولید نمیکنند. اگر مایکروسافت نتواند سختافزار موردنیاز خود را تولید کند، به مرور زمان و بهآرامی فرو خواهد ریخت.» با وجود این، بالمر باز هم به حرفهای برگر اعتنایی نکرد.
بعد از گذشت اندک زمانی، فرد دیگری گفتههای برگر را تأیید کرد؛ آن شخص کسی نبود جز چی لو (Qi Lu). چی لو مسئولیت مدیریت موتور جستوجوگر بینگ را بر عهده داشت. گروه تحت سرپرستی چی لو به مدت دو سال درباره تراشههای کامپیوتری برنامهپذیر با برگر جلسات هماندیشی برگزار کردند. این جلسات نشان دادند پروژه Catapult بیش از پیش به واقعیت نزدیک شده است. لو در این باره گفته است: «گروه تحت سرپرستی من از همان ابتدا، کار روی این پروژه را آغاز کردند.» امروز، برگر و لو بر این باور هستند که این تراشههای برنامهپذیر دنیای فناوری را دستخوش تغییر خواهند کرد. امروزه، این تراشهها که مدارهای مجتمع دیجیتال برنامهپذیر (FPGA) سرنام field programmable gate arrays نامیده میشوند، سنگ بنای بینگ را تشکیل میدهند و در هفتههای آینده این تراشهها الگوریتمهای جستوجوی جدیدی را که بر مبنای شبکههای عمیق عصبی کار میکنند، خطدهی خواهند کرد. این تراشههای عمیق عصبی ساختاری مشابه با مغز انسان دارند. تراشههای جدید میتوانند چند برابر سریعتر از تراشههای امروزی به محاورهها رسیدگی کنند و به جای چهار ثانیه، در مدتزمان 23 میلیثانیه هر چیزی را در صفحه نمایش مقابل دیدگان کاربر قرار دهند. مدارهای مجتمع دیجیتال برنامهپذیر در آژر، سرویس رایانش ابری مایکروسافت نیز استفاده خواهند شد. همچنین در سالهای پیشرو، تقریباً هر سرور جدید مایکروسافت به یک مدار مجتمع دیجیتال برنامهپذیر مجهز خواهد شد و در آینده میلیونها ماشین در سراسر جهان از آن استفاده خواهند کرد. برگر در این باره گفته است: «این تراشهها ظرفیت عظیم و انعطافپذیری را در اختیار ما قرار میدهند؛ ضمن اینکه این کار، یک حرکت اقتصادی نیز به شمار میرود. این استاندارد مایکروسافت بر اساس معماری جهانی است.» این معماری تنها محدود به بینگ نبوده یا بهمنظور رویارویی با گوگل آماده نشده است. پروژه Catapult سیگنالهایی را مخابره کرده است که نشان میدهد اکوسیستم جهانی در آینده چگونه عمل خواهد کرد. از آمازون در ایالات متحده تا بایدو در چین، همه غولهای اینترنتی در سراسر جهان در حال مجهز کردن سرورهایشان به تراشههای استانداردی هستند که خودشان آنها را طراحی کردهاند؛ این تراشههای سفارشی سیلیکونی در قالب مکملی در کنار واحد پردازش مرکزی (CPU) استفاده خواهند شد. تراشههایی که میتوانند خود را با تغییرات بسیار سریع هوش مصنوعی تطبیق دهند. مایکروسافت هر ساله نزدیک به پنج تا شش میلیون دلار برای سختافزارهایی که در امپراتوری خود به آنها نیاز دارد، هزینه میکند. ساتیا نادلا در این باره گفته است: «این دیگر محدود به یک پروژه تحقیقاتی نیست و اولویتی اساسی و جدی است. این موضوع مهمی است که برگر تلاش میکرد در ساختمان 99 درباره آن توضیح دهد. پروژهای که او و گروه تحت سرپرستی وی برای چند سال از آن دست کشیده بودند، مجدداً طراحی شد تا گونه جدیدی از ابررایانههای جهانی را تولید کند.» در دسامبر 2010، اندرو پوتنام، پژوهشگر مایکروسافت، سیاتل را برای گذراندن تعطیلات کریسمس به مقصد کلرادو ترک کرد. دو روز قبل از کریسمس هنوز خریدهای خود را انجام نداده بود. زمانیکه وارد بازار شد، برگر، رئیسش، با وی تماس گرفت و گفت که مایل است بعد از تعطیلات با مدیر اجرایی بینگ ملاقات کند. او به طرحی برای سختافزار ویژهای نیاز داشت تا بتواند الگوریتمهای یادگیری ماشینی بینگ را روی مدارهای مجتمع دیجیتال برنامهپذیر اجرا کند. پوتنام به نزدیکترین کافیشاپ رفت و طرحهای خود را رسم کرد. این طراحی پنج ساعت از زمان او را گرفت.
برگر 47 ساله و پوتمان 39 ساله، همدانشگاهیهای سابق بودند. برگر 9 سال از وقت خود را به عنوان پروفسور علوم کامپیوتر در دانشگاه آستین واقع در تگزاس، صرف پژوهش درباره تراشهها و طراحی گونههای جدیدی از تراشهها موسوم به EDGE کرد. پوتمان پیش از آنکه به مایکروسافت ملحق شود، پنج سال به عنوان پژوهشگر دانشگاه واشینگتن، مطالعات دقیقی را درباره تراشههای FPGA انجام داد؛ تراشههای برنامهپذیری که چند دهه از عمر آنها میگذرد، اما عمدتاً بهمنظور تولید نمونههای اولیه برای پردازشگرهای دیگر استفاده شدهاند. برگر، در سال 2009 پوتمان را به مایکروسافت معرفی کرد؛ جایی که آنها فرایند بررسی ایدهای را درباره تراشههایی آغاز کردند که بتوانند شتاب بیشتری به خدمات آنلاین ارائه کنند. پیتر لی، معاون بخش تحقیقات مایکروسافت که بر روند کار گروه برگر نظارت داشت، در این خصوص گفته است: «آنها پس از دو سال پروژه تراشههای مجتمع دیجیتال برنامهپذیر را به سرانجام رسانند.» برگر و گروه او معتقد بودند که این ایده قدیمی از راه رسیده است و موتور جستوجوگر بینگ گزینه مناسبی برای آزمایش آن است. موتور جستوجوگر مایکروسافت سرویس آنلاینی است که روی هزاران ماشین اجرا میشود. هر ماشین توسط یک پردازشگر مرکزی هدایت میشود و اگرچه شرکتهایی همچون اینتل روند بهبود آنها را توسعه دادهاند، این تراشهها همگام با پیشرفت دنیای نرمافزار توسعه پیدا نکردهاند؛ بهویژه در بخشهایی همچون موج جدید هوش مصنوعی که هماکنون ظهور یافته است. سرویسهایی همچون بینگ از قانون مور که میگوید تعداد تراتزیستورها در یک تراشه هر 18 ماه دو برابر میشوند، عبور کردهاند. این بدان معنا است که نمیتوانید برای حل مشکل پاسخگویی سریع و انعطافپذیری زیاد، تنها بر تعداد پردازشگرها متکی باشید. با وجود این، در حالت کلی این امکان وجود ندارد تا برای هر مشکلی که پیش میآید، تراشههای تخصصی تولید کنید؛ به دلیل اینکه فرایندی هزینهبر است. اما مدارهای مجتمع دیجیتال برنامهپذیر میتوانند این شکاف را پر کنند. آنها نه تنها به مهندسان اجازه ساخت تراشههای پرسرعتتر و کممصرفتری را در مقایسه با خط مونتاژ پردازشگرهای مرکزی همهمنظوره میدهند، بلکه به آنها اجازه میدهند این تراشهها را برای حل مشکلات جدید، تغییراتی که در دنیای فناوری رخ میدهد یا مدلهای تجاری جدید، مجدداً برنامهریزی کنند.
از آمازون در ایالات متحده تا بایدو در چین، همه غولهای اینترنتی در سراسر جهان در حال مجهزکردن سرورهایشان به تراشههای استانداردی هستند که خودشان آنها را طراحی کردهاند؛ این تراشههای سفارشی سیلیکونی در قالب مکملی در کنار واحد پردازش مرکزی (CPU) استفاده خواهند شد
در جلسهای که بعد از تعطیلات برگزار شد، برگر به مدیران اجرایی بینگ اعلام کرد که تراشه جدید ضمن آنکه از انرژی کمتری استفاده میکند، شتاب خاصی به جستوجوها میبخشد، اما مدیران اجرایی متقاعد نشدند. در نتیجه برگر و گروه تحت سرپرستی وی به مدت چند ماه کار روی طراحی یک نمونه اولیه از این محصول را آغاز کردند تا نشان دهند این تراشه قادر است الگوریتمهای یادگیری ماشینی بینگ را صد برابر سریعتر اجرا کند. آنها مجبور شدند از تعطیلات کریسمس پوتمان نیز استفاده کنند. جیم لارس، یکی از اعضای این گروه که اکنون رئیس مرکز ملی اکو پلیتکنیک سوییس در لوزان است، در این باره گفته است: «آن مقطع زمانی بههیچوجه دلپذیر نبود. آنها بهراستی شرایط سختی را برای ما به وجود آوردند.» نمونه اولیه ساختهشده، یک جعبه اختصاصی با شش عدد FPGA بود که با یک رک پر از سرور به اشتراک گذاشته شده بود. اگر این جعبه قفل میکرد یا ماشینها به بیش از شش عدد FPGA نیاز داشتند، مدلهای یادگیری ماشینی به طور فزایندهای پیچیده شده و در نتیجه همه ماشینها با مشکل جدی روبهرو میشدند. مهندسان بینگ از این پیشامد بیزار بودند. لارس میگوید: «آنها درست میگفتند.» در نتیجه گروه برگر ماههای زیادی را صرف ساخت نمونه آزمایشی دوم کرد. نمونه دوم، یک صفحه مدار بود که به هر سروری متصل میشد و تنها شامل یک FPGA بود. (شکل 3) اما این توانایی را داشت تا به همه بردهای FPGA که روی سرورهای دیگر قرار داشتند، متصل شود. این تکنیک مخزن بسیار بزرگی از تراشههای برنامهپذیر را به وجود میآورد که میتوانست هر ماشین بینگ را سرویسدهی کند. این نمونه آزمایشی روی میز چی لو قرار گرفت. او هزینه لازم برای ساخت و آزمایش بیش از 1600 سرور مجهز به تراشههای FPGA را در اختیار برگر قرار داد. گروه شش ماه زمان صرف ساخت سختافزارهای مربوطه کرد. برای این منظور آنها از کمکهای تولیدکنندگان چینی و تایوانی استفاده کردند و در ادامه اولین رک را در مرکز داده آزمایشی مایکروسافت واقع در کمپ مایکروسافت نصب کردند. شبی بر اثر حادثهای، سامانه دچار حریق شد؛ سه روز وقت صرف کردند تا رک را به شکل اولیه خود بازگردانند. رک هنوز هم کار میکرد. در خلال سالهای 2013 و 2014 و به مدت چندماه، آزمایشهایی انجام شد و نتایج بهدستآمده نشان داد که درخت تصمیمگیری بینگ یا همان الگوریتمهای یادگیری ماشینی با استفاده از تراشههای جدید 40 مرتبه سریعتر شدهاند. در تابستان 2014، مایکروسافت اعلام کرد که به زودی این سختافزار را در مراکز داده بینگ مستقر خواهد کرد.
جستوجویی فراتر از بینگ بینگ برآیند جاهطلبی آنلاین مایکروسافت در یک دهه اخیر است. اما در سال 2015، این شرکت دو سرویس آنلاین پرقدرت را در کنار بینگ در اختیار داشت؛ بسته آفیس 365 که بهمنظور افزایش بهرهوری کسبوکارها ارائه شد و سرویس رایانش ابری آژر که از جمله سرویسهای آنلاین قدرتمندی به شمار میروند که در کنار بینگ در اختیار مایکروسافت قرار دارند. مدیران مایکروسافت همانند سایر رقبای خود به حقیقت مهمی که در بطن این سرویسها وجود دارد، پی برده بودند. آنها بهخوبی میدانستند تنها راهی که ضامن بقای امپراتوری آنها است و کمک میکند همچون گذشته مسیر موفقیت را طی کنند، این است که زیرساختهای مناسبی را برای همه سرویسهایی که در حال اجرا هستند، به شکل مؤثری ایجاد کنند. در نتیجه اگر پروژه Catapult قرار است مایکروسافت را به سمت جلو هدایت کند، نباید محدود به بینگ شود. این پروژه باید با محصولات دیگری همچون آفیس 365 و آژر نیز در تعامل باشد. مشکلی که وجود داشت، این بود که مدیران آژر اهمیت چندانی برای یادگیری ماشینی قائل نبودند. این در حالی بود که ترافیک سنگینی پیرامون مراکز داده آژر به وجود آمده و این ترافیک به طور فزایندهای رو به افزایش بود. پردازندههای مرکزی این سرویس نمیتوانستند با سرعت بالایی به این حجم از درخواستها پاسخ دهند. سرانجام مارک روسینویچ، مدیر معماری آژر، اعلام کرد که Catapult این ظرفیت را دارد تا به آنها در این زمینه کمک کند؛ به دلیل اینکه ساختار آن به گونهای طراحی شده است که تنها مختص بینگ نباشد. گروه او به تراشههای برنامهپذیری نیاز داشتند که بتوانند هر سرور را به شبکه اولیه خود متصل کند. این کار به آنها اجازه میداد تا همه ترافیک را قبل از آنکه به سرور انتقال پیدا کنند، پردازش کنند. در نتیجه گروه تولیدکننده FPGAها یکبار دیگر برای بازسازی سختافزارهای جدید به میدان وارد شد. با عرضه سومین نمونه آزمایشی، تراشهها نه تنها میتوانستند در لبه هر سرور قرار بگیرند و مستقیماً به شبکه متصل شوند، بلکه این انعطافپذیری را داشتند تا همچنان مخزنی از FPGAها را برای هر ماشینی که به آنها نیاز داشت، در دسترسش قرار دهند. (شکل 4) مشابه همین مکانیزم در آفیس 365 به مرحله اجرا درآمد. اکنون پروژه Catapult آماده بود تا به طور زنده استفاده شود. لارس در این باره گفته است: «طراحیهای زیادی در این زمینه انجام شد که درست همانند ادامه پیدا کردن کابوس شبانه بود؛ نه فقط به این دلیل که نیاز به ساخت سختافزار جدید ضروری بود، بلکه به این دلیل که با هر بار تغییر طرح، مجبور بودیم FPGAها را دوباره برنامهریزی کنیم. این واقعا وحشتناک و بدتر از برنامهنویسی یک نرمافزار است. این کار بهمراتب سختتر از برنامهنویسی بوده و همچنین برطرف کردن مشکلات نیز به همان شدت سخت است. اما در نهایت خروجی کار جذاب بود. این کار درست همانند این بود که قصد داشته باشید تغییرات کوچکی در گیتهایی که روی یک تراشه قرار دارند، ایجاد کنید.»
هزینه سختافزاری Catapult حدود 30 درصد کمتر از سرورهایی است که مایکروسافت بهطور معمول از آنها استفاده میکند. این سختافزارها، 10 درصد انرژی کمتری استفاده میکنند و فرایند پردازش دادهها را دو برابر سریعتر از زمانی که این شرکت سختافزارهای جدید در اختیار نداشت، مدیریت میکنند. مایکروسافت آژر از این تراشههای برنامهپذیر برای تعیین مسیر دادهها استفاده میکند. این تراشهها روند ورود به عصر جدیدی را که درباره هوش مصنوعی و شبکههای عمیق عصبی است، برای موتور جستوجوی بینگ تسهیل میکنند که حدود 20 درصد بازار جستوجوی جهانی مرتبط با ماشینهای دسکتاپ و شش درصد بازار جستوجوی جهانی مرتبط با دستگاههای همراه را از آن خود کرده است. آنگونه که یکی از کارمندان مایکروسافت گفته است، آفیس 365 در حال حرکت به سمت FPGAهایی است که بهمنظور رمزنگاری، فشردهسازی و همچنین یادگیری ماشینی استفاده میشوند. این تغییر رویکرد بهمنظور سرویسدهی مناسب به 23.1 میلیون کاربری است که از آفیس 365 استفاده میکنند؛ کاربرانی که عمدتاً سازمانهای بزرگ تجاری هستند. برگر در این باره گفته است: «این تراشهها به تمامی سرویسهای مایکروسافت قدرت خواهند بخشید.»
صبر کنید؛ آیا دستاورد جدید واقعا کار میکند؟ پیتر لی گفته است: «این تراشهها هنوز هم من را شگفتزده میکنند. ما مایکروسافت را متقاعد کردیم که این کار را انجام دهد.» لی مسئولیت نظارت بر یک سازمان درونی در واحد تحقیقات مایکروسافت موسوم به NExT، سرنام New Experiences and Technologies را بر عهده دارد. پس از اینکه ساتیا نادلا به سمت مدیرعاملی مایکروسافت منصوب شد، فشار زیادی وارد کرد تا این سازمان جدید در مایکروسافت ایجاد شود. این پافشاری برای تأسیس یک سازمان جدید، نشاندهنده تغییر رویکرد نسبت به سلطنت 10 ساله بالمر بود. هدف او از به وجود آوردن این سازمان، شتاب بخشیدن به روند توسعه پژوهشهایی بود که دیر یا زود به حقیقت مبدل میشوند. پژوهشهایی که میتوانند در عصر جدید، فصل جدیدی را برای مایکروسافت رقم بزنند. پروژه Catapult تنها اولین نمونه از این ایدههای نوین بود. Catapult بخشی از یک تغییر بسیار بزرگ در صنعت است. برگر در این باره گفته است: «این یک جهش پیشبرنده است. ما در حال ورود به عصر فناوریهایی هستیم که وابستگی کمتری به پردازشگرهای مرکزی خواهند داشت.» شکل پنج، نمایی از نسخه نهایی سختافزار جدید را نشان میدهد. همه غولهای اینترنتی همچون مایکروسافت، در کنار پردازشگرهای مرکزی و گرافیکی، بهمنظور رندر کردن تصاویر ویژه بازیها و دیگر برنامههای کاربردی که به جلوههای بصری نیازمند هستند، از مکملهایی که همان تراشههایی هستند که خودشان طراحی کردهاند، استفاده میکنند. گوگل از مدتها قبل کار روی طراحی پردازنده مختص خودش را که مربوط به اجرای شبکههای عصبی است و واحد پردازشی تانسور نامیده میشود، به مرحله اجرا در آورده است. با استفاده از TPUها، گوگل انعطافپذیری خاصی در زمینه سرعت به دست میآورد. این تراشهها باعث میشوند زمانیکه فرمانهای صوتی از طریق گوشیهای هوشمند ارسال میشوند، زمان تأخیر درک فرمانها به صفر برسد. اما مشکل کار این است که اگر مدل شبکه عصبی تغییر یابد، گوگل باید تراشه جدیدی تولید کند. اما مایکروسافت همراه با FPGAها در حال انجام بازی دیگری است که البته راه طولانی در این زمینه پیشرو دارد. هر چند FPGA در مقایسه با نمونه سفارشی گوگل سرعت کمتری دارد، اما مایکروسافت میتواند هر زمان به بازبرنامهریزی این تراشهها بر مبنای هدف جدیدی نیازی داشت، این کار را انجام دهد. مایکروسافت نه تنها میتواند این تراشهها را در راستای مدلهای جدید هوش مصنوعی برنامهریزی کند، بلکه این توانایی را دارد تا آنها را برای هر کاربرد دیگری دومرتبه برنامهریزی کند. اگر مایکروسافت احساس کند هر یک از آن طرحها این ظرفیت را دارند تا برای سالهای متمادی مفید واقع شود، همواره میتواند FPGAها را مجدداً برنامهریزی کرده و تراشه خاص خودش را طراحی کند. سرویسهای مایکروسافت بسیار گستردهاند و در نتیجه این شرکت به FPGAهای زیادی نیاز دارد. همین موضوع باعث میشود تا بازار تراشهها در سراسر جهان دستخوش تغییراتی شوند. FPGAها را شرکتی به نام Altera آماده میکند. دایان برایانت، معاون اجرایی اینتل در این باره گفته است: «به همین دلیل است که اینتل، شرکت Altera را در تابستان سال گذشته به ارزش 16.7 میلیون دلار خریداری کرد. این بزرگترین خرید تولیدکنندگان تراشههای کامپیوتری در جهان به شمار میرود. تا سال 2020 یکسوم همه سرورهای جهان در مراکز محاسباتی خود از سرورهایی استفاده خواهند کرد که به تراشههای FPGAها مجهز شدهاند.»
شکل 5: سختافزار جدید کارتی است که بهراحتی درون اسلات هر یک از سرورهای مایکروسافت وارد شده و مستقیماً به یک شبکه متصل میشود.
به نظر میرسد با دنیایی از کلمات اختصاری مختلف همچون CPUها، GPUها، TPUها و FPGAها روبهرو شدهایم و باید با این مفاهیم آشنایی ضمنی داشته باشیم. همراه با رایانش ابری، شرکتهایی همچون مایکروسافت، آمازون و گوگل در حال هدایت دنیای فناوری به سمتی هستند که از تراشههای جایگزینی خودشان برای سرویسدهی به برنامهها و سرویسهای آنلاین در سراسر جهان استفاده کنند. لی میگوید: «پروژه Catapult به مایکروسافت اجازه خواهد داد تا سال 2030 بر قدرت ابرکامپیوترها بیفزاید. بعد از این تاریخ، مایکروسافت میتواند به سمت رایانش کوانتومی حرکت کند.»