resources.yaml(5) Slurm Configuration File resources.yaml(5)

resources.yaml - پرونده پیکربندی Slurm برای منابع سلسله‌مراتبی (HRES)

پرونده resources.yaml یک پرونده پیکربندی با قالب YAML است که منابع سلسله‌مراتبی (HRES) را تعریف می‌کند. این پرونده باید در همان پوشه slurm.conf قرار داشته باشد. هر متنی که پس از «#» در این پرونده بیاید، تا انتهای همان خط به عنوان توضیح (کامنت) در نظر گرفته می‌شود.

جزئیات بیشتر در صفحه زمان‌بندی منابع سلسله‌مراتبی (HRES) در دسترس است: https://slurm.schedmd.com/hres.html

هر تعریف از منابع سلسله‌مراتبی یک شیء YAML است که شامل ویژگی‌های زیر می‌باشد:

نام منحصربه‌فرد برای منبع. این نام توسط slurmctld برای شناسایی آن استفاده خواهد شد. این ویژگی باید اولین ویژگی موجود در شیء باشد.
حالت برنامه‌ریزی برای منبع. باید یکی از مقادیر زیر باشد:
منابع کافی تنها در یک لایه که با گره‌های تخصیص‌یافته به کار همپوشانی دارد، مورد نیاز است.
منابع کافی باید در تمام لایه‌هایی که با گره‌های تخصیص‌یافته به کار همپوشانی دارند، در دسترس باشد.
منابع بر اساس هر گره تخصیص می‌یابند. زمان‌بند مجموع مصرف را از ریزدانه‌ترین لایه محاسبه کرده و آن را در لایه‌های متوالی بالاتر جمع می‌زند، به طوری که اطمینان حاصل شود مقدار count در هیچ لایه‌ای تجاوز نکند. این حالت برای منابع مصرفی مانند توان برق (power) طراحی شده است و می‌تواند با استفاده از پارامتر topology به یک توپولوژی بلوکی نگاشت شود.
(اختیاری) نام یک تعریف topology/block را جهت نگاشت به این منبع مشخص می‌کند. این پارامتر فقط برای منابع MODE_3 معتبر است. لایه‌های HRes باید همان چیدمان توپولوژی بلوکی مشخص‌شده را داشته باشند. این امر به زمان‌بند امکان می‌دهد تا به طور همزمان تخصیص‌های HRes و توپولوژی بلوکی را بهینه‌سازی کند.
(اختیاری) فهرستی از جفت‌های نام/مقدار که رشته‌های متنی دلخواه را به مقادیر شمارش منبعِ تعریف‌شده توسط مدیر سامانه نگاشت می‌کنند. کاربران سپس می‌توانند به جای یک مقدار عددی، از این رشته‌ها در هنگام ارسال کارها (مانند --resources=power:full_node) استفاده کنند. هر مدخل در این فهرست شامل موارد زیر است:
نام مستعار رشته‌ای برای مقدار (مانند "full_node").
شمارش عددی منبع (مانند 1000).
فهرستی از لایه‌ها که سلسله‌مراتب منبع را تعریف می‌کنند. هر لایه یک شیء YAML است که شامل موارد زیر می‌باشد:
فهرستی از نام‌های گره‌ها یا عبارات فهرست میزبان (hostlist) که بخشی از این لایه هستند.
شمار کل منابع موجود در این لایه خاص.
(اختیاری) فهرستی از جفت‌های نام/مقدار که مصرف منابع ایستا (غیرمرتبط با کارها) را در این لایه توصیف می‌کنند. این مورد به‌ویژه برای MODE_3 کاربرد دارد. هر مدخل شامل موارد زیر است:
نام مصرف‌کننده منبع ایستا (مانند "storage" یا "network1").
تعداد عددی منبعی که این مصرف‌کننده استفاده می‌کند.

---
- resource: flat
  mode: MODE_2
  layers:
    - nodes:			# highest level
        - "node[01-32]"
      count: 24
    - nodes:			# middle levels
        - "node[01-16]"
      count: 16
    - nodes:
        - "node[17-32]"
      count: 16
    - nodes:			# lowest levels
        - "node[01-08]"
      count: 12
    - nodes:
        - "node[09-16]"
      count: 12
    - nodes:
        - "node[17-24]"
      count: 12
    - nodes:
        - "node[25-32]"
      count: 12
- resource: natural
  mode: MODE_1
  layers:
    - nodes:			# highest level
        - "node[01-32]"
      count: 50
    - nodes:			# lowest levels
        - "node[01-16]"
      count: 100
    - nodes:
        - "node[17-32]"
      count: 100
- resource: power
  mode: MODE_3
  topology: blok1
  variables:
    - name: full_node
      value: 1000
    - name: full_gpu_node
      value: 2000
  layers:
    - nodes:
        - "node[01-32]"
      count: 130000
      base:
        - name: acUnit1
          value: 10000
        - name: acUnit2
          value: 8000
    - nodes:
        - "node[01-16]"
      count: 60000
      base:
        - name: network1
          value: 3000
    - nodes:
        - "node[17-32]"
      count: 80000
      base:
        - name: network2
          value: 2000
    - nodes:
        - "node[01-08]"
      count: 40000
      base:
        - name: storage
          value: 5000
    - nodes:
        - "node[09-16]"
      count: 40000
    - nodes:
        - "node[17-24]"
      count: 40000
    - nodes:
        - "node[25-32]"
      count: 40000

Copyright (C) 2025 SchedMD LLC.

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

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

نرم‌افزار Slurm با این امید که مفید واقع شود توزیع شده است، اما بدون هرگونه ضمانت؛ حتی بدون ضمانت ضمنی قابل فروش بودن (MERCHANTABILITY) یا تناسب برای یک هدف خاص (FITNESS FOR A PARTICULAR PURPOSE). برای جزئیات بیشتر به GNU General Public License مراجعه کنید.

slurm.conf(5)

Slurm Configuration File Slurm 25.11