topology.conf(5) Slurm Configuration File topology.conf(5)

topology.conf - پرونده پیکربندی Slurm برای پلاگین‌های توپولوژی

topology.conf یک پرونده متنی اسکی (ASCII) است که توپولوژی شبکه خوشه را برای تخصیص بهینه منابع کاری توصیف می‌کند. این پرونده همیشه در همان دایرکتوری slurm.conf قرار دارد. NOTE: اگر topology.yaml(5) وجود داشته باشد، این پرونده نادیده گرفته می‌شود.

نام پارامترها به حروف بزرگ و کوچک حساس نیست (case-insensitive). هر متنی پس از یک «#» در پرونده پیکربندی تا پایان آن خط به عنوان یادداشت (کامنت) تلقی می‌شود. تغییرات در پرونده پیکربندی با راه‌اندازی مجدد دیمن‌های Slurm، دریافت سیگنال SIGHUP توسط دیمن، یا اجرای دستور «scontrol reconfigure» اعمال می‌گردد، مگر اینکه خلاف آن ذکر شده باشد.

برای جزئیات بیشتر به راهنمای توپولوژی مراجعه کنید: https://slurm.schedmd.com/topology.html

این پلاگین نیازمند استفاده از پلاگین select/cons_tres است. پیکربندی توپولوژی شبکه، که هر خط آن یک نام سوییچ و فرزندان آن (اعم از نام نودها یا نام سوییچ‌ها) را تعریف می‌کند. از مفسر عبارت hostlist در Slurm استفاده می‌شود، بنابراین نیازی نیست نام نودها و سوییچ‌ها متوالی باشند (برای نمونه، «Nodes=tux[0-3,12,18-20]» و «Switches=s[0-2,4-8,12]» به درستی تفسیر می‌شوند). همچنین می‌توان یک سرعت پیوند اختیاری نیز تعیین کرد.

تمام نودها در شبکه باید حداقل به یک سوییچ متصل باشند. شبکه برای استفاده از TopologyParam=RouteTree باید کاملاً متصل (fully connected) باشد. کارها فقط می‌توانند در نودهایی توزیع شوند که به یک فابریک سوییچ مشترک متصل هستند، حتی اگر نودهای بیکار (idle) دیگری در سایر بخش‌های خوشه موجود باشند.

پرونده topology.conf برای سوییچ Infiniband را می‌توان با استفاده از ابزار slurmibtopology که در این نشانی قرار دارد به طور خودکار تولید کرد: https://github.com/OleHolmNielsen/Slurm_tools/tree/master/slurmibtopology

پارامترهای کلی پیکربندی موجود برای topology/tree عبارتند از:

نام یک سوییچ. این نام داخلی Slurm و دلخواه است. هر سوییچ باید یک نام یکتا داشته باشد. این فیلد باید مشخص شود و نمی‌تواند طولانی‌تر از ۶۴ نویسه باشد.
سوییچ‌های فرزند سوییچ نام‌برده‌شده.
نودهای فرزند سوییچ برگ (leaf switch) نام‌برده‌شده.
مقداری اختیاری که کارایی این پیوند ارتباطی را مشخص می‌کند. واحدهای استفاده‌شده دلخواه هستند و این اطلاعات در حال حاضر استفاده نمی‌شود. ممکن است در آینده برای بهینه‌سازی تخصیص منابع به کار رود.

پیکربندی توپولوژی شبکه، که هر خط آن یک نام بلوک و نام نودهای فرزند آن را تعریف می‌کند. از مفسر عبارت hostlist در Slurm استفاده می‌شود، بنابراین نیازی نیست نام نودها متوالی باشند (برای نمونه، «Nodes=tux[0-3,12,18-20]»).

این پلاگین توپولوژی بر کاهش تکه‌تکه‌شدگی (fragmentation) خوشه تأکید دارد، و به کارها اجازه می‌دهد از ارتباطات با تأخیر کمتر میان «بلوک‌های» کوچک‌ترِ نودها بهره ببرند، به‌جای اینکه کارها در سریع‌ترین زمان ممکن روی اولین منابعِ در دسترس آغاز شوند.

بلوک‌های تعریف‌شده از نودها با سایر بلوک‌های مجاور جفت می‌شوند تا یک بلوک نود با سطح بالاتر ایجاد گردد. این بلوک‌های بزرگ‌تر می‌توانند با بلوک‌های دیگر در همان سطح جفت شوند تا بلوک‌های پیوسته بزرگ‌تر و بزرگ‌تری از نودها با ارتباط بهینه‌سازی‌شده میان آن‌ها شکل گیرد. اندازه‌های بلوک تحمیل‌شده توسط BlockSizes تعریف می‌شوند.

پارامترهای کلی پیکربندی موجود برای topology/block عبارتند از:

نام یک بلوک. این نام داخلی Slurm و دلخواه است. هر بلوک باید یک نام یکتا داشته باشد. این فیلد باید مشخص شود.
نودهای فرزند بلوک نام‌برده‌شده.
فهرستی از اندازه بلوک پایه برنامه‌ریزی، به همراه هرگونه اندازه بلوک سطح بالاتر که اعمال خواهد شد. هر بلوک باید دست‌کم به تعداد اندازه بلوک پایه برنامه‌ریزی نود داشته باشد. مقادیر پیاپی BlockSizes باید توانی از دو و بزرگ‌تر از مقادیر پیشین باشند.

این پلاگین، خوشه را به عنوان یک یا چند حلقه مرتب از نودها مدل‌سازی می‌کند. تخصیص کارها با استفاده از بخش‌های پیوسته از نودها در حلقه انجام می‌شود، که ممکن است در انتهای حلقه به ابتدا بازگردد (wrap).

پیکربندی توپولوژی شبکه، که هر خط آن یک نام حلقه و نام نودهای فرزند آن را تعریف می‌کند. از مفسر عبارت hostlist در Slurm استفاده می‌شود، بنابراین نیازی نیست نام نودها متوالی باشند (برای نمونه، «Nodes=tux[0-3,12,18-20]»). ترتیب نودها در فهرست، جایگاه در حلقه را از 0 مشخص می‌کند.

پارامترهای کلی پیکربندی موجود برای topology/ring عبارتند از:

نام یک حلقه. این نام داخلی Slurm و دلخواه است. هر حلقه باید یک نام یکتا داشته باشد. این فیلد باید مشخص شود.
فهرست مرتب‌شده نودهای فرزند در حلقه. حداکثر ۱۶ نود را می‌توان برای هر حلقه مشخص کرد.

پلاگین torus3d تنها از طریق topology.yaml(5) قابل پیکربندی است. این پلاگین در topology.conf پشتیبانی نمی‌شود. برای جزئیات پیکربندی، topology.yaml(5) را ببینید.

##################################################################
# Slurm's network topology configuration file for use with the
# topology/tree plugin
##################################################################
SwitchName=s0 Nodes=dev[0-5]
SwitchName=s1 Nodes=dev[6-11]
SwitchName=s2 Nodes=dev[12-17]
SwitchName=s3 Switches=s[0-2]
##################################################################
# Slurm's network topology configuration file for use with the
# topology/block plugin
##################################################################
BlockName=block1 Nodes=node[1-32]
BlockName=block2 Nodes=node[33-64]
BlockName=block3 Nodes=node[65-96]
BlockName=block4 Nodes=node[97-128]
BlockSizes=30,120
##################################################################
# Slurm's network topology configuration file for use with the
# topology/ring plugin
##################################################################
RingName=ring0 Nodes=node[01-08]
RingName=ring1 Nodes=node[09-16]

Copyright (C) 2009 Lawrence Livermore National Security.
Produced at Lawrence Livermore National Laboratory (cf, DISCLAIMER).
Copyright (C) 2010-2023 SchedMD LLC.

این پرونده بخشی از Slurm، یک برنامه مدیریت منابع است. برای جزئیات، ببینید: https://slurm.schedmd.com

نرم‌افزار Slurm یک نرم‌افزار آزاد است؛ شما می‌توانید آن را تحت شرایط مجوز عمومی همگانی گنو (GNU General Public License) همان‌طور که توسط بنیاد نرم‌افزارهای آزاد منتشر شده بازتوزیع کرده و/یا تغییر دهید؛ چه نسخه ۲ مجوز، و یا (به انتخاب خودتان) هر نسخه پس از آن.

نرم‌افزار Slurm با این امید که مفید واقع شود توزیع شده است، اما بدون هرگونه ضمانت؛ حتی بدون ضمانت ضمنی قابل فروش بودن یا مناسب بودن برای یک هدف خاص. برای جزئیات بیشتر به مجوز عمومی همگانی گنو مراجعه فرمایید.

slurm.conf(5), topology.yaml(5)

Slurm Configuration File Slurm 26.05