ماشین (معماری کامپیوتر)

ماشین نام یک کامپیوتر آزمایشی است که توسط هیولت پاکارد ساخته شده است. این به عنوان بخشی از یک پروژه تحقیقاتی برای توسعه نوع جدیدی از معماری کامپیوتر برای سرورها ایجاد شد. این طراحی بر معماری «محاسبات حافظه محور» متمرکز بود، جایی که NVRAM جایگزین DRAM سنتی و دیسک‌ها در سلسله مراتب حافظه شد. NVRAM قابل آدرس دهی بایتی بود و از هر CPU از طریق اتصال فوتونیک قابل دسترسی بود. هدف از این پروژه ساخت و ارزیابی این طرح جدید بود.

##### نمای کلی سخت‌افزار
ماشین یک خوشه کامپیوتری با تعداد زیادی گره مجزا بود که روی یک پارچه حافظه متصل شده بودند. اتصال پارچه ای از سیلیکون فوتونیک مبتنی بر VCSEL با یک تراشه سفارشی به نام X1 استفاده می‌کرد. دسترسی به حافظه غیر یکنواخت است و ممکن است شامل چندین پرش باشد. پیش‌بینی می‌شد که ماشین ابتدا یک کامپیوتر در مقیاس رک با ۸۰ پردازنده و ۳۲۰ ترابایت حافظه متصل به فابریک باشد، با پتانسیل برای مقیاس‌بندی به محفظه‌های بیشتر تا 32 ZB. حافظه ضمیمه فابریک دارای کش منسجم نیست و به نرم‌افزار نیاز دارد تا از این ویژگی آگاه باشد. از آنجایی که قفل‌های سنتی نیاز به انسجام حافظه پنهان دارند، سخت‌افزار به پل‌ها اضافه شد تا عملیات اتمی را در آن سطح انجام دهند. هر گره همچنین دارای مقدار محدودی از حافظه کش خصوصی محلی منسجم (۲۵۶ گیگابایت) است. ذخیره‌سازی و محاسبه در هر گره دارای حوزه‌های قدرت کاملاً مجزا بود.

کل حافظه متصل به فابریک The Machine بیش از حد بزرگ است که نمی‌توان آن را در فضای آدرس مجازی پردازنده (که ۴۸ بیت عرض داشت) نگاشت کرد. راهی برای نگاشت پنجره‌های حافظه متصل فابریک به حافظه پردازنده مورد نیاز است؛ بنابراین، ارتباط بین SoC هر گره و مخزن حافظه از طریق یک مؤلفه "Z-bridge" مبتنی بر Fpga انجام می‌شود که نگاشت حافظه SoC محلی به حافظه متصل به فابریک را مدیریت می‌کند. Z-bridge با دو نوع مختلف آدرس سر و کار دارد: آدرس‌های Z منطقی ۵۳ بیتی و آدرس‌های Z 75 بیتی که به ترتیب اجازه آدرس دهی 8PB و 32ZB را می‌دهد.[۴] هر Z-bridge همچنین حاوی یک فایروال برای اعمال کنترل دسترسی بود. پروتکل اتصال داخلی توسعه داده شد و به عنوان نسل بعدی اتصال حافظه (NGMI) شناخته شد. این پروتکل به استاندارد باز Gen-Z تبدیل شد. Z-bridge با استفاده از PCIe به SoC متصل می‌شود و از تغییرات عمده نرم‌افزاری جلوگیری می‌کند.

نمونه اولیه دستگاه نیمه رک در HPE Discover در لندن در سال ۲۰۱۶ رونمایی شد. هر گره حاوی SoCهای Broadcom/Cavium ThunderX2 مبتنی بر ARMv8-A بود. در مجموع 40 SoC 32 هسته ای وجود داشت. به دلیل در دسترس نبودن حافظه NVRAM مبتنی بر ممریستور کافی یا حافظه تغییر فاز، نمونه اولیه از ۱۶۰ ترابایت DRAM با پشتیبان باتری استفاده کرد. با وجود این شکست، معمار نرم‌افزار کیث پاکارد گفت که این «می‌تواند برای اثبات سایر بخش‌های طراحی قبل از تغییر استفاده شود». طبق گزارشها، همکاری HPE با SK Hynix برای توسعه NVRAM مبتنی بر ممریستور با مشکل‌های مالی و جهت‌گیری مواجه شد و آن‌ها با Sandisk روی RAM مقاومتی (ReRAM) برای ماشین کار می‌کردند. با توجه به پلتفرم بعدی، HPE در نظر گرفت که به DIMMهای Optane اینتل تبدیل شود "زمانی که مقادیر تولید در بازار موجود باشد. پلتفرم بعدی تخمین زد که نمونه اولیه رک ۲۴ تا ۳۶ کیلووات برق مصرف می‌کند.

##### نمای کلی نرم‌افزار
دو پروژه بزرگ نرم‌افزاری برای ماشین ایجاد شد. نسخه آزمایشی لینوکس به نام Linux++ با تمام پیشرفت‌های لازم برای پیکربندی سخت‌افزار و کار با مدل‌های برنامه‌نویسی سنتی. این شامل پیکربندی پل، کنترل دسترسی و نقشه‌برداری با استفاده از زیرسیستم DAX بود. به موازات آن، یک سیستم عامل جدید به نام کربن اعلام شد که از اصول اولیه برای استفاده کامل از یک کامپیوتر مبتنی بر NVRAM طراحی می‌شد.

بارهای کاری اولیه برای The Machine شامل پایگاه داده درون حافظه، نرم‌افزار به سبک Hadoop و تجزیه و تحلیل داده‌های بزرگ در زمان واقعی بود.HPE ادعا کرد که یک طراحی محاسباتی مبتنی بر حافظه مانند ماشین می‌تواند "سرعت را تا ۸۰۰۰ برابر در مقایسه با سیستم‌های معمولی بهبود بخشد. در سیستم نمونه اولیه، حافظه متصل به پارچه سیستم توسط یک مؤلفه سرور مدیریتی «بالای رک» به نام The Libraria سازماندهی شد. کتابدار حافظه را به «قفسه‌هایی» از «کتاب‌های» ۸ گیگابایتی تقسیم کرد. حفاظت‌های سخت افزاری را می‌توان بر روی مرزهای کتاب پیکربندی کرد. یک "کتابچه" با حجم ۶۴ کیلوبایت نیز پشتیبانی شد.

نقشه‌برداری حافظه توسط سیستم عامل انجام می‌شود، در حالی که کنترل‌های دسترسی برای حافظه توسط زیرساخت مدیریت سیستم ماشین به عنوان یک کل پیکربندی می‌شوند. نرم‌افزار باید بداند که خواندن حافظه متصل به پارچه می‌تواند خطاهای همزمان داشته باشد در حالی که نوشتن می‌تواند خطاهای ناهمزمان داشته باشد. در سیستم لینوکس، هنگامی که یک خطای حافظه رخ می‌دهد، سیگنال سیستم عامل SIGBUS استفاده می‌شود. مدل برنامه‌نویسی و تغییرها ساختار داده نیز مورد بررسی قرار گرفت، از جمله تغییرها در کتابخانه‌های رشته و ساختارهای داده پشته برای انعطاف‌پذیری با مدل‌های خرابی حافظه غیر فرار.

###### تاریخپه
چند سال پس از کشف مجدد ممریستور توسط اچ‌پی، مدیر ارشد فناوری جدید اچ‌پی، مارتین فینک، پروژه آزمایشگاه‌های اچ‌پی را برای ساختن یک سیستم کامپیوتری مبتنی بر ممریستور برای مقابله با کند شدن قانون مور ایجاد کرد. او این پروژه را در رویداد HP’s Discover در تابستان ۲۰۱۴ اعلام کرد.

برخی از ایده‌های ماشین نیز از طرح‌های سیستم Dragonhawk نشأت گرفته است. سه چهارم از ۲۰۰ کارمند HP Labs بر روی سخت‌افزار و نرم‌افزار دستگاه متمرکز بودند. در صحبت با بلومبرگ، HP می‌گوید که ظرف چند سال ماشین را تجاری می‌کند، «یا در تلاش به سر می‌برد».

کرک برسنیکر به عنوان معمار ارشد خدمت کرد و کیت پاکارد برای کار بر روی پیشرفت‌های لینوکس استخدام شد. Bdale Garbee برای مدیریت توسعه منبع باز استخدام شد. در سال ۲۰۱۵، هیولت پاکارد به دو شرکت مجزا، HP Inc و Hewlett Packard Enterprise (HPE)، با پروژه ماشین به دومی واگذار شد.

در اواخر سال ۲۰۱۶، مارتین فینک به عنوان مدیر ارشد فناوری HPE بازنشسته شد.

اعلامیه بازنشستگی فینک همچنین گفت که کارکنان آزمایشگاه هیولت پاکارد به گروه محصولها Enterprise منتقل خواهند شد تا "کار تحقیق و توسعه ما در ماشین را با تجارت هماهنگ کنند.

در اوایل سال ۲۰۱۷، آزمایشگاه هیولت پاکارد اسلایدی داشت که می‌گفت هدف پروژه «نشان دادن پیشرفت است، نه توسعه محصول‌ها» و آنها «برای ارائه ارزش ماشین متمایز به معماری‌های موجود و همچنین معماری‌های مخرب همکاری خواهند کرد».

BleepingComputer گفت: «به عبارت دیگر، ماشین دیگر محصولی به تنهایی نیست. در عوض فناوری‌هایی را ارائه می‌دهد که در آینده در سایر محصولها HPE استفاده می‌شود.» HPE سازمان تحقیق و توسعه خالص خود را بازسازی کرد و آن را در گروه محصولها قرار داد.

یاهو فاینانس گزارش داد که نمونه اولیه ماشین "سالها تا در دسترس بودن تجاری باقی مانده است. در سال ۲۰۱۸، HPE اظهار داشت که این پروژه به مرحله ای رسیده است که در مرحله بعدی تکامل خود به برنامه‌های کاربردی تجاری از مشتریان نیاز دارد.

## منابع
رده:معماری رایانه