در ابتدای دههی ۱۹۹۰، دنیای محاسبات عمدتاْ با استفاده از معماری RISC (مخفف: Reduced Instruction Set Computer - بهمعنی: مجموعه دستورالعمل کاهشیافته کامپیوتر) انجام میشد. پردازندههای SPARC، آلفا، پاور و MIPS محاسبات سنگین و جدی را انجام میدادند. از طرفی پردازندههای اینتل به هیچعنوان مطرح نبودند و تنها برای اجرای اپلیکیشنهای شخصی روی رایانههای شخصی مناسب بودند. اما تقریبا هیچکس اینتل را بهعنوان یک مدعی جدی برای محیط سرورها تلقی نمیکرد.
استدلال اینتل بسیار مهم بود و تقریبا هیچ کس آمادگی تشخیص اهمیت آن را نداشت؛ با تسلط اینتل بر بازار کامپیوتر، این شرکت بهسرعت تبدیل به بزرگترین تولیدکنندهی پردازنده در جهان شد و با چنین درآمد عظیمی، کارتهای خود را به خوبی بازی کرد. اینتل تا اوایل سال ۲۰۰۰ موفق شد تا معماری CISC خود (Computer Complex Instruction Set) را که یکی از بهترینها در نوع خود به نسبت توان محاسباتی و قیمت بود، عرضه کند. در آن زمان، نبض بازار بهوضوح در دست RISC بود. این دستاورد شگفتانگیز، منتقدان CISC را خاموش کرد و راه تسلط بر پردازندهها را نهتنها در جهان رایانههای شخصی، بلکه در جهان محاسبات سروری، برای ۲۰ سال آینده هموار کرد.
اینتل با تسلط بر بازار کامپیوتر، بهسرعت تبدیل به بزرگترین تولیدکنندهی پردازنده در جهان شد
اینتل با شروع سال ۲۰۱۰ بهسرعت بر بازار پردازندههای سرور غالب شد و آن را در دست گرفت. بااینحال در آن زمان، اتفاقی انقلابی رخ داد: بازار موبایل و سیستمهای یکپارچهشده منجر به ساخت معماری ARM شد که پرکاربردترین معماری در این زمینه و محیط به شمار میرود.
تا سال ۲۰۱۷، بیش از ۱۰۰ میلیارد پردازنده ARM تولید شد. در حال حاضر معماری ARM بیشترین استفاده را در جهان دارد. اشتراکوجهی جالب بین وضعیت اینتل در پایان دههی ۱۹۹۰ و ARM در پایان سال ۲۰۱۰ وجود داشت: هر دو شرکت مسئول طراحی بیشترین استفاده از پردازندهها در جهان بودند. دراینمیان تفاوت مهمی وجود داشت؛ درحالیکه اینتل توانست طرحهای خود را خودش پبادهسازی کند، ARM کار اجرایی را به فروشندگان شخص ثالث واگذار کرد. البته، واقعیت این است که این عواقب ناشی از قصد رقابت ARM با اینتل است.
برنامهی ARM برای بهبود عملکرد پردازنده
باتوجهبه اینکه پردازندههای ARM جهان موبایل و سیستمهای یکپارچهشده را تحت سلطهی خود گرفتهاند، این سؤال پیش میآید که آیا ARM درصدد ورود به بازار کامیپوترهای شخصی است یا خیر؟ البته باتوجهبه توسعهی روزافزون بازار سرورها، آرم برای ورود به این حوزه نیز بیعلاقه نیست؛ در سال ۲۰۱۸، شرکت ARM نکتهی مهمی را برای پاسخ به این سؤال ارائه داد: آنها واقعا میخواهند با معرفی پردازندهی Cortex A76 و بازتعریف تواناییهای ARM، وارد رقابت با اینتل شوند.
از سوی دیگر واقعیت این است که ARM نهتنها برای استفاده از هستههای خود گواهی آنها را میفروشد، بلکه براساس مجموعه دستورالعملها، امکان خرید مجوز معماری ARM برای فروشندگان جهت طراحی هستهی پردازندهها نیز فراهم شده است. این باعث میشود که دیگر بازیگران دنیای تکنولوژی مانند اپل، کوالکوم، انویدیا، کاویوم (در حال حاضر مارول)، برودکام، اپلیدمایکرو و سامسونگ الکترونیکس، پردازندههای ARM را تولید و حتی از آنها در سناریوهای مختلف استفاده کنند.
یکی از نمونههایی که برای این بحث میتوان مطرح کرد، مارول است که با پردازنده ThunderX2 خود وارد بازار سرورهای محاسباتی شد. درواقع، یک اَبَررایانهی جدید با بیش از ۱۰۰ هزار هستهی ThunderX2 اخیرا وارد رتبهبندی TOP500 شده است. این اولینبار است که یک کامپیوتر مبتنی بر ARM وارد این فهرست میشود، فهرستی که تقریبا در طول دو دهه تحت سلطهی معماری اینتل قرار گرفته است.
پردازندهی کرین ۹۸۰
بیایید به پردازندهی کرین ۹۸۰ هواوی نگاهی بیندازیم، یک SoC (مخفف: System On a Chip) که از هستهی ARM A76 داخلی استفاده میکند. این یک نمونهی خوب از طراحی داخلی با استفاده از IP هستهی ARM است که مجوز استفاده از آن در یک تراشهی پردازنده (یا SoC) به فروشندهی دیگر (در اینجا هواوی) واگذار شده است. کرین ۹۸۰ دارای ۴ هستهی A76 و ۴ هستهی A55 است، اما A76 قدرتمندتر است (هستهی A55 بیشتر برای وظایف سبکتری که مصرف انرژی کمتری نیاز دارند، استفاده میشود و این در گوشیها بسیار حائز اهمیت است).
یک ابررایانهی جدید با بیش از ۱۰۰.۰۰۰ هستهی ThunderX2 اخیرا وارد رتبهبندی TOP500 شده است
هستهی A76 بهگونهای طراحی شده که بتواند با استفاده از تکنولوژی ۷ نانومتری اجرا شود (مانند کرین۹۸۰ که پس از پردازندهی Apple A12 دومین SoC در جهان است که با استفاده از نود ۷ نانومتری طراحی و ساخته شده است) و از تکنولوژی DynamIQ ARM پشتیبانی میکند. این تکنولوژی امکان مقیاسپذیری برای الزامات خاصی از SoC را هدف قرار میدهد. کرین ۹۸۰ در یک گوشی اجرا میشود (هواوی میت ۲۰) و در این سناریو، توان طراحی حرارتی (TDP) نمیتواند از ۴ وات تجاوز کند. بنابراین DynamIQ باید در حفظ آن بسیار محافظهکارانه عمل کند و از فعال شدن هستههای همزمان بیشتر جلوگیری کند.
ARM میگوید که آنها A76 را بهعنوان رقیب Intel Skylake Core i5 طراحی کردهاند. این مورد را بررسی خواهیم کرد. برای این کار، هدف این است که پردازندهی کرین ۹۸۰ را در یک گوشی هواوی میت ۲۰ با پردازندهی Core i5 موجود در یک مکبوکپرو مقایسه کنیم (اواخر سال ۲۰۱۶). در اینجا این عملکرد جانبی درکنار مجموعه دادههای بارگیری شده است:
میتوانیم چندین مسئله را ببینیم. اول اینکه، سرعت محاسبهی زمانی، بدون هیچ تراکمی در هر دو پردازنده مشابه است. واقعیت این است که عملکرد کرین ۹۸۰ تقریبا همانند پردازندهی Core i5 است. شواهد نشان میدهد که ARM در طراحی حافظهی پیشفرض بسیار خوب عمل کرده است، بهطوریکه اجازهی یک همبستگی و هماهنگی خوب در سطح حافظه را به کاربر میدهد.
مسئلهی دوم، در شرایط متراکم، Core i5 هنوز هم ۵۰ درصد سریعتر از کرین ۹۸۰ است؛ اما نسبت میزان افزایش عملکرد (تا ۴ ترد) برای هر دو پردازنده بهصورت مشابه بالا میرود. خبر اصلی این است که پردازندهی Core i5 دارای توان حرارتی (TDP) به مقدار ۲۸ وات است، درحالیکه برای کرین ۹۸۰ تنها ۴ وات (و احتمالا کمتر از آن) است. میتوان نتیجه گرفت که DynamIQ ARM به زیبایی کار میکند تا بتواند ۴ هستهی قدرتمند را بهطور همزمان در چنین سناریوی محدودکنندهای به اجرا در بیاورد (به یاد داشته باشید که این بنچمارک ازطریق گوشی انجام شده است).
همچنین درست است که ما در حال مقایسهی پردازندهی اینتل از سال ۲۰۱۶ با پردازندی کرین ۹۸۰ از سال ۲۰۱۸ هستیم؛ اما میتوانیم نمونه های اینتل را نشان دهیم که با توان ۱۰ وات، عملکرد مشابهی با این پردازندهی i5 مورد بررسی دارند (بهعنوان مثال i5-8265U با تنظیم TDP پایینتر)؛ اگرچه واقعا مطمئن نیستیم که چگونه پردازندهی اینتل با چنین محدودیت توانی شدیدی همچنان قدرتمند عمل میکند. به هر حال، واضح است که کرین ۹۸۰ هنوز هم بهاندازهی کمتر از نیمی از توان همتای اینتلی خود مصرف میکند و احتمالا قیمت آن نیز بسیار کمتر از اینتل است.
برای اطلاعات بیشتر: در علوم رایانه، اجرای یک ترد اجرایی یا ریسهی اجرایی (به انگلیسی: Thread) کوچکترین توالی از دستورالعملهای برنامهریزیشده است که زمانبندی سیستمعامل میتواند آنها را به شکل مستقل مدیریت کند. یک ریسه، یک فرایند سبک است. پیادهسازی ریسهها و فرایندها از یک سیستمعامل به سیستمعامل دیگر متفاوت است اما در اکثر موارد، ریسه در داخل یک فرایند قرار میگیرد.
کرین ۹۸۰ هنوز هم کمتر از نیمی از توان همتای اینتلی خود مصرف میکند و احتمالا قیمت آن نیز بسیار کمتر از اینتل است
این سری واقعیتها گواه خوبی هستند بر اینکه ARM بهطور جدی میخواهد از جانب عملکرد، اینتل را غافلگیر کند و آن را به چالش بکشد و احتمالا برگ برندهی ARM، مصرف انرژی کمتر در پردازندههایش است؛ جای تعجب نیست که اینگونه باشد. با تجربهی چندین دههای که ARM دارد، پردازندههایش بیشترین صرفهجویی را در انرژی دارند.
اما دلیل دیگر کاهش قابلتوجه در مصرف انرژی، به نوع تکنولوژی ساخت ARM در طرحهای جدیدش بازمیگردد. چرا که این شرکت از نود ۷ نانومتری استفاده میکند. در مقابل، اینتل از نود ۱۴ نانومتری بهره میبرد؛ بدون شک، مزیت ARM در صرفهجویی مصرف برق برای برنامهی سلطهی جهانی بر بازار پردازندهها بسیار مهم است.
پردازندهی ThunderX2
راه دومی که ARM برای فروش مجوزهایش به کار میبرد، به اصطلاح فروش مجوز معماری است که به شرکتها اجازه میدهد براساس دستورالعملهای ARM هستهی پردازندههای خود را طراحی کنند. کاویوم (که اکنون توسط مارول خریداری شده است) یکی از این شرکتها بود که با استفاده از طراحی متفاوت، پردازندههایی ساخت و درنهایت با ساخت پردازندهی وولکان به اوج خود رسید. این میکرومعماری قدرت پردازندهی ThunderX2 را که در ماه می ۲۰۱۸ عرضه شد، تأمین میکند.
وولکان یک میکرومعماری ۶۴ بیتی ARM و ۱۶ نانومتری با عملکرد بالا است که بهطور خاص برای رقابت در حوزهی سرعت محاسباتی/داده تجهیزات سرور ساخته شده است (میتوانید آن را بهعنوان یک ریز پردازندهی سرور بر پایهی ARM و مبتنی بر کلاس Xeon درنظر بگیرید). ThunderX2 میتواند تا ۳۲ هستهی وولکان را در خود جای دهد و هر هستهی وولکان تا ۴ ترد را پشتیبانی میکند؛ درنهایت کل پردازنده میتواند تا ۱۲۸ ترد را اجرا کند. با توانایی این پردازنده در اجرای بسیاری از تردها بهطور همزمان، انتظار داشتیم که قدرت محاسباتی خام آن، غیرقابل توصیف باشد.
برای بررسی اینکه ThunderX2 تا چه حدی میتواند قدرتمند باشد، قصد داریم ThunderX2 CN9975 را (درواقع یک جعبه با ۲ نمونه از آن، هر نمونه شامل ۲۸ هسته) با یکی از رقبای طبیعی خود، یعنی Intel Scalable Gold 5120 (درواقع یک جعبه با ۲ نمونه از آن، هر نمونه شامل ۱۴ هسته) مقایسه کنیم.
مشاهده میشود که وقتی فشردهسازی مورد استفاده قرار نمیگیرد، نمونهی اینتل بسیار بهتر و قابل پیشبینیتر عمل میکند. بااینحال هنگامی که در انجام وظایف محاسبات، تردها بهاندازهی کافی باشند، ThunderX2 قادر است به کارایی مشابه (تقریبا ۷۰ گیگابایت در ثانیه) اینتل برسد. این یک واقعیت بسیار جالب است؛ زیرا برای اولینبار نشان میدهد که یک پردازندهی ARM میتواند پهنای باند حافظهی خود را با آخرین نسل از پردازندهی اینتل مطابقت دهد (که BTW در آن عملکرد بسیار خوبی داشت).
باتوجهبه سناریوی فشردهسازی، اینتل Scalable هنوز هم بیش از دو برابر سریعتر از ThunderX2 عمل میکند و همچنان نشان میدهد که در مقیاسپذیری قابلقبول است. از سوی دیگر، اگرچه ThunderX2 یک گام خوب در جهت بهبود عملکرد معماری ARM برداشته است، اما هر دو پردازنده در رسیدن به قدرت محاسباتی خام و مقیاسپذیری اینتل راه طولانی در پیش دارند.
یک پردازندهی ARM میتواند پهنای باند حافظهی خود را با آخرین نسل از پردازندهی اینتل مطابقت دهد
هنگامی که به مصرف انرژی نگاه میکنیم، اگرچه قادر نیستیم میزان دقیقی را برای مدل ThunderX2 CN9975 که در بنچمارکهای بالا استفاده شده است، پیدا کنیم، اما احتمالا در محدودهی ۱۵۰ وات در ازای هر پردازنده قرار دارد که بسیار بزرگتر از همتای Intel Scalable 5120 با حدود ۱۰۰ وات در هر پردازنده است. این جمله به این معنا است که اینتل در پردازنده خود از قدرت بسیار کمتری استفاده میکند و در حال حاضر یک مزیت آشکار در محاسبات سرور به آنها میدهد.
بررسی نهایی
از این نتایج کاملا مشهود است که ARM گامهای بزرگی در جهت رسیدن به عملکرد اینتل برداشته است، بهویژه در سمت کلاینتها از جمله لپتاپها و کامپیوترهای رومیزی مصرف برق کاهش قابلتوجهی داشته است که این برای لپتاپ نکتهی مهمی محسوب میشود. این نکات را در ذهن داشته باشید و زمانیکه قصد دارید لپتاپ یا رایانهی رومیزی خود را خریداری کنید، بهسادگی فکر نکنید که اینتل تنها گزینهی منطقی و معقول پیشرو برای خرید است.
در سمت سرور، اینتل همچنان برتری و مزیتهای مهم خود را حفظ کرده است و گرفتن تاج پادشاهی عملکرد از او آسان نخواهد بود. بااینحال، واقعیت این است که ARM به فروشندگان مختلف اجازه میدهد تا محصولات خود را تولید کنند؛ این بدان معنا است که رقابت ویژهای میتواند در میان باشد و هر فروشنده آزاد است که در جنبههای مختلفی از محاسبات سرور رقابت کند.
بنابراین بعید نیست که در چند سال آینده شاهد نمونههای جدیدی از پردازندههای ARM باشیم که نهتنها رکوردهای بالایی را ثبت میکنند؛ بلکه برای انجام وظایف مختلفی مانند ذخیرهسازی و خدمت به دادههای بزرگ، مسیریابی دادهها یا انجام هوش مصنوعی و وظایف مختلف برنامهریزی میشوند. بهعنوان نمونه مارول در تلاش است تا ThunderX2 را بهطور خاص در موقعیت سناریوی سرور داده قرار دهد که میتواند برای معماری اینتل در حفظ سلطهی کنونی خود در مراکز داده بسیار مشکلساز باشد.
درنهایت، ما نباید این واقعیت را فراموش کنیم که توسعهدهندگان نرمافزارها برای دههها، کتابخانههایی را با کارایی بالا با استفاده از باکسهای انحصاری اینتل ساختهاند. بنابراین توسعه و ساخت این کتابخانهها برای معماری اینتل بسیار کارآمد و مؤثر است. همانطور که در اینجا دیده میشود، اگر معماری ARM بتواند در سناریوهای کلاینت و سرور جایگزین شود، پس توسعهدهندگان نرمافزار باید بهصورت فزایندهای از باکسهای ARM بهعنوان بخشی از ابزار خود استفاده کنند تا بتوانند در جهانی پس از پایان دوران سلطهی اینتل نیز همچنان قدرت رقابتی خود را حفظ کنند.