Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
resources.yaml(5)	   Slurm Configuration File	     resources.yaml(5)

NAME
       resources.yaml  -   Slurm  configuration	 file for the Hierarchical Re-
       sources (HRES).

DESCRIPTION
       resources.yaml is a YAML-formatted configuration	file that defines  Hi-
       erarchical  Resources (HRES).  The file must be located in the same di-
       rectory as slurm.conf. Any text following a "#" in this file is treated
       as a comment through the	end of that line.

       Additional details are available	in the	Hierarchical  Resource	(HRES)
       Scheduling page:	<https://slurm.schedmd.com/hres.html>

PARAMETERS
       Each  Hierarchical Resources definition is a YAML object	containing the
       following attributes:

       resource
	      The unique name for the resource.	This  name  will  be  used  to
	      identify	it  by	slurmctld. This	must be	the first attribute in
	      the object.

       mode   The planning mode	for the	resource. Must be one of  the  follow-
	      ing:

	      MODE_1 Sufficient	 resources are required	on only	one layer that
		     overlaps with the job's allocated nodes.

	      MODE_2 Sufficient	resources must be available on all layers that
		     overlap with the job's allocated nodes.

	      MODE_3 Resources are allocated on	a per-node basis.  The	sched-
		     uler  calculates total consumption	from the most granular
		     layer and sums it up into the successively	higher layers,
		     ensuring the count	is not exceeded	 at  any  layer.  This
		     mode  is designed for consumable resources	like power and
		     can be mapped to a	block topology using the topology  pa-
		     rameter.

       topology
	      (Optional)  Specifies the	name of	a topology/block definition to
	      map to this resource. This parameter is only  valid  for	MODE_3
	      resources.   The	HRes  layers  must have	the same layout	as the
	      specified	block topology.	This enables the scheduler to simulta-
	      neously optimize both the	HRes and block topology	allocations.

       variables
	      (Optional) A list	of name/value pairs that  map  arbitrary  text
	      strings  to  administratively-defined resource counts. Users can
	      then  use	 these	strings	 in  job  submissions	(e.g.,	 --re-
	      sources=power:full_node)	instead	of a numeric value. Each entry
	      in the list contains:

	      name   The string	alias for the value (e.g., "full_node").

	      value  The numeric resource count	(e.g., 1000).

       layers A	list of	layers that define the resource	hierarchy. Each	 layer
	      is a YAML	object containing:

	      nodes  A	list  of  node	names or hostlist expressions that are
		     part of this layer.

	      count  The total number of resources available in	this  specific
		     layer.

	      base   (Optional)	A list of name/value pairs describing non-job-
		     related (static) resource consumption in this layer. This
		     is	particularly relevant for MODE_3. Each entry contains:

		     name   The	 name  of  the static resource consumer	(e.g.,
			    "storage", "network1").

		     value  The	numeric	resource count this consumer uses.

EXAMPLE
       ---
       - 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

COPYING
       Copyright (C) 2025 SchedMD LLC.

       This file is part of Slurm, a resource  management  program.   For  de-
       tails, see <https://slurm.schedmd.com/>.

       Slurm  is free software;	you can	redistribute it	and/or modify it under
       the terms of the	GNU General Public License as published	 by  the  Free
       Software	 Foundation;  either version 2 of the License, or (at your op-
       tion) any later version.

       Slurm is	distributed in the hope	that it	will be	 useful,  but  WITHOUT
       ANY  WARRANTY;  without even the	implied	warranty of MERCHANTABILITY or
       FITNESS FOR A PARTICULAR	PURPOSE. See the GNU  General  Public  License
       for more	details.

SEE ALSO
       slurm.conf(5)

Slurm 25.11		   Slurm Configuration File	     resources.yaml(5)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=resources.yaml&sektion=5&manpath=FreeBSD+Ports+15.0.quarterly>

home | help