tgoop.com/hpcnerds/27
Last Update:
برای استفاده از یک کلاستر HPC و یا یک سوپرکامپیوتر باید چه ابزار هایی رو بشناسیم؟
1⃣ Linux
سیستم عامل کلاستر های HPC همیشه یک توزیع لینوکس هست پس مطمئن بشیم حداقل دستورات لازم برای استقرار و اجرای پروژمون رو میدونیم.
2⃣ Slurm
کلاستر HPC مثل یه سرور عادی نیست! سعی نکنیم تا ترمینال سیستم واسمون باز شد همینطوری پروژمون رو اجرا کنیم. سروری که ما بهش متصل شدیم صرفا یک login node هست و اگه پروژمون رو همینطوری روش اجرا کنیم فقط از منابع سخت افزاری همون سرور میتونیم استفاده کنیم. منابع این کلاستر ها توسط یک workload manager مدیریت میشه که معروف ترین سیستم برای اینکار Slurm هست. روند استفاده اینطوریه که در یک فایل با فرمتی مشخص منابع سخت افزاری و برنامه های که پروژتون برای اجرا نیاز داره رو مشخص میکنید و یکسری موارد دیگه مثل اینکه اگه اجرا به خطا خورد چه اتفاقی بیفته. مثلاً میتونیم در اون فایل مشخص کنیم که پروژه ما به 64 هسته CPU و یک GPU احتیاج داره و نیازمندی نرم افزاریش هم python 3 است و نهایتا سه روز اجرا شدنش طول میکشه. وقتی یک job رو به این صورت ثبت کنیم، Slurm منابع مورد نیاز رو در صورت وجود از کلاستر برای اجرای این job اختصاص میده.
3⃣ Lmod
کاربرهای زیادی از یک سوپرکامپیوتر استفاده میکنند و هر کدوم ممکنه به نسخه خاصی از برنامه های مختلف احتیاج داشته باشند. وظیفه مدیریت این نیازمندی های نرم افزاری و لود کردن برنامه های مورد نیاز هر job به عهده Lmod هست. دستورات Lmod رو معمولا در همون فایل تعریف job قبل از دستورات اجرای پروژه می نویسیم. مثلاً
module load gcc/14.1
⚠️ هر کلاستر به کاربرهاش یکسری مستندات مبنی بر سیاست تخصیص منابع، سطوح دسترسی و ماژول های که میتونن استفاده کنند ارائه میده. این مستندات رو نادیده نگیریم.
@hpcnerds
BY HPC Nerds | High Performance and Scientific Computing
Share with your friend now:
tgoop.com/hpcnerds/27
