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

FreeBSD Manual Pages

  
 
  

home | help
topology.conf(5)	    Slurm Configuration File		topology.conf(5)

NAME
     topology.conf -  Slurm configuration file for the topology plugins

DESCRIPTION
     topology.conf is an ASCII file which describes the cluster's network topol-
     ogy for optimized job resource allocation.  The file will always be located
     in  the  same  directory  as the slurm.conf.  NOTE: This file is ignored if
     topology.yaml(5) exists.

     Parameter names are case insensitive.  Any text following a "#" in the con-
     figuration file is treated as a comment  through  the  end  of  that  line.
     Changes  to  the  configuration file take effect upon restart of Slurm dae-
     mons, daemon receipt of the SIGHUP signal,  or  execution	of  the  command
     "scontrol reconfigure" unless otherwise noted.

     Refer	to	the	topology     guide     for     more	details:
     <https://slurm.schedmd.com/topology.html>

topology/tree
     This plugin requires you to use the select/cons_tres plugin.   The  network
     topology  configuration, each line defining a switch name and its children,
     either node names or switch names.  Slurm's hostlist expression  parser  is
     used,  so	the  node  and	switch	names  need  not  be  consecutive  (e.g.
     "Nodes=tux[0-3,12,18-20]" and "Switches=s[0-2,4-8,12]"  will  parse  fine).
     An optional link speed may also be specified.

     All nodes in the network must be connected to at least one switch. The net-
     work  must be fully connected to use TopologyParam=RouteTree. Jobs can only
     span nodes connected by the same switch fabric, even if there are available
     idle nodes in other areas of the cluster.

     The topology.conf file for an Infiniband switch can be automatically gener-
     ated using the slurmibtopology tool  found  here:	<https://github.com/Ole-
     HolmNielsen/Slurm_tools/tree/master/slurmibtopology>.

     The overall configuration parameters available for topology/tree include:

     SwitchName
	    The  name of a switch. This name is internal to Slurm and arbitrary.
	    Each switch should have a unique name.  This field must be specified
	    and cannot be longer than 64 characters.

     Switches
	    Child switches of the named switch.

     Nodes  Child nodes of the named leaf switch.

     LinkSpeed
	    An optional value specifying the performance of  this  communication
	    link.   The  units	used  are arbitrary and this information is cur-
	    rently not used.  It may be used in the future to optimize	resource
	    allocations.

topology/block
     The network topology configuration, each line defining a block name and its
     children  node  names.   Slurm's hostlist expression parser is used, so the
     node names need not be consecutive (e.g. "Nodes=tux[0-3,12,18-20]").

     This topology plugin places emphasis on reducing fragmentation of the clus-
     ter, allowing jobs to take advantage of lower-latency  connections  between
     smaller "blocks" of nodes, rather than starting jobs as quickly as possible
     on the first available resources.

     Defined  blocks of nodes are paired with other contiguous blocks, to create
     a higher level block of nodes. These larger blocks can then be paired  with
     other  blocks  at the same level for bigger and bigger blocks of contiguous
     nodes with optimized communication between them. The enforced  block  sizes
     are defined by BlockSizes.

     The overall configuration parameters available for topology/block include:

     BlockName
	    The  name  of a block. This name is internal to Slurm and arbitrary.
	    Each block should have a unique name.  This field must be specified.

     Nodes  Child nodes of the named block.

     BlockSizes
	    List of the planning base block  size,  alongside  any  higher-level
	    block  sizes  that would be enforced.  Each block must have at least
	    the planning base block size count of nodes.  Successive  BlockSizes
	    must be a power of two larger than the prior values.

topology/ring
     This plugin models the cluster as one or more ordered rings of nodes.  Jobs
     are  allocated  using  contiguous	segments of nodes in the ring, which may
     wrap at the end of the ring.

     The network topology configuration, each line defining a ring name and  its
     child  node names.  Slurm's hostlist expression parser is used, so the node
     names need not be consecutive (e.g. "Nodes=tux[0-3,12,18-20]").  The  order
     of the nodes in the list defines the ring position starting at 0.

     The overall configuration parameters available for topology/ring include:

     RingName
	    The  name  of  a ring. This name is internal to Slurm and arbitrary.
	    Each ring should have a unique name.  This field must be specified.

     Nodes  Ordered list of child nodes in the ring.  A maximum of 16 nodes  can
	    be specified per ring.

topology/torus3d
     The  torus3d  plugin can only be configured via topology.yaml(5). It is not
     supported in topology.conf.  See  topology.yaml(5)  for  configuration  de-
     tails.

EXAMPLE
     ##################################################################
     # Slurm's network topology configuration file for use with the
     # topology/tree plugin
     ##################################################################
     SwitchName=s0 Nodes=dev[0-5]
     SwitchName=s1 Nodes=dev[6-11]
     SwitchName=s2 Nodes=dev[12-17]
     SwitchName=s3 Switches=s[0-2]

     ##################################################################
     # Slurm's network topology configuration file for use with the
     # topology/block plugin
     ##################################################################
     BlockName=block1 Nodes=node[1-32]
     BlockName=block2 Nodes=node[33-64]
     BlockName=block3 Nodes=node[65-96]
     BlockName=block4 Nodes=node[97-128]
     BlockSizes=30,120

     ##################################################################
     # Slurm's network topology configuration file for use with the
     # topology/ring plugin
     ##################################################################
     RingName=ring0 Nodes=node[01-08]
     RingName=ring1 Nodes=node[09-16]

COPYING
     Copyright	(C)  2009  Lawrence  Livermore	National  Security.  Produced at
     Lawrence Livermore National Laboratory (cf, DISCLAIMER).
     Copyright (C) 2010-2023 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), topology.yaml(5)

Slurm 26.05		    Slurm Configuration File		topology.conf(5)

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

home | help