آخیلش کومر، معمار پردازندههای سری Skylake-SP اینتل، امروز در پستی که در وبلاگ شخصیاش منتشر کرد از معماری مش (Mesh) جدید اینتل برای پردازندههای با بستر مقیاس پذیر سری Xeon خبر داد.
پردازندههای با بستر مقیاس پذیر اینتل در واقع تغییر نام تجاری خط تولید پردازندههای محبوب سری Xeon است و با توجه به استفادهی مکرر اینتل از دای (Die) پردازندههای بهینه شده برای سرور، در خط تولید پردازندههای سرور و کامپیوترهای رومیزی سطح بالا، این معماری جدید توانسته است راه خود را به سری جدید پردازندهی Skylake-X باز کند.
مقالههای مرتبط:
توپولوژی مش جدید اینتل برای رقابت با تکنولوژی Infinity Fabric شرکت AMD معرفی شده است. تکنولوژی Infinity Fabric در پردازندههای سری Ryzen، ThreadRipper و EPYC شرکت AMD وجود دارد. در ادامه به مقایسهی این دو طراحی میپردازیم.
دورهی باسهای حلقهای اینتل:
کار اصلی پردازندهها پردازش داده است که برای این کار به جریان داده بین عناصر اصلی پردازنده نیاز است. بیتهایی که نمایندهی 0 و 1 ها هستند، توسط سیمهایی در ابعاد نانومتر، با سرعت میلیاردها سیکل ساعت بر ثانیه داخل پردازنده جابجا میشوند. انتقال داده بین عناصر اصلی یک پردازنده مانند هسته، حافظه، و کنترل کنندههای ورودی و خروجی یکی از سختترین چالشهای پیش روی طراحان پردازنده است.
انتقال داده به صورت کارامد تاثیر بسیار زیاد و مستقیمی روی کارایی دارد و از آنجایی که انتقال داده به توان احتیاج دارد، در مصرف توان نیز بسیار تاثیر گذار است. کاهش مصرف توان هم باعث تولید گرمای کمتر توسط پردازنده میشود. در عوض اتلاف انرژی، اتصالهای بهینه شده به معمارهای کامپیوتر اجازه میدهد این توان را در بخشهای مهمتری مانند پردازش داده مصرف کنند. در سالهای گذشته تکنیکهای زیادی برای انتقال داده بین هستههای پردازندهها استفاده شده ولی معماری حلقهای اینتل در نسلهای گذشتهی پردازندههای این شرکت استفاده شده است.
باس حلقهای اینتل که در شکل بالا در یک دای سری برادول (Broadwell) از نوع کم هسته یا به طور مختصر (LLC) نشان داده شده، اجزا مختلف پردازنده را با یک باس دوطرفه که با رنگ قرمز نشان داده شده است به یکدیگر متصل میکند. دای از نوع LLC از یک باس تک حلقه بهره میبرد که داده ها را با سرعت یک سیکل ساعت بین دو هسته مجاور جابجا میکند. طبیعتا جابجایی داده به هستههای دورتر تعداد سیکل بیشتری مصرف میکند و در نتیجه تاخیر انتقال نیز بیشتر میشود. برای مثال انتقال داده به دورترین هسته ۱۲ سیکل ساعت طول میکشد. از آنجایی که باس دوطرفه است، امکان مسیریابی داده برای پیدا کردن کوتاهترین مسیر بین دو هسته را میسر میکند.
معماریهای با تعداد هستههای بالا یا به اختصار (HCC) اشکالات این رویکرد را مشخص میکنند. برای افزایش تعداد هستهها و کشها (Cache)، دایهای HCC از باسهای حلقهای دوتایی بهره میبرند. ارتباط بین دو حلقه از طریق یک سوییچ بافر دار برقرار میشود (در شکل بین دو حلقه در بالا و پایین). عبور از سوییچ هزینهای برابر با ۵ سیکل ساعت دارد؛ که با توجه به تاخیر جابجایی اطلاعات در داخل هر حلقه عملا این معماری امکان مقیاسپذیری بالایی ندارد. تاخیر ارتباط بین هستهها با بیشتر شدن تعداد هستهها افزایش مییابد و کاهش کارایی را به دنبال دارد. برای جبران کاهش کارایی میتوان فرکانس را افزایش داد که افزایش فرکانس هم باعث افزایش توان مصرفی و تولید حرارت بیشتر میشود.
معماری مش:
اینتل معماری مش را برای اولین با در سری پردازندههای Knights Landing معرفی کرد، ولی استفاده از این معماری برای پردازندههای سرور و کامپیوترهای رومیزی سطح بالا، سطح جدیدی از بهرهوری اتصالات و در نتیجه افزایش کارایی را به همراه خواهد داشت. علاوه بر اتصالات، ویژگی جدید این معماری جابجایی کنترلرهای DDR4 به سمت راست و چپ دای بر خلاف معماریهای حلقهای که در قسمت پایین قرار داشت، است.
اینتل در توپولوژی مش جدید در ردیفهای افقی و عمودی هسته، کش، حافظه و کنترلرهای ورودی و خروجی را به یکدیگر متصل کرده است. نکتهی قابل توجه عدم وجود سوییچهای بافر دار (که یکی از عوامل کند کنندهی اتصالات بود) است. سوییچهای واقع در تقاطع اتصالات امکان ارتباط مستقیم و زمان بندی هوشمند برای پیدا کردن کوتاهترین مسیر بین اجزا را فراهم کرده است. همچنین یک طراحی حلقه مانند در اتصالات نیز وجود دارد که امکان ایجاد زمانبندی بهینه در مسیرداده (data path) را فراهم میکند.
قابلیت جابجایی داده به صورت پلهای (stair-step) بین هستهها، امکان مسیریابی پیچیدهتر ولی موثر بین عناصر دای را امکان پذیر میکند. طبق گزارش اینتل، معماری حلقهی جدید پهنای باند را هم افزایش داده است که در نتیجه سرعت انتقال داده بین هستهها و کشهایی که آنها را تغذیه میکنند، افزایش پیدا کرده است. معماری مش ترافیک دادهی ورودی و خروجی حافظهی اصلی را هم کنترل میکند و باعث افزایش بازدهی و کاهش تاخیر رم نیز شده است.
در قسمت بالای دای جریان داده از کنترلرهای PCI در کنار دو کانال ارتباطی بین سوکت برقرار است. کانالهای ارتباطی بین سوکت جریان داده، بین تعداد پردازندههای بیشتر از دو عدد را برای تنظیمات مخصوص شبکه مدیریت میکنند. در گذشته اینتل از تکنولوژی QPI (QuickPath Interconnect) برای ارتباط بین سوکتها استفاده میکرد؛ ولی شایعات خبر از استفاده از کانال ارتباطی جدید در سری پردازندهی جدید Skylake در مدل سرور، میدهند. اینتل به طور دقیق فرکانس کاری معماری مش جدید را اعلام نکرده است، ولی طبق گزارش اینتل، فرکانس و ولتاژ کاری پایینتری نسبت به معماری حلقه دارد و در عین حال پهنای باند و تاخیر کمی هم دارد.
از سری Skylake-X چه میدانیم؟
اینتل تصویری از دای معماری HCC خود که در سری Skylake-X استفاده شده، منتشر کرده است. اینتل در سری Xeon نیز از معماری مش مشابهی استفاده کرده بود.
به راحتی میتوان کنترلرهای DDR4 را در سمت راست و چپ دای (ردیف دوم سمت چپ و راست) مشاهده کرد. اما، درحالی که به نظر میرسد این دای شامل ۲۰ هسته است، تنها ۱۸ هسته دارد. این تعداد هسته تا اینجا بیشترین تعداد هستهی موجود در سری Sklylake-X بوده است.
نمودار مش اینتل مشخص میکند که اتصالات دورن مش در سمت راست هر هسته قرار دارد ولی طبق تصویر دای، این اتصالات در تمام هستهها در سمت راست قرار ندارد. برای مثال در سمت چپترین ستون اتصالات دورن مش در محدودهی بالا سمت راست هسته واقع شده ولی در سمت راستترین ستون این اتصالات در جهت قرینه یعنی بالا سمت چپ قرار دارند. این روش چینش اتصالات در فاصلهی بین هستهها تاثیر مستقیم داشته است و در نتیجه برای انتقال داده به صورت افقی به تعداد سیکلهای بیشتری نیاز است. برای مثال برای انتقال داده به صورت عمودی به ازای هر سطر به یک سیکل نیاز است، ولی برای انتقال داده به صورت افقی از ستون دو به سه به تعداد سیکل بیشتری نیاز است. باید در آینده منتظر انتشار جزئیات بیشتری از سوی اینتل باشیم.
در هر صورت، معماری مش امکان مقیاسپذیری بینظیری را نسبت به معماری قبلی فراهم کرده است و با توجه به اینکه اینتل از معماری حلقهای در چندین نسل از پردازندههایش استفاده کرد، انتظار میرود در سالهای آینده از معماری مش در پردازندههای این شرکت استفاده شود. این معماری به اینتل امکان افزایش تعداد هستهی پردازنده هایش، بدون افزایش تاخیر و توان مصرفی را میدهد.
از AMD چه خبر؟
صحبت از معماریهای اینتل بدون مقایسه با آخرین معماری AMD ناقص است. AMD هم یک اتصال جدید از نوع Infinity Fabric طراحی کرده که ورژن بهینه شدهی HyperTransport که در میکرومعماری های Zen به کار میرفت است.خوشبختانه اطلاعات بیشتری درباره اتصالات برون هستهای AMD در اختیار داریم.
AMD در سری پردازندههای Zen، روش متفاوتی برای طراحی پردازنده انتخاب کرده است. میکرومعماری Zen از بلوک های ۴ هستهای که CPU Complex یا به اختصار CCX نامیده میشوند، بهره میبرد. AMD هر بلوک را با استفاده از کشهای ۸ مگابایتی به ۴ بخش تقسیم میکند؛ هر هسته با میانگین تاخیر مشابه به این کشهای L3 دسترسی دارد. با استفاده از ۲ بلوک CCX یک پردازندهی ۸ هستهای Ryzen 7 ساخته میشود (بلوک های نارنجی در تصویر بالا). این بلوکها توسط یک اتصال از نوع Infinity Fabric به یکدیگر متصل میشوند. CCXها کنترلر حافظهی مشترکی دارند. پردازنده اصلی که در واقع دو پردازندهی ۴ هستهای است، توسط یک مسیر Infinity Fabric با یکدیگر ارتباط برقرار میکنند. Infinity Fabric یک مسیر ارتباطی ۲۵۶ بیتی دو طرفه است که وظیفهی جابجایی ترافیک بین بلوکها را بر عهده دارد.
هرچند تاخیر ارتباط هستهها با یکدیگر در یک CCX به دلیل استفاده از حافظه مشترک یکسان است، واکشی داده از سایر بلوکها با تاخیر عبور از Infinity Fabric همراه است. ارتباط بین تردهایی (Thread) که در بلوکهای مختلف قرار دارند هم از این تاخیر رنج میبرد. معماری AMD برتری زیادی نسبت به معماری حلقهی اینتل داشت؛ زیرا AMD به راحتی میتوانست با افزایش تعداد بلوکها در یک تراشه تعداد هستهها را افزایش بدهد. انتظار میرود پس از معرفی معماری مش اینتل پردازندههای این شرکت نسبت به پردازندههای AMD برتری پیدا کنند ولی این نکته را هم باید در نظر گرفت که بهینه سازیهای نرمافزاری میتواند بسیاری از مشکلات تاخیر Infinity Fabric را رفع کنند.
با اندازه گیری تاخیر Infinity Fabric در پردازنده مدل AMD Ryzen 5 1600X متوجه میشویم که تاخیر Infinity Fabric به فرکانس مموری وابسته است. از طرفی در تاخیر معماری حلقهای اینتل با افزایش فرکانس مموری کاهش خاصی در تاخیر مشاهده نشد. باید تا تست پردازندههای سری Skylake صبر کنیم تا تاثیر فرکانس مموری بر تاخیر این معماری جدید را بسنجیم.
رقابت همچنان ادامه دارد
با معرفی معماریهای جدید هر دو شرکت، که هر دو نسبت به نسلهای قبل از خود پیشرفتهای چشمگیری داشتهاند، رقابت همچنان برای نسلهای آینده ادامه دارد.
هر معماری نقاط قوت و نقاط ضعف مربوط به خود را دارد و بهترین راه برای مقایسه، مقایسهی آنها بعد از پیادهسازی روی سیلیکون است.
ارسال دیدگاه