کاربرد و نقش سرور در محاسبات اتمی؛ راهنمای خرید سرور HP برای آزمایشگاه شیمی
مقدمه
امروزه بخش قابل توجهی از تحقیقات علمی در حوزه شیمی، مواد و علوم مولکولی تنها با انجام آزمایشهای فیزیکی در آزمایشگاه پیش نمیرود. پژوهشگران میتوانند پیش از ساخت یا آزمایش یک ماده، رفتار اتمها و مولکولها را با استفاده از کامپیوتر شبیهسازی کنند. این حوزه که با نامهایی مانند شیمی محاسباتی، محاسبات کوانتومی و شبیهسازی اتمی و مولکولی شناخته میشود، به توان پردازشی قابل توجهی نیاز دارد.
در پروژههای دانشگاهی کوچک، یک Workstation قدرتمند ممکن است پاسخگوی نیاز باشد؛ اما زمانی که تعداد پروژهها، اندازه مولکولها یا پیچیدگی محاسبات افزایش پیدا میکند، استفاده از یک سرور محاسباتی HPE میتواند زمان اجرای پروژهها را به شکل قابل توجهی کاهش دهد.
در این مقاله بررسی میکنیم سرور چه نقشی در محاسبات اتمی دارد و هنگام خرید سرور برای آزمایشگاه شیمی باید به چه مشخصاتی توجه کرد.
محاسبات اتمی و شیمی محاسباتی چیست؟
به زبان ساده، در محاسبات اتمی تلاش میشود رفتار اتمها، مولکولها و ساختارهای مواد با استفاده از مدلهای ریاضی و قوانین فیزیک روی کامپیوتر شبیهسازی شود.
برای مثال یک پژوهشگر ممکن است بخواهد بداند:
- ساختار پایدار یک مولکول چیست؟
- یک واکنش شیمیایی چگونه انجام میشود؟
- انرژی لازم برای یک واکنش چقدر است؟
- کدام ساختار مولکولی انرژی کمتری دارد؟
- پیوندهای شیمیایی چگونه تشکیل یا شکسته میشوند؟
- یک ماده در شرایط مختلف چه رفتاری خواهد داشت؟
- خواص الکترونیکی یا طیفی یک ترکیب چگونه است؟
پاسخ به این پرسشها میتواند به انجام میلیونها یا حتی میلیاردها محاسبه ریاضی نیاز داشته باشد.
نرمافزارهایی مانند Gaussian، ORCA، VASP، Quantum ESPRESSO، CP2K و NWChem برای طیف وسیعی از این محاسبات استفاده میشوند. برای نمونه، ORCA مجموعهای از روشهای محاسباتی از DFT و روشهای ab initio گرفته تا روشهای many-body و coupled-cluster را ارائه میکند.
چرا به سرور نیاز داریم؟
فرض کنید یک دانشجو یا پژوهشگر یک محاسبه را روی کامپیوتر شخصی خود اجرا کند. اگر محاسبه 10 ساعت زمان ببرد، در این مدت سیستم عملاً درگیر همان پروژه است.
حال اگر چند پژوهشگر بهصورت همزمان پروژه داشته باشند، استفاده از کامپیوترهای معمولی بسیار محدودکننده خواهد بود.
یک سرور محاسباتی میتواند:
چندین هسته پردازنده + حافظه RAM زیاد + فضای ذخیرهسازی سریع + امکان اجرای همزمان چند Job
را در اختیار آزمایشگاه قرار دهد.
در محیط دانشگاهی حتی میتوان سرور را به یک سیستم مدیریت Job مانند SLURM متصل کرد تا پژوهشگران پروژههای خود را در صف قرار دهند و سرور بر اساس منابع موجود آنها را اجرا کند.
به این ترتیب سرور فقط یک کامپیوتر قدرتمند نیست؛ بلکه میتواند به یک منبع محاسباتی مشترک برای کل آزمایشگاه تبدیل شود.
مهمترین قطعه سرور: CPU
در بسیاری از پروژههای شیمی محاسباتی، CPU مهمترین بخش سیستم است.
نرمافزارهایی مانند Gaussian و ORCA میتوانند از پردازش موازی استفاده کنند. برای مثال در Gaussian تعداد پردازندههای مورد استفاده در فایل ورودی مشخص میشود و باید با منابع اختصاص دادهشده به Job هماهنگ باشد.
ORCA نیز از اجرای موازی استفاده میکند و تعداد پردازندهها را میتوان با پارامترهایی مانند %PAL NPROCS تعیین کرد.
اما یک نکته بسیار مهم وجود دارد:
هرچه تعداد Core بیشتر باشد، الزاماً عملکرد به همان نسبت بیشتر نمیشود.
بعضی محاسبات با افزایش تعداد هستهها بسیار خوب Scale میشوند و برخی دیگر بعد از تعداد مشخصی Core، بازدهی کمتری دارند. حتی مستندات برخی مراکز HPC برای ORCA نشان میدهند که بسته به نوع Workload، استفاده از حدود 8 تا 16 هسته میتواند نقطه مناسبی باشد.
بنابراین خرید یک CPU با تعداد Core بسیار بالا، بدون توجه به نرمافزار و نوع محاسبات، همیشه بهترین تصمیم نیست.
RAM؛ اهمیت بیشتر از چیزی که تصور میکنید
حافظه RAM در محاسبات اتمی اهمیت زیادی دارد.
برخی روشهای محاسباتی، خصوصاً محاسبات Wavefunction-based و روشهای پیشرفتهتر، میتوانند به حافظه زیادی نیاز داشته باشند. در ORCA نیز مقدار حافظه با پارامتر %MaxCore کنترل میشود و خود نرمافزار توصیه میکند بخشی از RAM برای سیستم و مصرفهای جانبی آزاد باقی بماند.
به همین دلیل برای یک سرور دانشگاهی، 128GB RAM را میتوان نقطه شروع مناسبی دانست؛ اما اگر قرار است مولکولهای بزرگتر یا محاسبات پیچیدهتر انجام شود، 256GB یا حتی 512GB RAM میتواند انتخاب بسیار مناسبتری باشد.
یک کانفیگ متعادل میتواند چنین چیزی باشد:
| نوع استفاده | RAM پیشنهادی |
|---|---|
| پروژههای آموزشی و سبک | 64GB |
| آزمایشگاه دانشگاهی معمولی | 128GB |
| پروژههای متوسط و چند کاربره | 256GB |
| محاسبات سنگین و مولکولهای بزرگ | 512GB+ |
البته مقدار مناسب RAM باید بر اساس نرمافزار و نوع Job تعیین شود.
آیا GPU لازم است؟
یکی از رایجترین اشتباهات هنگام خرید سرور برای محاسبات علمی این است که تصور کنیم حتماً باید یک یا چند GPU قدرتمند خریداری شود.
واقعیت این است که پاسخ به این سؤال کاملاً به نرمافزار بستگی دارد.
برای نمونه، ORCA در بسیاری از محیطهای HPC بهصورت CPU-based اجرا میشود و برخی مستندات HPC صراحتاً اجرای CPU-only آن را توصیه میکنند.
بنابراین اگر آزمایشگاه عمدتاً از نرمافزارهایی مانند ORCA یا Gaussian استفاده میکند، بهتر است بودجه ابتدا روی:
CPU → RAM → Storage سریع
سرمایهگذاری شود.
اگر نرمافزارهای مورد استفاده از GPU بهصورت مؤثر پشتیبانی کنند، آن زمان میتوان سراغ سرورهای GPUدار رفت.
Storage؛ آیا SAS 10K مناسب است؟
بله.
برای یک سرور دانشگاهی اقتصادی، HPE SAS 10K 12G میتواند انتخاب قابل قبولی باشد.
هاردهای SAS 10K از نظر ظرفیت، قیمت و قابلیت اطمینان برای ذخیرهسازی عمومی مناسب هستند و در سرورهای HPE نیز بهخوبی قابل استفادهاند.
اما باید بین دو نوع Storage تفاوت قائل شویم:
Storage اصلی
برای نگهداری:
- فایلهای پروژه
- Input و Output
- نتایج آزمایشها
- آرشیو محاسبات
SAS 10K گزینه مناسبی است.
Scratch Storage
در محاسبات علمی، بعضی نرمافزارها فایلهای موقت بسیار زیادی ایجاد میکنند. برای چنین فضایی، SSD میتواند عملکرد بسیار بهتری نسبت به HDD داشته باشد.
در واقع یک طراحی بسیار منطقی برای آزمایشگاه میتواند این باشد:
SAS 10K → Storage اصلی
Enterprise SSD → Scratch
این ترکیب میتواند تعادل خوبی بین قیمت، ظرفیت و Performance ایجاد کند. در بعضی محیطهای واقعی HPC نیز فضای Scratch بهعنوان یک منبع مهم برای فایلهای موقت محاسبات در نظر گرفته میشود و حتی پروژههای بزرگ میتوانند صدها گیگابایت فضای Scratch مصرف کنند.
RAID را فراموش نکنید
برای سرور آزمایشگاه بهتر است Storage بدون RAID استفاده نشود.
برای مثال:
2× SAS 10K → RAID 1
برای سیستمعامل و نرمافزارها
و:
4× یا 6× SAS 10K → RAID 10
برای دادههای اصلی
میتواند ترکیب مناسبی باشد.
اگر بودجه اجازه دهد، برای Scratch نیز میتوان از چند Enterprise SSD استفاده کرد.
پیشنهاد یک سرور HPE برای آزمایشگاه شیمی
اگر هدف، ساخت یک سرور نسبتاً اقتصادی و در عین حال قدرتمند باشد، HPE ProLiant DL380 Gen10 یکی از گزینههای مناسب است.
یک کانفیگ پیشنهادی:
| قطعه | پیشنهاد |
|---|---|
| Server | HPE DL380 Gen10 |
| CPU | 2× Xeon Gold |
| Core | حدود 24 تا 40 Core مجموع |
| RAM | 256GB DDR4 ECC |
| OS Storage | 2× SAS 10K RAID 1 |
| Data Storage | 4× یا 6× SAS 10K RAID 10 |
| Scratch | 2× Enterprise SSD |
| RAID Controller | HPE Smart Array P408i-a |
| Network | 1GbE / 10GbE |
| PSU | 2× Hot-Plug |
این کانفیگ برای یک آزمایشگاه دانشگاهی میتواند نقطه شروع بسیار خوبی باشد.
اگر بودجه کمتر باشد، HPE DL380 Gen9 نیز میتواند گزینه اقتصادی جذابی باشد. در طرف مقابل، اگر هدف استفاده طولانیمدت و اجرای Workloadهای سنگینتر باشد، نسلهای جدیدتر HPE مانند DL380 Gen11 ارزش بررسی دارند.
یک نکته مهم درباره تعداد Core
در انتخاب CPU نباید فقط به عدد Core نگاه کرد.
فرض کنید بین این دو انتخاب قرار گرفتهایم:
CPU A: تعداد Core بسیار زیاد ولی فرکانس پایینتر
CPU B: Core کمتر ولی فرکانس و IPC بالاتر
برای بعضی محاسبات شیمیایی، CPU دوم میتواند عملکرد بهتری داشته باشد.
از طرف دیگر، اگر آزمایشگاه چندین Job را همزمان اجرا کند، تعداد Core بیشتر اهمیت بیشتری پیدا میکند.
پس بهترین CPU به این موارد بستگی دارد:
نوع نرمافزار + نوع محاسبه + اندازه مولکول + تعداد کاربران + تعداد Jobهای همزمان
آیا یک سرور بهتر است یا چند سرور؟
برای یک آزمایشگاه کوچک، یک سرور قدرتمند معمولاً انتخاب سادهتری است.
اما اگر تعداد کاربران زیاد باشد، میتوان معماری را به سمت یک Cluster کوچک برد.
مثلاً:
1× Login/Management Node
2 تا 4× Compute Node
Shared Storage
در این حالت Jobها میتوانند بین Nodeهای مختلف تقسیم شوند.
البته برای یک آزمایشگاه دانشگاهی معمولی، شروع با یک DL380 قدرتمند و سپس توسعه سیستم در آینده معمولاً منطقیتر و اقتصادیتر است.
خب پس چی شد ؟
سرور محاسباتی در آزمایشگاه شیمی قرار نیست جای تجهیزات آزمایشگاهی را بگیرد؛ بلکه یک ابزار مکمل برای پیشبینی، تحلیل و شبیهسازی رفتار اتمها و مولکولها است.
با استفاده از محاسبات اتمی میتوان بسیاری از ساختارها و واکنشها را پیش از انجام آزمایش واقعی بررسی کرد و در بعضی پروژهها زمان و هزینه تحقیق را کاهش داد.
برای خرید سرور نیز بهتر است به جای تمرکز صرف روی تعداد Core یا خرید GPUهای گرانقیمت، ابتدا نرمافزارهای مورد استفاده آزمایشگاه مشخص شوند.
برای بسیاری از پروژههای رایج شیمی محاسباتی، یک سرور HPE با CPUهای چند هستهای قدرتمند، 128 تا 256GB RAM، Storage مناسب و SSD برای Scratch میتواند انتخاب بسیار خوبی باشد.
اگر قرار باشد یک گزینه اقتصادی و قابل اتکا انتخاب کنیم، HPE DL380 Gen9 و DL380 Gen10 همچنان گزینههای جذابی هستند و اگر عملکرد و طول عمر بالاتر اولویت داشته باشد، میتوان سراغ نسلهای جدیدتر رفت.
در نهایت، بهترین سرور برای محاسبات اتمی الزاماً گرانترین سرور نیست؛ سروری است که دقیقاً متناسب با نرمافزار و نوع محاسبات آزمایشگاه انتخاب شده باشد.















