محاسبات با کارایی بالا (High-Performance Computing و یا HPC)

HPC ها به هرگونه محاسبه‌ای اشاره دارد که برای اجرای سریع محاسبات پیشرفته نیاز به پردازش موازی دارد. در این گونه محاسبات از ابر رایانه ها و خوشه های رایانه ای برای حل بسیاری از معادلات پیچیده استفاده می شوند.

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

HPC برای اهداف زیر استفاده می‌شود:
– توسعه محصول و طراحی مجدد
– بهینه سازی تولید و فرآیندهای آن
– تجزیه و تحلیل توده یا توسعه داده‌ها
– هدایت پروژه‌های تحقیقاتی گسترده
– ذخیره سازی حجم زیادی از داده‌ها را برای تجزیه و تحلیل‌های بعدی
– ارزیابی تولید محصول، جستجو و مدل سازی
– تصویربرداری کامپیوتری برای توضیح نتایج تحقیقات
– شبیه سازی و مدل سازی فرآیندهای پیچیده
علم محاسبات ، همراه با منابع محاسباتی و همچنین فناوری HPC، سه ستون اصلی برای شبیه سازی نظریه‌ها با نتایج آزمون عملی هستند. HPC قادر است با حجم بسیار زیادی داده کار کرده و نتایج را به سرعت تجزیه و تحلیل کند. این کار با استفاده از رایانه‌های معمولی می‌تواند چندین ماه طول بکشد، در حالی که رایانه های HPC تنها در عرض چند دقیقه یا چند ساعت می‌توانند این کار را انجام دهند. لازم به ذکر است که در بسیاری از موارد، رایانه‌های معمولی عموماً قادر به انجام چنین محاسباتی نیستند.
استفاده از HPC در زمان و هزینه شما صرفه جویی می‌کند و به شما این امکان را می‌دهد که بدون استفاده از نمونه های اولیه، اندازه گیری کردن، تصحیح ایرادات و خطا ها و باز طراحی، نقاط ضعف و قوت را شبیه سازی، مشاهده و تحلیل کنید و نتیجه آن را ببینید. این یک واقعیت مجازی است که تمام منابع و قدرت علمی را در قالب نرم افزاری جمع آوری می کند، که خود اختراع بشر است. این نرم افزار با میلیون ها و حتی میلیاردها محاسبه که بر روی داده‌ها انجام می شود و میلیون‌ها بار مجدداً تمام نتایج اولیه را تجزیه و تحلیل می کند، قادر است نتیجه نهایی را به عنوان خروجی در اختیار ما قرار دهد. البته همه این عملیات محاسباتی خارج از قدرت ذهن انسان است، اما یک راه حل وجود دارد و آن سیستم های کامپیوتری پیشرفته، ابر رایانه‌ها یا سیستم های پردازش داده HPC است.
برخی از نمونه های قابلیت های HPC شامل دینامیک سیالات محاسباتی، عملیات نفتی، شبیه سازی آزمایش تصادف رانندگی، دینامیک جریان هوا در بال هواپیما، ذخیره داده ها، انیمیشن های گرافیکی، تصویربرداری و مدل سازی صورت است.

برخی از اجزای مهم سیستم‌های کامپیوتری که بر روی HPC تاثیرگذارند:
1-RAM
همه ما می دانیم که رایانه ها مجهز به RAM هستند، اما شاید برخی از ما نمی دانیم RAM چیست و دقیقاً چه کار می کند. ما اغلب فکر می کنیم RAM بیشتر به معنای سرعت بیشتر در سیستم است و در نتیجه، همه ما RAM بیشتری می خواهیم. اما چگونه می توانیم بفهمیم سیستم ما به چه مقدار RAM نیاز دارد و چگونه می توان بیشترین خروجی را از آن بدست آورد؟
امروزه به نظر می رسد برای داشتن یک سیستم سریع که بتواند پردازش نرم افزارهای مدرن را مدیریت کند، باید RAM سیستم را ارتقا دهید. در اینجا به چند نکته کلیدی در پیشبرد و قدرتمندتر کردن سیستم شما اشاره خواهد شد.
در حال حاضر، حداقل RAM مورد نیاز سیستم های عمومی 4 گیگابایت است. این بدان معناست که سیستم می تواند اکثر کارهای پردازشی مورد نیاز کاربر را انجام دهد. اما آنچه می توان به آن اشاره کرد داشتن 8 گیگابایت رم با سیستم عامل 64 بیتی است، مخصوصاً اگر کارت گرافیک رایانه شما RAM یا حافظه داخلی ندارد. این مقدار RAM اجرای نرم افزارهای معمول گرافیکی و پردازشی را برای شما آسان می کند. اما اگر در زمینه گرافیک و یا استفاده نرم افزارهای مدرن مانند ANSYS Fluent تخصص دارید، 16 گیگابایت رم را می‌توانید به عنوان معیاری حداقلی برای راه‌اندازی و به‌روزرسانی سیستم خود در نظر بگیرید.
فرض کنید شما قصد دارید یک شبیه سازی CFD انجام دهید و تعداد سلول‌های محاسباتی و یا مش شما تقریبا 6 میلیون است. در این مورد، شما احتمالاً به یک رم 16 گیگابایتی نیاز دارید و نکته جالب اینجاست که استفاده از 32 گیگابایت رم زمان اجرا را کاهش نمی دهد. بنابراین، ما فقط برای مدیریت و پشتیبانی از شبیه سازی CFD به مقدار RAM مورد نیاز نیاز داریم و افزایش RAM به زمان محاسبه کمک نمی کند. علاوه بر تعداد مش، تعداد معادلاتی که باید در شبیه سازی CFD حل شوند نیز برای انتخاب RAM مناسب مهم است.
سیستم‌های موجود در شرکت پردازشگران مهر رم هایی بین 16 تا 128 گیگابایت برای شبیه سازی CFD شما ارائه می دهند. یک 128 RAM گیگابایتی، قابلیت پشتیبانی از یک شبیه سازی CFD را با در نظر گرفتن بین 60 تا 70 میلیون سلول (شماره عنصر مش) را داراست.

2- CPU
CPU یک واحد پردازش رایانه است که همه کم و بیش با آن آشنایی دارند. اما چگونه کار می کند و چقدر مهم است؟
هنگام خرید رایانه شخصی ، مهمترین چیزی که باید در نظر بگیرید CPU است. به دلیل عدم آگاهی از تفاوت های آنها ، تصمیم گیری بین AMD و Intel، دوهسته‌ای و چهار هسته ای، i3 و i7 برای کاربران دشوار است. به همین دلیل در این قسمت ما روی ویژگی های CPU و اهمیت هر قسمت از آن تمرکز می کنیم.
CPU به عنوان مغز رایانه شناخته می شود، اما تنها واحد پردازش رایانه نیست. با این حال مهمترین آنها است. CPU در واقع بخشی از کامپیوتر است که برنامه ها را اندازه گیری ، محاسبه و اجرا می کند.
CPU اطلاعات را از RAM دریافت، پردازش و تحویل می دهد. دستگاه های مختلفی از CPU ها استفاده می کنند، از رایانه ها و لپ تاپ ها گرفته تا تلفن های هوشمند، تبلت ها و تلویزیون های هوشمند. این تراشه کوچک معمولاً به شکل مربع بر روی صفحه اصلی دستگاه قرار می گیرد و با سخت افزار دیگر تعامل دارد تا سیستم شما اجرا شود.
CPU در واقع مغز کامپیوتر است. هر عملیات محاسباتی بر روی کامپیوتر توسط CPU انجام می شود. در حقیقت اجزای دیگری در رایانه وجود دارد که از عملکرد CPU پشتیبانی می کند. پیشرفت در فناوری پردازنده، مانند نوسانات و چند وظیفه‌ای کردن، نقش مهمی در افزایش قدرت این قطعه الکترونیکی ایفا کرده است. با این حال با وجود اهمیت زیاد، CPU ها همیشه تنها راه ارتقاء رایانه شما نیستند.
زمان محاسبه شبیه سازی CFD به طور مستقیم به CPU دستگاه بستگی دارد. سیستم های موجود در شرکت پردازشگران مهر برای پشتیبانی از شبیه سازی CFD شما، پردازنده های 4 هسته‌ای (core-i5) تا 20 هسته ای (40 thread) ارائه می دهند.

3-Cache
Cache چیست؟
CACHE نوعی SRAM یا DRAM است که برای جلوگیری از تاخیر زمان پردازش بین CPU و RAM رایانه استفاده می شود. CACHE معمولاً ظرفیت و سرعت بیشتری نسبت به سایر حافظه ها دارد. CACHE درست مانند یک منشی خوب است که کارهای رئیس خود را سازماندهی می کند تا او هیچ وقتی را تلف نکند. وقتی CPU از حافظه می خواهد که دیتاهای مورد نیاز را بخواند، ابتدا محتویات CACHE سیستم بررسی می شود. اگر داده های مربوط در حافظه CACHE سیستم وجود داشته باشد، نیازی به دسترسی به RAM نیست. ابراین سرعت پردازش افزایش می یابد.

Cache کجا قرار دارد؟
CACHE معمولاً در داخل CPU قرار دارد و بخش زیادی از CPU را اشغال می کند. بنابراین حافظه CACHE چیزی نیست که بخواهید جدا از فروشگاه خریداری کنید و هنگام انتخاب پردازنده باید مراقب باشید. سرعت CACHE حتی بیشتر از RAM است و گران ترین نوع حافظه است. بنابراین ، به دلیل هزینه سنگین و محدودیت فضای فیزیکی پردازنده، نمی توان مقدار زیادی از این نوع حافظه را در داخل CPU قرار داد. با این حال، با پیشرفت تکنولوژی و کاهش انواع حافظه، مقدار این نوع حافظه در پردازنده هر روز در حال افزایش است.
به طور کلی، CACHE بالاتر، به معنی CPU قوی تر است. بنابراین هنگام انتخاب پردازنده، مطمئن شوید بالاترین مقدار حافظه CACHE را دارد.

انواع حافظه Cache
انواع و ساختارهای مختلف حافظه CACHE وجود دارد. CACHE در واقع داده های لایه ای را ذخیره می کند. در حال حاضر، انواع L1 ، L2 و L3 وجود دارد. L به معنی لایه (Layer) است و عدد جلوی آن نشان دهنده نوع cache است.
لایه اول cache، L1
حافظه نهان L1 پردازنده اصلی CACHE نامیده می شود که دارای بالاترین سرعت، کمترین ظرفیت و حداقل زمان وقفه (Delay time) (تقریباً صفر) است. STATIC RANDOM-ACCESS MEMORY (SRAM) برای پیاده سازی حافظه L1 استفاده می شود. این نوع CACHE معمولاً در داخل CPU قرار دارد و برای هر هسته به صورت جداگانه طراحی شده است. حجم آن برای هر هسته بر حسب کیلوبایت است. به عنوان مثال، 32 کیلوبایت.
لایه دوم cache، L2
نوع دوم CACHE و یا لایه دوم، L2 نامیده می شود. اگر داده ها در سطح اول Cache یافت نشد، لایه دوم و لایه های بعدی نیز جستجو می شوند. هر لایه Cache نسبت به لایه قبلی ظرفیت و سرعت کمتری دارد. لایه دوم Cache ظرفیت بیشتری نسبت به لایه اول دارد. اما سرعت آن کمتر است. لایه دوم Cache با استفاده از DYNAMIC RANDOM-ACCESS MEMORY (DRAM) پیاده سازی می شود. امروزه این نوع Cache نیز در CPU گنجانده شده و برای هر هسته جداگانه است. اندازه آن چند صد کیلوبایت در هر هسته است. به عنوان مثال، 256 کیلوبایت.
لایه سوم cache، L3
نوع سوم CACHE و یا لایه سوم، L3 نامیده می شود. اگر داده ای در لایه دوم حافظه پنهان یافت نشد، لایه سوم جستجو می‌شود. لایه سوم سرعت کندتر و ظرفیت بیشتری نسبت به لایه دوم دارد. در اکثر پردازنده های مدرن، این نوع کش به عنوان یک لایه مشترک برای همه هسته ها استفاده می شود و وظیفه آن جلوگیری از BOTTLENECK در سیستم است. این لایه از لایه های دیگر بزرگتر است و برای کل CPU حدود چند مگابایت است. به عنوان مثال، 8 یا 16 مگابایت.
Cache هوشمند
Smart CACHE فناوری منحصر به فرد اینتل است که در CPU های جدید آن استفاده می شود. در این فناوری، مقدار CACHE برای لایه دوم و سوم برای هر هسته پردازنده معمولی در نظر گرفته می شود. اگر هسته ای در حال پردازش است که به CACHE بیشتری نیاز دارد، آن هسته مجاز است حداکثر از دو و سه لایه از فضای CACHE برای پردازش خود استفاده کند. البته اگر دیگر هسته ها نیازی به در نظر گرفتن نداشته باشند. در پردازنده های جدید اینتل ، شما فقط یک عدد را به عنوان CACHE هوشمند مشاهده می کنید و مقدار CACHE هر یک از دو و سه لایه به طور جداگانه مشخص نشده است.

نکته: پردازنده های اینتل بیشتر از پردازنده های AMD به حافظه CACHE وابسته هستند و بنابراین، بیشتر این نوع حافظه CACHE همیشه در داخل پردازنده های اینتل استفاده می شود. بنابراین مقایسه دو پردازنده اینتل و AMD بر اساس حافظه CACHE صحیح نیست. هر کدام را باید با هم‌نوع خود مقایسه کرد.

معیار سنجی (Benchmarking)
با در نظر گرفتن همه پارامترهای ذکر شده RAM ، CPU و CACHE، معیار سنجی یک دستگاه مهمترین مرحله برای پیدا کردن HPC مناسب برای شبیه سازی CFD شما از نظر زمان محاسبه و پشتیبانی سیستم است.
کارشناسان شرکت پردازشگران مهر آماده مشاوره در جهت آماده انتخاب و اجاره بهترین سیستم موجود با شما هستند. شما می توانید از مشاوره تخصصی شرکت پردازشگران مهر، پشتیبانی فنی و آموزش آنلاین در سرورهای HPC CFD بهره مند شوید.