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 Resources
     (HRES).

DESCRIPTION
     resources.yaml is a YAML-formatted configuration file that defines  Hierar-
     chical Resources (HRES).  The file must be located in the same directory 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) Sched-
     uling page: <https://slurm.schedmd.com/hres.html>

PARAMETERS
     Each Hierarchical Resources definition is a YAML object containing the fol-
     lowing 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 following:

	    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  scheduler
		   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 parameter.

     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 simultaneously 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-re-
		   lated  (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., "stor-
			  age", "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	details,
     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 option) 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  de-
     tails.

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.1.quarterly>

home | help