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
       topology	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
       configuration file is treated as	a comment  through  the	 end  of  that
       line.   Changes	to  the	configuration file take	effect upon restart of
       Slurm daemons, 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 net-
       work topology configuration, each line defining a switch	name  and  its
       children,  either node names or switch names.  Slurm's hostlist expres-
       sion parser is used, so the node	and switch names need not be  consecu-
       tive  (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
       network	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
       generated    using    the    slurmibtopology    tool    found	 here:
       <https://github.com/OleHolmNielsen/Slurm_tools/tree/master/slur-
       mibtopology>.

       The  overall  configuration  parameters available for topology/tree in-
       clude:

       SwitchName
	      The name of a switch. This name is internal to Slurm  and	 arbi-
	      trary.   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  communica-
	      tion link.  The units used are arbitrary and this	information is
	      currently	 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
       cluster,	 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  en-
       forced block sizes are defined by BlockSizes.

       The  overall  configuration parameters available	for topology/block in-
       clude:

       BlockName
	      The name of a block. This	name is	internal to  Slurm  and	 arbi-
	      trary.   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 in-
       clude:

       RingName
	      The name of a ring. This name is internal	 to  Slurm  and	 arbi-
	      trary.  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
       details.

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  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), 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