موضوع مقاله: معماری ابررایانه‌ها | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # معماری ابررایانه‌ها | مقدمه: رویکردهای معماری سوپرکامپیوتر از زمان معرفی اولین سیستم‌ها در دهه ۱۹۶۰ تا به حال تغییرات چشمگیری داشته است. | ## بخش 1: معماری ابررایانه‌ها | معماری‌های اولیه سوپرکامپیوتر که توسط سیمور کرِی پایه‌گذاری شد،از طراحی‌های کوچک و نوآورانه و همچنین پردازش موازی محلی، برای دستیابی به عملکرد بیشینه محاسباتی برتر استفاده می‌کردند.[1] با این حال، با گذر زمان، تقاضا برای قدرت محاسباتی بیشتر باعث ورود دوران سیستم‌های به‌طور گسترده موازی شده شد. اما در دهه 1990، کامپیوترهایی با هزاران پردازنده شروع به کار کردند و تا پایان قرن بیستم، سوپرکامپیوترهای با معماری همزمانی گسترده با ده‌ها هزار پردازنده با زیرساخت تجاری رایج شدند. سوپرکامپیوترهای قرن بیست و یک با استفاده از بیش از ۱۰۰٬۰۰۰ پردازنده (بعضی از آنها واحدهای گرافیکی) که از طریق اتصالات سریع به یکدیگر متصل شده‌اند، استفاده می‌کنند.[2 3] در طی دهه‌ها مدیریت چگالی حرارت یکی از مسائل اصلی برای اکثر کامپیوترهای متمرکز بزرگ بوده است.[4 5 6] مقدار زیاد حرارتی که توسط یک سیستم تولید می‌شود، می‌تواند اثرات دیگری نیز داشته باشد، مانند کاهش عمر قطعات دیگر سیستم. [7] رویکردهای متنوعی برای مدیریت حرارت وجود داشته است، از جمله تزریق مایع فلورینت از طریق سیستم، استفاده از یک سیستم خنک کننده مایع-هوا یا خنک کننده هوایی با دمای تهویه‌ی هوای عادی مطبوع. [8 9] سیستم‌هایی که از تعداد بسیار زیادی پردازنده استفاده می‌کنند، به‌طور کلی به یکی از دو روش عمل می‌کنند: در یک رویکرد، به عنوان مثال در محاسبات شبکه‌ای، قدرت پردازشی تعداد زیادی از کامپیوترها در دامنه‌های اداری متفاوت، به صورت تصادفی هر زمانی که یک کامپیوتر در دسترس است، استفاده می‌شود. [10]در رویکرد دیگر، تعداد زیادی پردازنده در نزدیکی یکدیگر استفاده می‌شوند به عنوان مثال در یک خوشه کامپیوتری. در چنین سیستم متمرکز با همزمانی گسترده، سرعت و انعطاف‌پذیری اتصال میان‌افزار بسیار مهم است و سوپرکامپیوترهای مدرن از روش‌های مختلفی استفاده کرده‌اند از سیستم های اینفینی‌باند بهبود یافته تا اتصالات سه بعدی تورس .[11 12] زمینه و نمای کلی از اواخر دهه 1960، رشد در قدرت و گسترش سوپرکامپیوترها قابل توجه بوده و جهت‌گیری‌های معماری زیربنایی این سیستم‌ها تغییرات مهمی داشته است. در حالی که سوپرکامپیوترهای اولیه به تعداد کمی از پردازنده‌های به صورت نزدیک اتصال یافته که به حافظه مشترک دسترسی داشتند، متکی بودند، سوپرکامپیوترهای قرن 21 از بیش از 100,000 پردازنده استفاده می‌کنند که توسط شبکه‌های سریع به هم متصل شده‌اند. [2 3] طی دهه‌ها، مدیریت چگالی حرارت به عنوان یک مسئله کلیدی برای اکثر سوپرکامپیوترهای متمرکز باقی مانده است. [4] شعار “خارج کردن حرارت” سیمور کرِی، محور فلسفه طراحی او بود و همچنان به عنوان یک مسئله کلیدی در معماری‌های سوپرکامپیوتر باقی مانده است، به عنوان مثال در آزمایش‌های بزرگ‌مقیاس مانندBlue Waters .[4 5 6] حجم زیاد حرارت تولید شده توسط یک سیستم ممکن است تأثیرات دیگری ، مانند کاهش عمر قطعات دیگر سیستم نیز داشته باشد. [7] در مدیریت حرارت، رویکردهای متنوعی وجود داشته است، به عنوان مثال در کامپیوتر Cray 2 از فلورینرت پمپ شده از طریق سیستم استفاده می‌شد، در حالی که سیستم X از یک سیستم خنک کننده مخلوط مایع و هوا استفاده می‌کرد و Blue Gene/P با هوای معمولی تهویه هوا خنک شده بود. .[8 13 14] حرارت از سوپرکامپیوتر Aquasar برای گرم کردن دانشگاه مورد استفاده قرار گرفته است. .[15 16] قدرت گرمایی تولید شده توسط یک سوپرکامپیوتر به صورت مستقیم به نوع پردازنده‌ای که در سیستم استفاده می‌شود وابسته است، به‌طوری‌که پردازنده‌های قوی‌تر معمولاً بیشترین گرما را تولید می‌کنند؛ با تکنولوژی‌های نیمه‌رسانایی مشابه. [7] در حالی که سوپرکامپیوترهای اولیه از چند پردازنده سریع و نزدیک به هم استفاده می‌کردند که از همزمانی محلی (مانند لوله‌ای پایپلاینینگ و پردازش برداری) بهره می‌بردند، با گذر زمان تعداد پردازنده‌ها افزایش یافت و گره‌های محاسباتی می‌توانستند در مکان‌های دورتری قرار گیرند، مانند در یک خوشه کامپیوتری، یا می‌توانستند به صورت جغرافیایی در پردازش‌های شبکه‌ای پخش شوند. [2 17] با افزایش تعداد پردازنده‌ها در یک سوپرکامپیوتر؛ "نرخ خرابی قطعه" به یک مسئله جدی تبدیل می‌شود. اگر یک سوپرکامپیوتر از هزاران گره استفاده کند و هر کدام احتمالاً یک بار در سال معمولاً خراب شوند، آن‌گاه سیستم به چندین خرابی گره در هر روز مواجه خواهد شد. [9] همان‌طور که قیمت و عملکرد پردازشگرهای گرافیک عمومی (GPGPUs) بهبود یافته است، تعدادی از سوپرکامپیوترهای پتافلاپ مانند تیانه و نبوله برای وابستگی به آنها آغاز کرده‌اند. [18] با این حال، سیستم‌های دیگری مانند کامپیوتر K همچنان از پردازنده‌های سنتی مانند طراحی‌های مبتنی بر SPARC استفاده می‌کنند و کاربرد کلی GPGPUs در برنامه‌های کامپیوتینگ عالی عمومی موضوعی بحثی است. در واقع، در حالی که یک GPGPU ممکن است برای نمره گرفتن خوب در بنچمارک‌های خاص تنظیم شود، اما کاربرد کلی آن در الگوریتم‌های روزمره ممکن است محدود باشد مگر اینکه تلاش قابل توجهی صرف شود تا برنامه به سمت آن تنظیم شود. [19] با این حال، GPUها در حال پیشرفت هستند و در سال ۲۰۱۲، با جایگزینی پردازنده‌ها با GPUها سوپرکامپیوتر جگوار به تایتان تبدیل شد. در طول سال‌ها، تعدادی از سیستم‌های مدیریت فایل توزیع شده توسعه یافتند، مانند سیستم فایل موازی عمومی IBM، BeeGFS، فایل‌سیستم موازی مجازی، هد‌وپ و غیره. | ## بخش 2: معماری ابررایانه‌ها | سیستم‌های اولیه با چند پردازنده با سلسله کامپیوترهای CDC 6600، تلاش‌های زودهنگام در حوزه ابرکامپیوترها آغاز شد، و این کامپیوترها با اختصاص کار به دستگاه‌های جانبی، CPU (واحد پردازش مرکزی) را از پردازش داده‌های واقعی آزاد ساختند. ابرکامپیوترهای زودهنگام دیگر مانند Cray 1 و Cray 2 که پس از آن ظاهر شدند، از تعداد کمی از پردازنده‌های سریع استفاده می‌کردند که با هم هماهنگ بودند و به حداکثر مقدار حافظه مشترکی که می‌توانست در آن زمان مدیریت شود متصل می‌شدند. [3] این ساختارهای ابتدایی که پردازش موازی را در سطح پردازنده معرفی کردند، نوآوری‌هایی داشتند مانند پردازش برداری، که در آن پردازنده می‌توانست در یک چرخه‌ی ساعتی چند عملیات را انجام دهد، به جای اینکه برای چرخه‌های متوالی منتظر بماند. در رویکرد حافظه توزیع‌شده، هر پردازنده فیزیکی به همراه حافظه محلی‌ای بسته می‌شود. حافظه مرتبط با پردازنده‌های دیگر بر اساس پارامترهای پهنای باند و تاخیر به عنوان دسترسی به حافظه غیر یکنواخت مدیریت می‌شود. در دهه ۱۹۶۰، pipelining به عنوان یک نوآوری شناخته می‌شد، و تا دهه ۱۹۷۰، استفاده از پردازنده‌های برداری به خوبی استقرار یافته بود. تا دهه ۱۹۸۰، بسیاری از ابرکامپیوترها از پردازنده‌های برداری موازی استفاده می‌کردند. [2] قدمت اولیه سیستم‌های محاسباتی کم تعداد پردازنده، امکان استفاده‌ی آسان از معماری حافظه‌ی مشترک را فراهم می‌کرد، که این اجازه را به پردازنده‌ها می‌دهد تا به یک منبع حافظه‌ی مشترک دسترسی پیدا کنند. در اوایل روزهای پیشرفت، از رویکرد معمول دسترسی یکنواخت به حافظه (UMA) استفاده می‌شد، که در آن زمان دسترسی به یک مکان حافظه بین پردازنده‌ها مشابه بود. استفاده از دسترسی غیر یکنواخت به حافظه (NUMA) به یک پردازنده اجازه می‌دهد تا به حافظه‌ی محلی خود نسبت به دیگر مکان‌های حافظه، سریع‌تر دسترسی پیدا کند در حالی که معماری حافظه‌ی نهان (COMA) امکان استفاده از حافظه‌ی محلی هر پردازنده به عنوان حافظه‌ی نهان را به وجود می‌آورد و برای زمانی که مقادیر حافظه تغییر می‌کنند نیازمند هماهنگی است.[26] با افزایش تعداد پردازنده‌ها، ارتباط و هماهنگی کارآمد بین پردازنده‌ها در یک سوپر کامپیوتر چالش‌بار می‌شود. در این رویکرد، تمام پردازنده‌ها به ثبت‌های مشترک دسترسی داشتند که اطلاعات را به حرکت در نمی‌آوردند بلکه فقط برای ارتباط و هماهنگی میان پردازنده‌ها استفاده می‌شدند. با این حال، چالش‌های ذاتی در مدیریت حافظه‌ی مشترک بین پردازنده‌های متعدد، منجر به معماری‌های پراکنده بیشتری شد. [27] همزمانی مرکزی و گسترده در دهه ۱۹۸۰، با افزایش تقاضای قدرت محاسباتی، روند استفاده از تعداد بسیار زیادی پردازنده آغاز شد که به دوران سیستم‌های بسیار موازی منجر شد. این سیستم‌ها دارای حافظه توزیع شده و سیستم‌های فایل توزیع شده بودند، زیرا معماری حافظه مشترک نمی‌توانست با تعداد زیادی پردازنده مقیاس پذیر باشد. [2 28] به دنبال این سیستم‌های اولیه، رویکردهای ترکیبی مانند حافظه مشترک توزیع شده نیز ظاهر شدند. [29] روش خوشه‌بندی کامپیوتری تعدادی از گره‌های محاسباتی آماده‌ی موجود را (مانند کامپیوترهای شخصی مورد استفاده به عنوان سرورها) از طریق شبکه محلی خصوصی و سریع به یکدیگر متصل می‌کند. [30] فعالیت‌های گره‌های محاسباتی توسط "میان افزار گروه‌بندی" هماهنگ می‌شود، یک لایه نرم‌افزاری که در بالای گره‌ها قرار دارد و به کاربران امکان می‌دهد گروه را به عنوان یک واحد محاسباتی یکپارچه تلقی کنند.به عنوان مثال از طریق مفهوم تصویر سیستم تکی. [30] گروه‌بندی کامپیوتری بر اساس یک رویکرد مدیریت متمرکز که گره‌ها را به عنوان سرورهای مشترک باهم تنظیم می‌کند، استوار است. این از رویکردهای دیگری مانند محاسبات همتا به همتا یا شبکه‌بندی که نیز از تعداد زیادی گره استفاده می‌کنند اما با بخش بیشتری توزیع شده هستند، متمایز است. .[30] در اوایل قرن ۲۱، فهرست نیمه‌سالانه سازمان TOP500 که شامل ۵۰۰ سریع‌ترین رایانه فوق‌توانمند است، اغلب شامل بسیاری از گروه‌ها است، به عنوان مثال رایانه‌ای با حافظه توزیع شده و معماری گروهی بهترین رایانه جهان در سال ۲۰۱۱، رایانه K بود. [31 32] وقتی تعداد زیادی گره‌های محاسباتی محلی شبه‌مستقل استفاده می‌شود (به عنوان مثال در یک معماری گروه‌بندی) سرعت و انعطاف پذیری اتصال بسیار مهم است. | ## بخش 3: معماری ابررایانه‌ها | سیستم‌های مرکزی بسیار موازی گاهی اوقات از پردازنده‌های خاص طراحی شده برای یک برنامه خاص استفاده می‌کنند و ممکن است از تراشه‌های FPGA برای به دست آوردن عملکرد استفاده کنند. مثال‌هایی از سوپر کامپیوتر های خاص شامل بل،[33] دیپ بلو،[34] و هیدرا،[35] برای بازی شطرنج، لوله گرانش برای استعراض‌های فیزیک نجومی،[36] MDGRAPE-3 برای محاسبه ساختار پروتئین[37] و دیناگون عمیق، [38] برای شکستن رمز DES می‌باشند. [10] یک مثال از این نوع سیستم‌ها، BOINC است که یک سیستم شبکه‌ای فرصت‌بومی مبتنی بر اراده اعضا است. [39] برخی از برنامه‌های BOINC با اتصال تقریباً نیم میلیون کامپیوتر از طریق اینترنت به دست میلیون‌ها پتافلاپ به سطح رسیده‌اند. [10 43 45] روندهای معماری قرن 21 IBM Blue Gene معماری رایانه فوق‌العاده خنک شده با هوا از سرعت پردازنده برای مصرف کم‌تر انرژی استفاده می‌کند تا تعداد بیشتری از پردازنده‌ها را با با استفاده از تهویه معمولی هوا با دمای اتاق می‌توان استفاده کرد. [48] کامپیوتر K یک سیستم با پردازنده­های یکپارچه و حافظه توزیع شده، سیستم حافظه با معماری خوشه­ای خنک‌شده با آب است. این دستگاه از بیش از 80,000 پردازنده SPARC64 VIIIfx (هرکدام با 8 هسته) استفاده می‌کند، که تقریباً دو برابر هر سیستم دیگری بیش از 700,000 هسته دارد. این مجموعه از بیش از 800 کابینت تشکیل شده است، هرکدام دارای 96 گره محاسباتی (هرکدام با 16 گیگابایت حافظه) و 6 گره I/O. با وجود اینکه از توانایی بیشتری نسبت به پنج سیستم بعدی در لیست TOP500 برخوردار است، اما با نسبت توان به کارایی 824.56 MFLOPS/W، کمترین نسبت توان به عملکرد بین همه‌ی سیستم‌های فوق‌رایانه‌ای اصلی فعلی است. [50 51] سیستم جایگزین برای کامپیوتر K، با نام PRIMEHPC FX10 از همان ترکیب اتصالات توروس شش بعدی استفاده می‌کند، اما هنوز هر نود دارای یک پردازنده است. [53] این دارای 112 کابینه‌ی کامپیوتر و 262 ترابایت حافظه توزیع شده است؛ 2 پتابایت از ذخیره‌سازی دیسک از طریق فایل‌های خوشه‌ای بر روی Lustre پیاده‌سازی شده است. Tianhe-1 از یک شبکه ارتباطی با سرعت بالای اختصاصی برای اتصال پردازنده­‌ها استفاده می‌کند. در مورد روندهای معماری قرن 21این سیستم دو برابر سریع­تر از Infiniband ولی کم­تر از بعضی از اتصالات در سایر سوپرکامپیوترها است. هدف از دستیابی به یک پتافلوپ پایدار، انتخاب‌های طراحی بود که عملکرد هسته‌های تکی را بهینه می‌کرد و بنابراین تعداد کمتری از هسته‌ها را داشت. انتظار می‌رفت تعداد کمتری از هسته‌ها به بهبود عملکرد در برنامه‌هایی که به خوبی به تعداد زیادی از پردازنده‌ها مقیاس نمی‌کردند، کمک کند. معماری حافظه جهانی قابل دسترس هم به حل مشکلات آدرس حافظه به نحوی کارآمد هدفمند می‌پرداخت. انتظار می‌رفت Blue Waters حداقل با سرعت پایدار یک پتافلوپ اجرا شود و بر روی رویکرد ویژه خنک‌کننده آب برای مدیریت گرما تکیه می‌کرد. سیستم Cyclops64 از رویکرد "سوپرکامپیوتر در یک تراشه" استفاده می‌کند و از استفاده از پردازنده‌های پراکنده بزرگ دوری می‌کند. [60 61] هر تراشه Cyclops64 به صورت ۶۴ بیتی دارای ۸۰ پردازنده است و تمام سیستم از معماری حافظه‌ی گلوبال استفاده می‌کند. پردازنده‌ها از طریق یک سوییچ crossbar غیر داخلی مسدود نشده به یکدیگر متصل شده و از طریق حافظه گلوبال با یکدیگر ارتباط برقرار می‌کنند. | ## جمع‌بندی | [62] این نوع معماری امکان پردازش موازی بدون ساختار را در یک سیستم حافظه غیر پیوسته به صورت پویا فراهم می‌کند اما برای نقش آفرینی بهینه الگوریتم‌های موازی بر روی یک سیستم با تعداد بسیاری هسته چالش‌ها ایجاد می‌کند.