topology.yaml(5) Slurm Configuration File topology.yaml(5) نام (NAME) topology.yaml - فایل پیکربندی Slurm برای پلاگین‌های توپولوژی توضیحات (DESCRIPTION) پرونده topology.yaml یک فایل پیکربندی در قالب YAML است که چندین توپولوژی شبکه را برای بهینه‌سازی تخصیص منابع کارها در Slurm تعریف می‌کند. این فایل باید در همان دایرکتوری پرونده slurm.conf قرار داشته باشد. هر متنی پس از یک «#» در این فایل تا انتهای آن سطر به عنوان توضیح (کامنت) در نظر گرفته می‌شود. جزئیات بیشتر در topology.conf(5) و در راهنمای توپولوژی در دسترس است: 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، یک برنامه مدیریت منابع، است. برای جزئیات بیشتر به نشانی مراجعه کنید. سامانه Slurm یک نرم‌افزار آزاد است؛ شما می‌توانید آن را تحت شرایط مجوز عمومی همگانی گنو (GNU General Public License) همان‌گونه که توسط بنیاد نرم‌افزارهای آزاد منتشر شده است، چه نسخه ۲ مجوز و چه (به انتخاب خودتان) هر نسخه بعدی دیگری، بازتوزیع کرده یا تغییر دهید. سامانه Slurm با این امید که سودمند باشد توزیع شده است، اما بدون هرگونه ضمانت؛ حتی بدون ضمانت ضمنی قابل فروش بودن یا مناسب بودن برای یک هدف خاص. برای جزئیات بیشتر به مجوز عمومی همگانی گنو مراجعه کنید. همچنین ببینید (SEE ALSO) slurm.conf(5), topology.conf(5) Slurm 26.05 Slurm Configuration File topology.yaml(5)