Provided by: slurm-client_23.11.4-1.2ubuntu5_amd64 bug

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.

       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.

topology/tree

       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 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/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.

       Switches
              Child switches of the named switch.  Either this option or the Nodes option must be specified.

       Nodes  Child Nodes of the named leaf  switch.   Either  this  option  or  the  Switches  option  must  be
              specified.

       LinkSpeed
              An  optional  value  specifying  the  performance  of this communication 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 node, 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. Levels are defined as level 0 being a
       single defined block, level 1 being a pair of blocks, level 2 being a group of 4 blocks, or  as  many  as
       can  be  grouped  together  if  there  are an uneven number of blocks, level 3 being a group of (up to) 8
       blocks, etc. You can define how many levels you want  to  enforce  jobs  remain  contiguous  across  with
       BlockLevels.

       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.  This must be specified along with the BlockName.

       BlockLevels
              List of enforced levels of block aggregation.

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[01,05,09,13]
       BlockName=block2 Nodes=node[02,06,10,14]
       BlockName=block3 Nodes=node[03,07,11,15]
       BlockName=block4 Nodes=node[04,08,12,16]

       BlockLevels=0-1,2

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 details.

SEE ALSO

       slurm.conf(5)

November 2023                               Slurm Configuration File                            topology.conf(5)