
به اشتراک بگذارید

به اشتراک بگذارید
سرور و دیتاسنتر | بلاگ وبداده
سرور محاسباتی (HPC) چیست و کی واقعاً به پردازش سنگین نیاز دارید؟
💡 خلاصه مقاله در ۳ خط
💡 سرور HPC = تقسیم یک محاسبه بزرگ بین هستههای زیاد
🔶 سرور اختصاصی ایران برای پردازشهای پژوهشی
📌 آنچه در این مقاله میخوانید
User (SSH)
⬇️
[ Login Node ] ➡️ [ Scheduler: Slurm ]
⬇️
[ Node 1 ] ⬅️ Interconnect ➡️ [ Node 2 ... N ]
⬇️ ⬇️
[ Parallel File System / NVMe Scratch ]
🔸 نگاهی به فهرست TOP500 در 2026
Speedup = 1 / (S + P / N)
P = 0.95 , N = 10 ➡️ ~6.9x
P = 0.95 , N = 10000 ➡️ ~20x (ceiling)

| معیار | سرور پردازشی تکی | کلاستر HPC | سرور GPU |
|---|---|---|---|
| ساختار | یک سرور دوپردازندهای پرهسته | دهها تا هزاران گره با شبکه سریع | سرور با یک یا چند کارت شتابدهنده |
| مدل برنامهنویسی | OpenMP یا MPI روی یک گره | MPI بین گرهها و OpenMP داخل گره | CUDA، ROCm یا کتابخانههای آماده |
| شبکه میانگرهای | لازم نیست | InfiniBand یا اترنت کمتأخیر | بسته به تعداد گره |
| مناسب برای | CFD و FEA متوسط، جابهای پارامتری | مدلهای بسیار بزرگ و پروژههای ملی | یادگیری عمیق و نرمافزارهای شتابیافته |
| پیچیدگی راهاندازی | کم | زیاد (زمانبند، فایلسیستم موازی، شبکه) | متوسط (درایور و نسخه CUDA) |
📚 از منابع معتبر

#!/bin/bash
#SBATCH --job-name=cfd-case
#SBATCH --nodes=1
#SBATCH --ntasks=28
#SBATCH --time=24:00:00
decomposePar
mpirun -np 28 foamRun -parallel > log.foamRun
reconstructPar
sbatch job.sh به صف میفرستید، وضعیت آن را با squeue میبینید و در صورت نیاز با scancel لغوش میکنید. طبق راهنمای OpenFOAM، ابزار decomposePar دامنه را بر اساس فایل decomposeParDict به زیردامنهها تقسیم میکند و reconstructPar در پایان نتایج را یکپارچه میکند. مقدار numberOfSubdomains در آن فایل باید با تعداد پردازهها برابر باشد.📌 یادآوری پیش از اجراهای طولانی

| نوع بار | نمونه نرمافزار | گلوگاه رایج | اولویت سختافزار |
|---|---|---|---|
| CFD | OpenFOAM، Fluent | پهنای باند حافظه | کانال حافظه بیشتر و هسته زیاد |
| دینامیک مولکولی | GROMACS | محاسبه برداری | SIMD قوی یا GPU |
| شیمی کوانتومی | Gaussian، ORCA | رم و دیسک موقت | رم زیاد و NVMe سریع |
| جابهای پارامتری | اسکریپت Python یا R | تعداد هسته | هسته زیاد و رم متوسط |
| یادگیری عمیق | PyTorch | حافظه و توان GPU | سرور GPU |
⚠️ محدودیتها را شفاف بدانید
از نظر سختافزار مرز دقیقی وجود ندارد؛ یک سرور اختصاصی پرهسته با رم کافی میتواند یک سرور HPC کوچک باشد. تفاوت در پیکربندی و نوع استفاده است: روی سرور HPC نرمافزارهای موازی، کتابخانههای MPI و گاهی زمانبند جاب نصب میشود و سرور بهجای میزبانی سایت، محاسبه عددی انجام میدهد. در مقیاس بزرگ، چند سرور با شبکه پرسرعت و فایلسیستم موازی به کلاستر تبدیل میشوند.
به مدل شما بستگی دارد. اگر هر اجرا روی لپتاپ چند دقیقه طول میکشد، سرور لازم نیست. اما اگر اجراها یک شب یا بیشتر طول میکشند، رم سیستم کم میآید یا باید دهها سناریو را تکرار کنید، سرور پردازشی زمان پروژه را کوتاه میکند. پیش از اجاره مطمئن شوید نرمافزار شما از چند هسته استفاده میکند؛ نرمافزار تکهستهای از سرور پرهسته سود چندانی نمیبرد.
OpenMP برای حافظه مشترک طراحی شده است؛ یعنی رشتههای یک برنامه داخل یک سرور به یک رم دسترسی دارند. MPI برای حافظه توزیعشده است و پردازهها با ارسال پیام داده را جابهجا میکنند، بنابراین میتواند بین چند سرور کار کند. بسیاری از نرمافزارهای مهندسی ترکیبی از هر دو را به کار میبرند و روی یک سرور تکی هر دو روش قابل استفادهاند.
عدد ثابتی وجود ندارد. تعداد هسته را با آزمون مقیاسپذیری تعیین کنید: مدل را با ۱، ۲، ۴، ۸ و ۱۶ هسته اجرا کنید و ببینید شتاب کجا متوقف میشود. برای رم، مصرف واقعی یک اجرای کوچک را اندازه بگیرید و آن را برای اندازه مدل نهایی برآورد کنید. حاشیهای هم برای سیستمعامل و فایلهای موقت بگذارید. اگر پلن آماده کافی نبود، پیکربندی سفارشی را بررسی کنید.
برای استنتاج مدلهای کوچک و متوسط و پیشپردازش داده، CPU پرهسته قابل استفاده است؛ روش آن را در راهنمای راهاندازی سرور هوش مصنوعی شخصی با Ollama توضیح دادهایم. اما آموزش شبکههای عصبی بزرگ روی CPU بسیار کندتر است و به GPU نیاز دارد. پلن آماده وبداده کارت گرافیک ندارد و نیاز GPU باید از طریق تیکت یا تماس بررسی شود.
از نظر نرمافزاری بله؛ با نصب Slurm، یک پیادهسازی MPI مثل Open MPI و یک فایلسیستم مشترک میتوان چند سرور را به کلاستر تبدیل کرد. محدودیت اصلی شبکه است: کلاسترهای جدی از InfiniBand یا اترنت کمتأخیر استفاده میکنند و برنامههای پرارتباط روی شبکه معمولی خوب مقیاس نمیشوند. برای جابهای مستقل و پارامتری، شبکه معمولی کافی است. نیازهای شبکه را پیش از خرید با کارشناسان وبداده در میان بگذارید.
Slurm یک مدیر کلاستر و زمانبند جاب متنباز برای لینوکس است که منابع را به کاربران تخصیص میدهد و جابها را در صف نگه میدارد. اگر فقط یک نفر از سرور استفاده میکند، اجرای مستقیم برنامه یا ابزاری مثل tmux کافی است. اما وقتی چند پژوهشگر یک سرور مشترک دارند، Slurm جلوی تداخل جابها و اشغال همه هستهها توسط یک نفر را میگیرد.
سرور اختصاصی فقط در اختیار شماست و سختافزار آن با کاربر دیگری تقسیم نمیشود، اما امنیت سیستمعامل و دسترسیها بر عهده مدیر سرور است. ورود با کلید SSH، بستن پورتهای غیرضروری، بهروزرسانی منظم و نسخه پشتیبان خارج از سرور حداقل اقدامات لازماند. وبداده محافظت DDoS و فایروال سختافزاری دارد، ولی این لایهها جایگزین تنظیمات امنیتی داخل سرور نیستند.