Skip to content
Snippets Groups Projects
Commit c18891ad authored by Moe Jette's avatar Moe Jette
Browse files

Add topology web page

parent d2fe9b6d
No related branches found
No related tags found
No related merge requests found
...@@ -38,6 +38,8 @@ generated_html = \ ...@@ -38,6 +38,8 @@ generated_html = \
power_save.html \ power_save.html \
preempt.html \ preempt.html \
proctrack_plugins.html \ proctrack_plugins.html \
priority_multifactor.html \
priority_plugins.html \
programmer_guide.html \ programmer_guide.html \
publications.html \ publications.html \
quickstart_admin.html \ quickstart_admin.html \
...@@ -52,14 +54,17 @@ generated_html = \ ...@@ -52,14 +54,17 @@ generated_html = \
taskplugins.html \ taskplugins.html \
team.html \ team.html \
testimonials.html \ testimonials.html \
topology.html \
troubleshoot.html troubleshoot.html
html_DATA = \ html_DATA = \
${generated_html} \ ${generated_html} \
AllocationPies.gif \
arch.gif \ arch.gif \
configurator.html \ configurator.html \
coding_style.pdf \ coding_style.pdf \
entities.gif \ entities.gif \
ExampleUsage.gif \
lci.7.tutorial.pdf \ lci.7.tutorial.pdf \
lll.gif \ lll.gif \
mc_support.gif \ mc_support.gif \
...@@ -74,7 +79,8 @@ html_DATA = \ ...@@ -74,7 +79,8 @@ html_DATA = \
slurm_design.pdf \ slurm_design.pdf \
slurmstyles.css \ slurmstyles.css \
sponsors.gif \ sponsors.gif \
linuxstyles.css linuxstyles.css \
UsagePies.gif
MOSTLYCLEANFILES = ${generated_html} MOSTLYCLEANFILES = ${generated_html}
......
...@@ -286,6 +286,8 @@ generated_html = \ ...@@ -286,6 +286,8 @@ generated_html = \
plugins.html \ plugins.html \
power_save.html \ power_save.html \
preempt.html \ preempt.html \
priority_multifactor.html \
priority_plugins.html \
proctrack_plugins.html \ proctrack_plugins.html \
programmer_guide.html \ programmer_guide.html \
publications.html \ publications.html \
...@@ -301,14 +303,17 @@ generated_html = \ ...@@ -301,14 +303,17 @@ generated_html = \
taskplugins.html \ taskplugins.html \
team.html \ team.html \
testimonials.html \ testimonials.html \
topology.html \
troubleshoot.html troubleshoot.html
html_DATA = \ html_DATA = \
${generated_html} \ ${generated_html} \
AllocationPies.gif \
arch.gif \ arch.gif \
configurator.html \ configurator.html \
coding_style.pdf \ coding_style.pdf \
entities.gif \ entities.gif \
ExampleUsage.gif \
lci.7.tutorial.pdf \ lci.7.tutorial.pdf \
lll.gif \ lll.gif \
mc_support.gif \ mc_support.gif \
...@@ -323,7 +328,8 @@ html_DATA = \ ...@@ -323,7 +328,8 @@ html_DATA = \
slurm_design.pdf \ slurm_design.pdf \
slurmstyles.css \ slurmstyles.css \
sponsors.gif \ sponsors.gif \
linuxstyles.css linuxstyles.css \
UsagePies.gif
MOSTLYCLEANFILES = ${generated_html} MOSTLYCLEANFILES = ${generated_html}
EXTRA_DIST = $(html_DATA) EXTRA_DIST = $(html_DATA)
......
...@@ -34,6 +34,7 @@ Also see <a href="publications.html">Publications and Presentations</a>. ...@@ -34,6 +34,7 @@ Also see <a href="publications.html">Publications and Presentations</a>.
<li><a href="resource_limits.html">Resource Limits</a></li> <li><a href="resource_limits.html">Resource Limits</a></li>
<li><a href="reservations.html">Resource Reservation Gude</a></li> <li><a href="reservations.html">Resource Reservation Gude</a></li>
<li><a href="cons_res_share.html">Sharing Consumable Resources</a></li> <li><a href="cons_res_share.html">Sharing Consumable Resources</a></li>
<li><a href="topology.html">Topology</a></li>
</ul> </ul>
<li>External Schedulers</li> <li>External Schedulers</li>
<ul> <ul>
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<head> <head>
<title>SLURM Web pages for Review and Release</title> <title>SLURM Web pages for Review and Release</title>
<!-- Updated 3 March 2009 --> <!-- Updated 6 March 2009 -->
</head> </head>
<body> <body>
...@@ -60,6 +60,7 @@ ...@@ -60,6 +60,7 @@
<li><a href="https://computing-pre.llnl.gov/linux/slurm/taskplugins.html">taskplugins.html</a></li> <li><a href="https://computing-pre.llnl.gov/linux/slurm/taskplugins.html">taskplugins.html</a></li>
<li><a href="https://computing-pre.llnl.gov/linux/slurm/team.html">team.html</a></li> <li><a href="https://computing-pre.llnl.gov/linux/slurm/team.html">team.html</a></li>
<li><a href="https://computing-pre.llnl.gov/linux/slurm/testimonials.html">testimonials.html</a></li> <li><a href="https://computing-pre.llnl.gov/linux/slurm/testimonials.html">testimonials.html</a></li>
<li><a href="https://computing-pre.llnl.gov/linux/slurm/topology.html">topology.html</a></li>
<li><a href="https://computing-pre.llnl.gov/linux/slurm/troubleshoot.html">troubleshoot.html</a></li> <li><a href="https://computing-pre.llnl.gov/linux/slurm/troubleshoot.html">troubleshoot.html</a></li>
</ul> </ul>
</body> </body>
......
<!--#include virtual="header.txt"-->
<h1>Topology</h1>
<p>SLURM version 2.0 can be configured to support topology-aware resource
allocation to optimize job performance.
There are two primary modes of operation, one to optimize performance on
systems with a three-dimensional torus interconnect and another for
a hierarchical interconnect.</p>
<p>SLURM's native mode of resource selection is to consider the nodes
as a one-dimensional array.
Jobs are allocated resources on a best-fit basis.
For larger jobs, this minimizes the number of sets of consecutive nodes
allocated to the job.</p>
<h2>Three-dimension Topology</h2>
<p>Some larger computers rely upon a three-dimensional torus interconnect.
The IBM BlueGene computers is one example of this which has highly
constrained resource allocation scheme, essentially requiring that
jobs be allocated a set of nodes logically having a rectangular shape.
SLURM has a plugin specifically written for BlueGene to select appropriate
nodes for jobs, change network switch routing, boot nodes, etc as described
in the <a href="bluegene.html">BlueGene User and Administrator Guide</a>.</p>
<p>The Sun Constellation and Cray XT systems also have three-dimensional
torus interconnects, but do not require that jobs execute in adjacent nodes.
On those systems, SLURM only needs to allocate resources to a job which
are nearby on the network.
SLURM accomplishes this using a
<a href="http://en.wikipedia.org/wiki/Hilbert_curve">Hilbert curve</a>
to map the nodes from a three-dimensional space into a one-dimensional
space.
SLURM's native best-fit algorithm is thus able to achieve a high degree
of locality for jobs.
For more information, see SLURM's documentation for
<a href="sun_const.html">Sun Constellation</a> and
<a href="cray.html">Cray XT</a> systems.</p>
<h2>Hierarchical Networks</h2>
<p>SLURM can also be configured to allocate resources to jobs on a
hierarchical network to minimize network contention.
The basic algorithm is to identify the lowest level switch in the
hierarchy that can satisfy a job's request and then allocate resources
on its underlying leaf switches using a best-fit algorithm.</p>
<p>At some point in the future SLURM code may be provided to
gather network topology information directly.
Now the network topology information must be included directly
in the <i>slurm.conf</i> configuration file as shown in the
examples below.
The first example describes a three level switch in which
each switch has two children.
Note that the <i>SwitchName</i> values are arbitrary and only
used to bookkeeping purposes, but a name must be specified on
each line.
The leaf switch descriptions contain a <i>SwitchName</i> field
plus a <i>Nodes</i> field to identify the nodes connected to the
switch.
Higher-level switch descriptions contain a <i>SwitchName</i> field
plus a <i>Switches</i> field to identify the child switches.</p>
<pre>
# Switch Configuration
SwitchName=s0 Nodes=tux[0-1]
SwitchName=s1 Nodes=tux[2-3]
SwitchName=s2 Nodes=tux[4-5]
SwitchName=s3 Nodes=tux[6-7]
SwitchName=s4 Switches=s[0-1]
SwitchName=s5 Switches=s[2-3]
SwitchName=s6 Switches=s[4-5]
</pre>
<p>The next example is for a network with two levels and
each switch has four connections.</p>
<pre>
# Switch Configuration
SwitchName=s0 Nodes=tux[0-3]
SwitchName=s1 Nodes=tux[4-7]
SwitchName=s2 Nodes=tux[8-11]
SwitchName=s3 Nodes=tux[12-15]
SwitchName=s4 Switches=s[0-3]
SwitchName=s5 Switches=s[0-3]
SwitchName=s6 Switches=s[0-3]
SwitchName=s7 Switches=s[0-3]
</pre>
<p style="text-align:center;">Last modified 6 March 2009</p>
<!--#include virtual="footer.txt"-->
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment