| topology.yaml(5) | Slurm Configuration File | topology.yaml(5) |
نام (NAME)
topology.yaml - فایل پیکربندی Slurm برای پلاگینهای توپولوژی
توضیحات (DESCRIPTION)
پرونده topology.yaml یک فایل پیکربندی در قالب YAML است که چندین توپولوژی شبکه را برای بهینهسازی تخصیص منابع کارها در Slurm تعریف میکند. این فایل باید در همان دایرکتوری پرونده slurm.conf قرار داشته باشد. هر متنی پس از یک «#» در این فایل تا انتهای آن سطر به عنوان توضیح (کامنت) در نظر گرفته میشود.
جزئیات بیشتر در topology.conf(5) و در راهنمای توپولوژی در دسترس است: https://slurm.schedmd.com/topology.html
NOTE: سامانه Slurm ابتدا وجود topology.yaml را بررسی میکند. اگر این فایل وجود داشته باشد، topology.conf نادیده گرفته خواهد شد.
پارامترها (PARAMETERS)
هر توپولوژی شامل مشخصههای زیر است:
- topology
- نام یکتای توپولوژی که برای شناسایی آن در پیکربندیهای پارتیشن استفاده میشود. این گزینه باید نخستین مشخصه باشد.
- cluster_default
- نخستین توپولوژی تعریفشده با cluster_default: true برای پارتیشنهای بدون توپولوژی صریحاً مشخصشده و عملیاتهای سراسری کلاستر که وابسته به پارتیشن خاصی نیستند (مانند ارتباطات میان slurmctld و slurmd) استفاده خواهد شد. مقدار پیشفرض false است.
هر توپولوژی همچنین باید دقیقاً یکی از انواع توپولوژی زیر را تعریف کند:
- block
- این توپولوژی از پلاگین topology/block استفاده خواهد کرد. باید شامل فیلدهای اضافی باشد؛ بخش زیر را ببینید.
- flat
- در صورت تنظیم روی true، این توپولوژی از پلاگین topology/flat استفاده میکند که در صورت مشخص نشدن TopologyPlugin یا topology.yaml پیشفرض است. همچنین میتواند روی یک فرهنگلغت (dictionary) از گزینهها تنظیم شود؛ بخش «تعاریف مسطح (Flat definitions)» در زیر را ببینید.
- ring
- این توپولوژی از پلاگین topology/ring استفاده خواهد کرد. باید شامل فیلدهای اضافی باشد؛ بخش زیر را ببینید.
- torus3d
- این توپولوژی از پلاگین topology/torus3d استفاده خواهد کرد. باید شامل فیلدهای اضافی باشد؛ بخش زیر را ببینید.
- tree
- این توپولوژی از پلاگین topology/tree استفاده خواهد کرد. باید شامل فیلدهای اضافی باشد؛ بخش زیر را ببینید.
تعاریف بلوکی (Block definitions)
هر توپولوژی بلوکی شامل مشخصههای زیر است:
- block_sizes
- فهرستی از اندازه بلوک پایه برنامهریزیشده، به همراه اندازههای بلوک سطوح بالاتری که باید اعمال شوند. مقادیر متوالی BlockSizes باید توانی از دو و بزرگتر از مقادیر قبلی باشند.
- blocks
- فهرست بلوکهای موجود در این توپولوژی. هر بلوک شامل مشخصههای زیر است:
- block
- نام یک بلوک. این نام برای Slurm داخلی و اختیاری است. هر بلوک باید نامی یکتا داشته باشد. این فیلد باید مشخص شود.
- nodes
- گرههای فرزند بلوک نامبردهشده.
تعاریف درختی (Tree definitions)
هر توپولوژی درختی شامل مشخصه زیر است:
- switches
- فهرست سوییچهای موجود در این توپولوژی. هر سوییچ شامل مشخصههای زیر است:
- switch
- نام یک سوییچ. این نام برای Slurm داخلی و اختیاری است. هر سوییچ باید نامی یکتا داشته باشد. این فیلد باید مشخص شود و نباید طولانیتر از ۶۴ نویسه باشد.
- children
- سوییچهای فرزند سوییچ نامبردهشده.
- nodes
- گرههای فرزند سوییچ برگ نامبردهشده.
تعاریف حلقهای (Ring definitions)
هر توپولوژی حلقهای شامل مشخصه زیر است:
- rings
- فهرست حلقههای موجود در این توپولوژی. هر حلقه شامل مشخصههای زیر است:
- ring
- نام یک حلقه. این نام برای Slurm داخلی و اختیاری است. هر حلقه باید نامی یکتا داشته باشد. این فیلد باید مشخص شود.
- nodes
- فهرست مرتبشدهای از گرههای فرزند در حلقه. برای هر حلقه حداکثر ۱۶ گره را میتوان مشخص کرد.
تعاریف تورس سهبعدی (Torus3d definitions)
هر توپولوژی torus3d شامل مشخصه زیر است:
- toruses
- فهرستی از تعاریف تورس سهبعدی. هر تورس شامل مشخصههای زیر است:
- name
- نام تورس. این نام برای Slurm داخلی و اختیاری است. هر تورس باید نامی یکتا داشته باشد. این فیلد باید مشخص شود.
- dims
- ابعاد تورس به صورت یک شیء با فیلدهای x، y و z (هر کدام یک عدد صحیح مثبت). حاصلضرب x*y*z کل تعداد سلولهای مختصاتی در تورس را مشخص میکند.
- nodes
- گرههای فرزند تورس. گرهها به ترتیب اولویت x (تغییر سریعتر x) روی مختصات نگاشت میشوند. با regions مانعةالجمع است.
- regions
- فهرستی از نواحی درون تورس که زیرمجموعههایی از مختصات را به گرهها نگاشت میکنند. با nodes مانعةالجمع است. هر ناحیه شامل مشخصههای زیر است:
- anchor
- مختصات شروع ناحیه به صورت یک شیء با فیلدهای x، y و z.
- dims
- اندازه ناحیه به صورت یک شیء با فیلدهای x، y و z. این ناحیه مختصات از anchor تا anchor + dims - 1 را در بر میگیرد. این ناحیه باید درون ابعاد تورس جای گیرد (بدون پیچش یا دور زدن مرزها).
- nodes
- گرههایی که باید در ناحیه قرار گیرند، که به ترتیب اولویت x درون محدوده مختصاتی ناحیه نگاشت میشوند.
- placements
- فهرستی از اشکال جایگذاری مجاز برای این تورس. کارهایی که درخواست تعدادی گره منطبق با اندازه یک جایگذاری دارند، به صورت یک زیرمکعب پیوسته تخصیص خواهند یافت که ممکن است مرزهای تورس را دور بزند (wrap around). کارهایی که با هیچ اندازه جایگذاری مطابقت نداشته باشند، تخصیصی دریافت نخواهند کرد. هر جایگذاری شامل مشخصههای زیر است:
- dims
- ابعاد شکل جایگذاری به صورت یک شیء با فیلدهای x، y و z. حاصلضرب x*y*z اندازه جایگذاری (تعداد گرهها) را تعیین میکند.
- anchor_seed
- آفست مختصات شروع اختیاری برای شبکه لنگر (anchor grid) به صورت یک شیء با فیلدهای x، y و z. کل شبکه لنگر را به اندازه آفست دادهشده جابهجا میکند. مقدار پیشفرض آن {0, 0, 0} است.
- anchor_spacing
- فاصلهگذاری اختیاری میان لنگرهای جایگذاری به صورت یک شیء با فیلدهای x، y و z. نحوه تولید موقعیتهای لنگر در سراسر تورس را کنترل میکند. در صورت مشخص نشدن، مقدار پیشفرض آن dims مربوط به placement است.
تعاریف مسطح (Flat definitions)
هر توپولوژی مسطح میتواند شامل مشخصه زیر باشد:
- alpha_step_rank
- در صورت تنظیم روی true، گرههای تخصیصیافته به کار هنگام انتخاب گرههای گام و چینش تسکها، بر اساس حروف الفبا و بر حسب نام مرتب میشوند. به طور پیشفرض، ترتیب از اندیس جدول داخلی گرهها پیروی میکند که برای گرههای پویای ثبتشده، نشاندهنده ترتیب ثبت است نه ترتیب الفبایی نامها.
مثالها (EXAMPLES)
---
- topology: topo1
cluster_default: true
tree:
switches:
- switch: sw_root
children: s[1-2]
- switch: s1
nodes: node[01-02]
- switch: s2
nodes: node[03-04]
- topology: topo2
cluster_default: false
block:
block_sizes:
- 4
- 16
blocks:
- block: b1
nodes: node[01-04]
- block: b2
nodes: node[05-08]
- block: b3
nodes: node[09-12]
- block: b4
nodes: node[13-16]
- topology: topo3
cluster_default: false
flat: true
- topology: topo3a
cluster_default: false
flat:
alpha_step_rank: true
- topology: topo4
cluster_default: false
ring:
rings:
- ring: ring0
nodes: node[01-08]
- ring: ring1
nodes: node[09-16]
- topology: topo5
cluster_default: false
torus3d:
toruses:
- name: pod1
dims:
x: 4
y: 4
z: 2
nodes: node[01-32]
placements:
- dims:
x: 2
y: 2
z: 1
- dims:
x: 2
y: 2
z: 2
- dims:
x: 4
y: 4
z: 2
کپیرایت و تکثیر (COPYING)
Copyright (C) 2025 SchedMD LLC.
این پرونده بخشی از Slurm، یک برنامه مدیریت منابع، است. برای جزئیات بیشتر به نشانی https://slurm.schedmd.com مراجعه کنید.
سامانه Slurm یک نرمافزار آزاد است؛ شما میتوانید آن را تحت شرایط مجوز عمومی همگانی گنو (GNU General Public License) همانگونه که توسط بنیاد نرمافزارهای آزاد منتشر شده است، چه نسخه ۲ مجوز و چه (به انتخاب خودتان) هر نسخه بعدی دیگری، بازتوزیع کرده یا تغییر دهید.
سامانه Slurm با این امید که سودمند باشد توزیع شده است، اما بدون هرگونه ضمانت؛ حتی بدون ضمانت ضمنی قابل فروش بودن یا مناسب بودن برای یک هدف خاص. برای جزئیات بیشتر به مجوز عمومی همگانی گنو مراجعه کنید.
همچنین ببینید (SEE ALSO)
| Slurm Configuration File | Slurm 26.05 |