ابررایانه

ابررایانه (به انگلیسی: Supercomputer) به رایانه‌ای اطلاق می‌گردد که در زمان معرفی آن در زمینه میزان ظرفیت محاسبه در واحد زمان در دنیا پیشرو باشد. این عبارت برای اولین بار توسط مجله «نیویورک ورلد» برای اشاره به جدول‌سازهای آی‌بی‌ام در دانشگاه کلمبیا به کار رفت.

تاریخ مختصر صنعتی

ابررایانه‌هایی را که در دههٔ ۱۹۶۰ ساخته و ارائه شدند سیمور کری از بنگاه کنترل اطلاعات (CDC) طراحی کرده بود و تا دههٔ ۱۹۹۰ هم بازار در دست این ابررایانه‌ها بود. زمانی که سیمور کری جدا شد و رفت تا شرکت خودش به نام تحقیقات سیمور را راه‌اندازی و اداره کند با طرح‌های جدیدش بازار ابررایانه‌ها را در دست گرفت و تا پنج سال (۱۹۸۵–۱۹۹۰) یکه‌تاز بازار ابر محاسبه بود. خود کری هرگز واژهٔ ابررایانه را استفاده نکرد و کمتر کسی به خاطر دارد که او تنها کلمهٔ رایانه را استفاده می‌کرد. در سال ۱۹۸۰ هم‌زمان با ظهور بازار رایانه‌های کوچک که یک دهه قبل به وجود آمده بودند تعداد زیادی رقبای کوچک وارد بازار شدند. اما بسیاری از این‌ها در دههٔ ۱۹۹۰ با بروز مبارزات بازار ابررایانه حذف شدند. امروزه ابررایانه‌ها طراحی‌های سفارشی کم‌نظیری هستند که شرکت‌های صنعتی مثل آی‌بی‌ام و اچ‌پی تولید می‌کنند. همان شرکت‌هایی که بسیاری از شرکت‌های دههٔ ۱۹۹۰ را خریدند تا از تجربه‌شان استفاده کنند. البته بنگاه کری هنوز به صورت حرفه‌ای به ساخت ابررایانه ادامه می‌دهد.
اصطلاح ابررایانه چندان پایدار و ثابت نیست. ممکن است ابررایانه امروز فردا تبدیل به یک رایانه معمولی شود. اولین دستگاه‌های CDC پردازنده‌های نرده‌ای (اسکالر) خیلی سریع بودند؛ ده برابر سریع‌تر از سریع‌ترین ماشین‌های سایر شرکت‌ها. در دههٔ ۱۹۷۰ اکثر ابررایانه‌ها به انجام محاسبات برداری پرداختند و بسیاری رقبا و تولیدکنندگان جدید پردازنده‌های خودشان را با قیمت پایین با همان روش کار به بازار ارائه کردند تا در بازار حاضر شوند. در ابتدا و میانهٔ دههٔ ۱۹۸۰ ماشین‌هایی با پردازنده‌های اندک برداری که به صورت موازی کار می‌کردند تبدیل به استاندارد شدند. هر ماشینی معمولاً چهارده تا شانزده پردازندهٔ برداری داشت. در اواخر دهٔ ۱۹۸۰ و ۱۹۹۰ دوباره توجه‌ها از پردازنده‌های برداری به سیستم‌های پردازندهٔ موازی معمول معطوف شد که هزاران ریزپردازنده معمولی داشتند و برخی از آن‌ها نمونه‌های آماده و برخی هم سفارش‌های مشتریان بودند (در اصطلاح کاری، این را حملهٔ میکروهای کشنده می‌نامند). امروزه طرح‌های موازی بر اساس ریزپردازنده‌های آمادهٔ نوع سرور ساخته می‌شوند از جمله Power PC, Itanium, x۸۶–۶۴ و مدرن‌ترین ابررایانه‌ها بسته (کلاستر)های رایانه‌ای با تنظیمات دقیق هستند که پردازنده‌های کم حجم و رابط‌های داخلی سفارشی و بسته به مورد دارند.

ابزارهای نرم‌افزاری

ابزارهای نرم‌افزاری برای پردازش توزیع شده شامل APIهای استاندارد از جمله MPI, PVM و ابزارهای نرم‌افزاری متن باز ازجمله Beowulf, Warewulf, Open mosix هستند که ساختن یک ابررایانه را از تعدادی سرورها یا واحدهای کاری ممکن می‌کنند. تکنولوژی‌هایی مثل ZerConf (Rendez-Vous/Bonjourقرار ملاقات/سلام) برای ساخت بسته‌های کامپیوتری موردنیاز برای نرم‌افزارهای تخصصی مثل shake اپل هستند. در علوم کامپیوتر هنوز یک زبان برنامه‌نویسی ساده برای ابرکامپیوترها نیست و موضوع خوبی برای تحقیق خواهد بود. برنامه‌های کاربردی هزاران دلار هزینه داشت اما امروزه به لطف جامعهٔ متن باز (که گاهی در این زمینه تکنولوژی‌های جالب توجهی به وجود می‌آورد) رایگان هستند.

استفاده‌های عمومی

ابررایانه‌ها با رم‌ها و کار آیی‌های بسیاری که دارند معمولاً برای عملیات حساس روی محاسبه از جمله مسائل فیزیک کوانتوم، هواشناسی، تحقیقات آب و هوا (از جمله تحقیق دربارهٔ گرم شدن کرهٔ زمین) مدل‌سازی مولکولی (مطالعهٔ ساختارها و محتویات ترکیبات شیمیایی، ماکرومولکول‌های بیولوژیکی، پلیمرها و بلورها) شبیه‌سازی‌های فیزیکی (مثل شبیه‌سازی هواپیماها در تونل‌های هوا، شبیه‌سازی انفجار سلاح‌های هسته‌ای و تحقیق دربارهٔ پیوست هسته‌ای) تحلیل مخفی و … استفاده می‌شوند. دانشگاه‌های بزرگ، مراکز نظامی و آزمایشگاه‌های تحقیقات علمی بزرگ‌ترین کاربران آن هستند.
نوع خاصی از مسائل به نام مسائل بسیار مشکل، مسائلی که حل کامل شان نیازمند منابع کامپیوتری نیمه بی پایان هستند.
یک مطلب قابل توجه در این مقال تفاوت بین محاسبهٔ، توانایی محاسبه و ظرفیت است چنان‌که گراهام و همکارانش بررسی کرده‌اند. محاسبهٔ توانایی یعنی استفاده از ماکزیمم توان محاسبه برای حل یک مسئلهٔ بزرگ در کم‌ترین زمان. این سیستم اغلب می‌تواند مسئلهٔ را با حجم و پیچیدگی که هیچ کامپیوتر دیگری نمی‌تواند حل کند حل نماید. اما محاسبهٔ ظرفیت یعنی استفاده از توان محاسبهٔ مقرون به صرفه و کارآمد برای حل مسائل کم و بیش بزرگ یا تعداد زیادی مسائل کوچک یا آمادگی برای اجرا روی سیستم توانایی استفاده می‌شود.

طراحی سخت‌افزار و نرم‌افزار

ابررایانه‌هایی که پردازنده‌های سفارشی داشتند قبلاً سرعتی که روی کامپیوترهای معمولی داشتند را از طراحی‌های ابتکاری شان به دست می‌آوردند که اجازه می‌داد مثل یک مهندسی به هم پیچیده چند کار را به صورت موازی انجام دهند. آن‌ها را تنها برای انواع مشخصی از محاسبات مثل محاسبات عددی استفاده می‌کردند و در محاسبات کلی تر کامپیوتری ضعیف عمل می‌کردند. سلسله مراتب حافظهٔ آن‌ها به دقت طراحی می‌شد تا دائماً اطلاعات و دستورالعمل در دسترس پردازنده قرار گیرد. در اصل عمده‌ترین تفاوت بین ابررایانه‌هاو کامپیوترهای کندتر در سلسله مراتب حافظه‌شان است. سیستم ورودی/خروجی آن‌ها برای پهنای باندهای بالا با تأخیر بسیار پایین طراحی شده‌است چرا که اساساً ابرکامپیوترها برای پردازش انتقالات طراحی نشده‌اند. در این‌جا هم مثل هر سیستم موازی قانون آمدال صدق می‌کند. طراحی‌های مختلف ابررایانه‌ها برای حذف تتابع (serialization) نرم‌افزارها تلاش بسیاری می‌کنند و برای رفع مشکلات و تنگناهای باقی‌مانده و تسریع آن‌ها از سخت‌افزار استفاده می‌کنند.

تکنیک‌های پردازش

تکنیک‌های پردازش برداری اوائل برای ابررایانه‌ها طراحی و ایجاد شده‌اند و برای کاربردهای سطح بالا و تخصصی استفاده می‌شوند. این تکنیک‌ها به وفور وارد بازار معماری DSP و راهکارهای پردازش SIMD کامپیوترهای همه منظوره هم شده‌اند. خصوصاً کنسول‌های جدید بازی‌های کامپیوتری از SIMD خیلی استفاده می‌کنند و به این دلیل است که برخی تولیدکنندگان ادعا می‌کنند ماشین‌های بازی شان ابررایانه هستند. واقعیت این است که برخی کارت‌های گرافیک توان محاسبهٔ چندین ترافلاپ (teraFLOP) را دارند. اولین پردازش‌های کامپیوتری طبیعتی داشت که هدف خاصی را دنبال می‌کرد و کاربردهایی که می‌توان برای این قدرت داشت را محدود می‌کرد با پیش رفته تر شدن بازی‌های کامپیوتری واحدهای پردازش گرافیکی (GPUها) متحول شده‌است به عنوان پردازنده‌های برداری همه منظوره مفیدتر شده‌اند و یک دیسیپلین کامل علوم کامپیوتری به وجود آمد تا از این توانایی استفاده کند به نام محاسبه‌های همه منظوره بر واحدهای پردازش گرافیکی(GPGPU).

سیستم‌عامل

سیستم‌عامل ابررایانه‌ها که اغلب امروزه انواعی از لینوکس و یونیکس هستند و اگر پیچیده‌تر از ماشین‌های کوچک‌تر نباشند همان قدر پیچیده هستند. ظاهری که کاربر می‌بیند ساده‌تر است چون سازندگان OSها منابع برنامه‌نویسی کمتری برای سرمایه‌گذاری بر بخش‌های غیرضروری OSها (یعنی بخش‌هایی که مستقیماً به بهترین کاربرد سخت‌افزار نمی‌شود) دارند. دلیل اصلی آن این است که این کامپیوترها میلیون‌ها دلار قیمت دارند امابازار خریدشان بسیار کوچک است لذا بودجه‌های R&D شان اغلب محدود است. وجود یونیکس و لینوکس اجازه می‌دهد ظاهر کاربری (user interface) نرم‌افزار دسکتاپ معمولی دوباره مورد استفاده قرار بگیرد.
جالب آنجا ست که در تاریخ صنعت ابررایانه‌ها این روند هم چنان ادامه پیدا کرده‌است و رهبران قدیمی این تکنولوژی از جمله Silicon Graphics در برابر امثال nVIDIA عقب نشسته‌اند چرا که این‌ها می‌توانند محصولات ابتکاری ارزان و پرفایده و پرکاربرد را به لطف مشتریان بسیارشان که R&D آن‌ها را تأمین می‌کنند تولید نمایند.
از نظر تاریخی تا ابتدا و میانهٔ دههٔ ابررایانه‌ها اغلب سازگاری گروه دستورات و قابلیت جابجایی کدها را فدای عملکرد و سرعت پردازش و دسترسی به حافظهٔ کامپیوتر می‌کردند. اغلب ابررایانه‌ها تا به امروز برخلاف کامپیوترهای گران‌قیمت فنی high end main frames سیستم‌های عامل بسیار متفاوتی دارند. Cray-۱ به تنهایی شش OS مخصوص خودش را داشت که جامعهٔ کامپیوتر هیچ خبری از آن‌ها نداشت. مشابه آن کامپایلرهای برداری‌کننده و مواز ی‌کنندهٔ بسیاری هم برای فرترن موجود بود. اگر به خاطر سازگاری گروه دستورات اولیه بین Cray-۱ و Cray x-mp و پذیرش انواع OSهای یونیکس مثل CrayUnicos و لینوکس نبود این اتفاق برای ETA-۱۰ هم می‌افتاد. به همین دلیل در آینده سیستم‌هایی با بالاترین کاربرد احتمالاً رنگ و بویی از یونیکس خواهند داشت اما با خاصیت‌های مخصوص سیستم ناسازگار خصوصاً برای سیستم‌های بسیار فنی و گران‌قیمت با امکانات امن مطمئن.

برنامه‌نویسی

معماری موازی ابررایانه‌ها ایجاب می‌کند تکنیک‌های برنامه‌نویسی خاصی برای سرعت بالایشان استفاده شود. کامپایلرهای هدفمند فرترن معمولاً می‌توانند کدهای سریع تری از C یا C++ تولید کنند. به این دلیل فراترن همچنان بهترین انتخاب برای برنامه‌نویسی علمی و البته برای اکثر برنامه‌هایی که روی ابررایانه‌ها اجرا می‌شود باقی می‌ماند. برای بهره‌وری از موازی بودن ابررایانه‌ها، محیط‌های برنامه‌نویسی خاصی برای برنامه‌نویسی آن‌ها استفاده می‌شود از جمله برای بسته‌های کامپیوتری پراکنده و دور از هم PVM و MPI و برای ماشین‌های حافظه اشتراکی بسیار نزدیک به هم OpenMP استفاده می‌شود.

محاسبهٔ سرعت ابررایانه

سرعت ابررایانه بر اساس FLOPS محاسبه می‌شود که مخفف عملیات دقیق شناور در هر لحظه می‌باشد و معمولاً هم یک پسوند SI مثل ترا یا پتا با آن است. در حالت ترا بودن آن را TFLOPS ترافلاپ ده به توان دوازده FLOP و در حالت پتا بودن PFLOPS پتافلاپ ده به توان پانزده می‌گویند. این محاسبهٔ بر اساس مقیاسی که مارتیس بزرگ را تجزیه ی(LU decomposition می‌کند صورت می‌گیرد. این نمونه مسائل حقیقی را بررسی می‌کند اما خیلی راحت‌تر از محاسبهٔ مسائل دنیای واقعی است.

فهرست پانصد عنوان برتر

از سال ۱۹۹۳ نتایج LINPAK پانصد ابررایانه سریع دنیا را همواره رتبه‌بندی نموده‌است. البته ادعا نمی‌شود این فهرست کاملاً بی ایراد است اما بهترین از سرعت کامپیوتر را در هر زمان دارد.

سریع‌ترین ابررایانه فعلی

پس از Tianhe-1A، نوبت به این غول چینی رسید تا رکورد سرعت را با ثبت عدد ۳۳٫۸۶ پتافلاپس بشکند. Tianhe-2 از پردازنده‌های Xeons و Xeon Phi اینتل از سری آیوی بریج استفاده می‌کند و در مجموع ۳ میلیون و ۱۲۰ هزار هسته پردازشی دارد. این ابر کامپیوتر که ۱۷٬۸۰۸ کیلووات مصرف انرژی دارد، بر روی کاغذ قادر است به سرعت ۵۴٫۹ پتافلاپس هم دست یابد. پس اگر لازم شد، شاید بتواند برای حفظ جایگاه خود، سرسختانه بجنگد.
منبع

ابر شبه محاسبه (کازی سوپر کامپیوتینگ quasi super computing)

برخی انواع محاسبات توزیع شدهٔ مقیاس وسیع برای مسائل بسیار موازی‌سازی شده را می‌توان اوج ابر محاسبهٔ دسته‌بندی شده نامید.
مثلاً پلتفرم BOINC (که میزبان تعدادی پروژهٔ محاسبهٔ توزیع شده هستند) در بیست و هفتم مارس سال ۲۰۰۷ از طریق ۱۷۹۷۰۰۰ کامپیوتر اضافه روی شبکه بالای ۵۳۰٫۷ ترافلاپ سرعت عملکرد به ثبت رساند. سریع‌ترین پروژه بود SETI@home که با ۱۳۹۰۰۰۰ کامپیوتر اضافه ۲۷۶٫۳ ترافلاپ کار می‌کرد.
یک پروژهٔ توزیع شدهٔ دیگر Folding@home بود که در اواخر سپتامبر ۲۰۰۷ قدرت عملکرد برابر ۱٫۳ پتافلاپ گزارش داد. مشتریانی که از پلی استیشن استفاده می‌کنند از توان محاسبهٔ بالا ۱ پتافلاپ استفاده می‌کنند.
تحقیق Mersenne Prime توزیع شدهٔ GIMP تا اکتبر ۲۰۰۷ قدرت برابر ۲۳ ترافلاپ به ثبت رسانده‌اند.
سیستم موتور جستجوی گوگل با ۱۲۶ تا ۳۱۶ ترافلاپ احتمالاً سریع‌ترین باشد.

تحقیق و توسعه

در نهم سپتامبر سال ۲۰۰۶ دفتر مدیریت امنیت هسته‌ای ملی انرژی آمریکا (NNSA)، آی بی ام(IBM) را برای طراحی و ساخت اولین ابررایانه دنیا انتخاب کرد. سیستمی که برای تولید ماشینی پردازندهٔ موتور پنهای باند سلولی (cell BE) ماشینی با توان پایستهٔ یک پتافلاپ یا یک هزار تریلیون محاسبه در ثانیه بسازد. پروژهٔ دیگری که IBM به آن مشغول است ساخت Cyclops۶۴ است که قرار است روی یک تراشه یک ابررایانه نصب کند.
دکتر کارمارکار در هند پروژه‌ای را برای ساخت ابررایانه یک پتافلاپی رهبری می‌کند. CDAC هم در حال ساخت رهبری می‌کندی است که تا سال ۲۰۱۰ بتواند به یک پتافلاپ برسد. NSF هم پروژه‌ای بیست میلیون دلاری برای ساخت یک ابررایانه یک پتافلاپی در دست دارد.
NCSA هم در دانشگاه ایلینوی اوربانا شامپاین مشغول چنین پروژه‌ای است و برآورد می‌شود تا سال ۲۰۱۱ آن را تکمیل کند.