نگاهی عمیق به پردازندههای جدید 7 نانومتری AMD Epyc Rome
رونمایی AMD از پردازندههای ۷ نانومتری دسکتاپ رایزن سری ۳۰۰۰ گامی بزرگ برای این شرکت بود. برای نخستین بار در طی چند دهه، AMD توانست به شرکت رقیبش، اینتل برسد و حتی آن را شکست دهد. این برتری در تمامی ویژگیهای اصلی پردازندهها صدق میکند؛ ویژگیهایی نظیر کارایی تکهسته، کارایی چندهسته، بهینگی توان/گرما و قیمت. اشخاص ثالث عملکرد کمنظیر پردازندههای AMD را تأیید و آن را یک موفقیت واقعی قلمداد کردهاند. اما سوالی بزرگ همچنان باقی است: آیا این شرکت میتواند موفقیت پردازندههای ۷ نانومتری خود را در حوزههای موبایل و سرور نیز تکرار کند؟
AMD بهتازگی بهطور رسمی از پردازندههای جدید سری اپیک ۷۰۰۲ (Epyc 7002) موسوم به Rome پرده برداشت. به نظر میآید نیمی از سؤال بزرگ ما بهطور کاملی پاسخ داده شده است. پس از ورود هجمه به بنچمارکهای رایزن ۳۰۰۰ که توسط خود AMD گرفته شده بود، این شرکت تهیهی بنچمارک از پردازندههای جدیدش را به رسانهها سپرده تا عملکرد سختافزار آنها را مورد بررسی قرار دهند.
خلاصهی نتایج به این قرار است: اپیک «روم» برای سرور برابر با رایزن ۳۰۰۰ برای دسکتاپ است. IPC (تعداد عملیات در هر سیکل) بهبود یافته، هستههای بیشتر و کارایی گرمایی بالاتر این پردازنده نسبت به رقیب اینتلی و نسلهای گذشته همین سری کاملا بارز است.
عملکرد
Epyc Rome عملکرد تکترد ضعیفتری نسبت به Xeon دارد اما این اختلاف کاهش قابل توجهی داشته است
روم تعداد تردهای (thread) بسیار بیشتری در هر سوکت نسبت به پردازندههای Xeon Scalable دارد. همچنین این پردازنده نرخ زمانی DDR4 بالاتری دارد و از ۱۲۸ مسیر PCIe 4.0 پشتیبانی میکند (هرکدام از مسیرهای PCIe 4.0 دو برابر PCIe 3.0 پهنای باند دارد). این ویژگیها در دیتاسنترهای بزرگ بسیار حائز اهمیت است زیرا در این مراکز علاوه بر قدرت خام پردازندهها، سرعت انتقال دادهها و عدم بروز گلوگاههای داده نیز بسیار مهم است. روم بهطور معناداری نسبت به نسلهای سابق Epyc بهبود یافته است. کارایی بالاتر و حذف گلوگاهها در تنظیمات چند سوکته از جمله این بهبودها به شمار میروند.
روم همچنان قادر به شکست قویترین پردازندههای زئون در نرخ زمانی سختافزار یا کارایی تک هسته نیست اما از همیشه به زئون نزدیکتر است. این بهبود تا حد بسیاری مدیون بهبودهای بسیار زیاد AMD در معماری این پردازندهها است که در اسلایدهای شرکت مذکور در روز معرفی نام برده شدند.
در بررسی زیر بهطور تخصصی نسخههای دو سوکته پردازندههای AMD و اینتل مورد بررسی قرار میگیرند؛ یعنی پردازندههای Epyc 7742 (با ۶۴ هسته و ۱۲۸ ترد)، Epyc 7502 (با ۳۲ هسته و ۶۴ ترد) در مقابل Xeon Platinum 8280 (با ۲۸ هسته و ۵۶ ترد) و Xeon Gold 6138 (با ۲۰ هسته و ۴۰ ترد).
PyBench یک ابزار بنچمارک تک تردای است. نرخ زمانی بالاتر پردازندههای Xeon در اینجا کاملا به چشم میآید
MKL-DNN یک بسته نرمافزاری اینتل است که بهشدت برای پردازندههای Xeon بهینه شده، اما پردازندههای رم پایاپای اینتل را تعقیب میکنند
بهینهسازیهای اینتل در نرمافزار این شرکت در این تست کاملا ملموس است
Epyc Rome در عملکرد چندتردای نسبت به Xeon کاملا برتر است
در تستهای تک تردای مانند PHPBench و PyBench راحت میتوان ۱۵ درصد بهبود عملکردی را که AMD از آن صحبت به میان آورده بود، مشاهده کرد. تفاوت عملکرد تک تردای پردازندههای AMD و اینتل نیز به کمترین میزان خود رسیده است. Epyc Rome همچنان قاعده را به Xeon Scalable میبازد اما تفاوت عملکردی آنها از ۵۰ درصد به ۲۰ درصد تقلیل یافته است. Xeon Scalable در تستهای انکدینگ ویدئو MKL-DNN نیز برتر ظاهر میشود (البته با تعلق این بسته نرمافزاری به خود اینتل و بهینهسازیهای آن برای سری Xeon دور از انتظار نیست).
درست است که اینتل برتری ناعادلانهای در بنچمارکهای MKL-DNN دارد اما به هرحال پردازندههای اینتل در این تستها برتر بوده و انتخاب مناسبتری برای کاربرانی هستند که کاربری با محوریت MKL-DNN دارند.
در تستهای vendor-neutral و چندتردایپسند مانند انکد ویدیوهای x265 یا بنچمارک OpenSSL پردازندههای Epyc میدرخشند
در تستهایی با تمرکز بر کاربری vendor-neutral و چندتردایپسند (multithreading-friendly) مانند انکد ویدیوهای x265 و OpenSSL، پردازندههای روم نسبتبه زئونها کاملا برتر ظاهر شدند.
AMD در عملکرد چندتردای برتر از اینتل بوده و در عملکرد تکتردای نیز فاصلهی خود را با اینتل به میزان قابل توجهی کاهش داده است.
هزینه
پردازندههای Platinum 8280 و Gold 6138 به ترتیب دههزار (۱۰۰۰۰) و دوهزاروهفتصد (۲۷۰۰) دلار قیمتگذاری شدهاند. اما در آن سو پردازندههای Epyc 7742 و Epyc 7502 شرکت AMD به ترتیب هفتهزار (۷۰۰۰) و دوهزاروششصد (۲۶۰۰) دلار قیمت دارند. در پایهایترین حالت پردازندهها بهتر است بهصورت هزینه بر ترد مقایسه شوند.
پردازندههای Epyc بهطور واضحی از Xeon ارزانترند اما نکته جالبتر نزدیکبودن قیمت بر ترد دو پردازنده Epyc است
نکته جالبی که از این جدول حاصل میشود، ارزانتر بودن Epyc نیست، بلکه نزدیک بودن هزینه بر ترد دو پردازنده Epyc نسبت به Xeon است. هزینهی قطعات اینتل در مدلهای بالا بهطور ناگهانی افزایش زیادی مییابد.
Epyc Rome از Xeon ارزانتر بوده و بهینگی انرژی و گرمایی آن تا ۵۰ درصد بهتر است
مصرف انرژی در روم ظاهرا مناسب است. Epyc 7742 توان طراحی حرارتی (TDP) بالاتری نسبت به Xeon 8280 دارد اما مصرف انرژی آن تنها اندکی بیشتر است (225W TDP در مقابل 205W TDP). این موضوع به همراه تعداد تردهای بسیار بالاتر آن، پردازندههای روم را از نظر مصرف انرژی بسیار بهینه میکند. طبق تستهای انجامشده Phoronix، پردازنده Epyc 7742 در تست سنگین OpenSSL حدودا ۵۰ درصد نسبت به Xeon 8280 از نظر گرمایی بهینهتر است.
پردازنده امن AMD
پردازندههای Epyc دارای یک پردازنده ARM A5 به نام پردازنده امن (AMD Secure Processor) است که خارج از پیکربندی x86 عمل میکند و از سوی لایهی سختافزاری x86 در دسترس نیست. این پردازنده برای AMD حکم موتور مدیریت اینتل (IME) را دارد. این پردازنده مانند IME، بوتهای UEFI امن را تسهیل میکند. البته این پردازندهها ممکن است موجب بروز مشکلات امنیتی «لایه صفر» شوند که خارج از دسترس و عملکرد عادی x86 بهروز دارند و تشخیص یا رفعشان نسبتا دشوار است. سابقهی امنیتی پردازندهی امن AMD بینقص نیست اما تا بدینجا از IME بهتر بوده است.
قابلیتهایی نظیر رمزنگاری امن حافظه (SME) و رمزنگاری حافظه امن (SEV) تنها با وجود یک پردازنده ناظر خارج از x86 امکانپذیر است. در پردازندههای AMD این پردازنده یک ARM A5 است.
AMD با استفاده از پردازنده امن، چند قابلیت کلیدی فراهم آورده که به اندازه کافی مورد توجه قرار نگرفتهاند: رمزنگاری امن حافظه (Secure Memory Encryption) و مجازیسازی رمزنگاریشده امن (Secure Encrypted Virtualization). درون کنترلر حافظه Epyc یک موتور AES-128 همراهبا کلیدهایی که از سوی SEP کنترل میشوند، قرار دارد. اگر رمزنگاری امن حافظه در بایوس سیستم فعال باشد، تمام رم سیستم با استفاده از کلیدی که SEP در اختیار سیستم قرار میدهد، رمزنگاری شده و هنگام درخواست از سوی CPU رمزگشایی میشود. استفاده از رمزنگاری امن حافظه و مجازیسازی رمزنگاریشده امن بهطور همزمان به رم اجازه میدهد تا با چند کلید مجزا رمزنگاری شود و کلید یکسانی با سیستمعامل میزبان نداشته باشند.
رمزنگاری امن حافظه (SME)
بهطور خلاصه: رم با AES-128 و کلیدهایی که در سطح x86 در دسترس نیستند، رمزنگاری میشود.
رمرنگاری امن حافظه به پشتیبانی سطح خاصی از سیستمعامل نیاز نداشته و کاملا شفاف نسبت به سطح اپلیکیشن عمل میکند.
رمزنگاری امن حافظه (SME) ابتدا بهعنوان یک لایهی مقاومتی جدی در برابر حملات مبتنی بر فیزیک مانند Rowhammer و RAMbleed عمل میکند. حملات مبتنی بر فیزیک بر پایه دستکاری مستقیم رم سیستم در خارج از دید و دسترس معمول پردازنده، عمل میکنند. یک روش تلطیف و مقابله با این حملات تصادفیسازی لایه (Layout Randomization) نام دارد. این تکنیک برنامهنویسی حدس مکانهایی از رم را که در اشتغال داده قرار دارد، سخت میکند و از این رو دسترسی مهاجم به داده مورد نظر دشوارتر میشود.
SME نمیتواند و نخواهد توانست تا با حملاتی که در داخل چارچوب سختافزار x86 رخ میدهد، مقابله کند اما در حملات مبتنی بر فیزیک یک سد محکم به شمار میرود و حتی در صورت رخدادن سرقت، دادهها همچنان با AES-128 با کلیدی که مهاجم به آن دسترسی ندارد، رمزنگاری شدهاند. و بهطور مشابهی، اگرچه SME نمیتواند مانع از تخریب اطلاعات حافظه با Rowhammer شود اما این آسیبپذیری را بهطور قابل توجهی کاهش میدهد.
نزدیکترین چیز به SME که هماکنون در پلتفرم اینتل وجود دارد، افزونههای حفاظتی سیگنال (SGX) است. SGX یک قسمت نسبتا کوچکی از حافظه رمزنگاری شده را به اپلیکیشنهایی که مستقیما برای استفاده از آن طراحیشدهاند، اختصاص میدهد. SGX برخلاف SME، نمیتواند توسط نرمافزارهای موروثی (Legacy Applications) مورد سوءاستفاده قرار گیرد و همچنین تأثیر معناداری بر کارایی دارد. این نتایج در آنالیزی که از سوی دانشگاه ایالتی وین و دانشگاه هیوستون صورت گرفت، به دست آمد.
مجازیسازی رمزنگاریشده امن (SEV)
مجازیسازی رمزنگاریشده امن (SEV) ایدهی رمزنگاری امن حافظه (SME) را یک گام فراتر برده و به کلیدهای مجزای AES-128 اجازه میدهد که به ماشینهایی مجازی که در لایهی زیرین پردازنده Epyc در حال اجرا هستند، اختصاص یابند. نسل اول پردازندههای Epyc تنها تا ۱۵ کلید جدا را پیشتیبانی میکردند اما در روم این تعداد به ۵۰۹ کلید افزایش یافته است. در روم ویژگی جدیدی تحت عنوان مجازیسازی رمزنگاریشده امن - وضعیت رمزنگاریشده (SEV-ES) نیز اضافه شده که وضعیت کامل پردازندهی یک ماشین مجازی را با یک کلید رمزنگاری میکند. این کلید نه برای میهمانها و نه برای خود میزبان ماشین مجازی قابل دسترسی نیست.
SEV در مقیاس بزرگ، قابلیت بسیار خوبی برای هاستهای مجازی در مقیاس دیتاسنتر است. پرواضح است که این قابلیت سدی امنیتی اضافه میکند تا از میزبان (هاست) و ماشینهای مجازی دیگر محافظت کند. البته SEV دسترسی و کنترل کاربر را نیز محدود میکند به طوری که کاربر root هم نمیتواند مستقیما وضعیت رم و پردازنده را مشاهده کند.
این لایهی اضافی امنیتی میتواند بسیاری از شرکتهایی را که محتوای بسیار حساس اما نیاز کمی به قدرت سختافزار دارند، متقاعد به استفاده از ماشینهای مجازی ارزانقیمت بهجای سختافزار فیزیکی گرانقیمتی که به آن نیازی هم ندارند، کند.
جمعبندی
عرضهی سری جدید پردازنده Epyc Rome زنگ خطری برای اینتل در حوزهی سرورها به شمار میرود. AMD نشان داده است که با جدیت تمام به رقابت خود با اینتل ادامه داده و روزبهروز عرصه را بر اینتل تنگتر میکند. بر همگان روشن است که اینتل اقتدار و برتری سابق خود را از دست داده و برای از دستندادن سلطه خود بر بازار نیاز به تلاشی مضاعف دارد.
دیدگاه شما دربارهی پردازنده جدید Epyc Rome چیست؟ آیا میتواند رقیبی جدی برای سری Xeon باشد؟ آیا AMD قادر است تا به سلطهی اینتل بر بازار پردازندههای سرور پایان دهد؟ اینتل چه راهکارهایی برای حفظ عرصه دارد؟ دیدگاههای خود را با ما و سایر کاربران زومیت به اشتراک بگذارید.