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

Add info about new command smap and several new plugins.

parent cde94881
No related branches found
No related tags found
No related merge requests found
......@@ -9,7 +9,7 @@
<meta http-equiv="keywords" content="Simple Linux Utility for Resource Management, SLURM, resource management,
Linux clusters, high-performance computing, Livermore Computing">
<meta name="LLNLRandR" content="UCRL-WEB-204324">
<meta name="LLNLRandRdate" content="12 January 2004">
<meta name="LLNLRandRdate" content="13 September 2004">
<meta name="distribution" content="global">
<meta name="description" content="Simple Linux Utility for Resource Management">
<meta name="copyright"
......@@ -52,8 +52,10 @@ structure:Laboratories and Other Field Facilities">
<a href="quickstart_admin.html" class="nav">Guide</a></p></td>
<td><img src="spacer.gif" width="10" height="1" alt=""></td>
<td valign="top"><h2><a name="top">SLURM Programmer's Guide</a></h2>
<h3>Overview</h3>
Simple Linux Utility for Resource Management (SLURM) is an open source, fault-tolerant,
<p>Simple Linux Utility for Resource Management (SLURM) is an open source, fault-tolerant,
and highly scalable cluster management and job scheduling system for large and
small Linux clusters. Components include machine status, partition management,
job management, scheduling, and stream copy modules. SLURM requires no kernel
......@@ -61,15 +63,22 @@ modifications for it operation and is relatively self-contained.
<p>There is an overview of the components and their interactions available in
a separate document, <a href="slurm_design.pdf"> SLURM: Simple Linux Utility for
Resource Management</a> [PDF].
<p>SLURM is written in the C language and uses a GNU <b>autoconf</b> configuration
engine. While initially written for Linux, other UNIX-like operating systems should
be easy porting targets. Code should adhere to the <a href="coding_style.pdf">
Linux kernel coding style</a>.
Linux kernel coding style</a>. <i>(Some components of SLURM have been taken from
various sources. Some of these components are written in C++ or do not conform
to the Linux kernel coding style. However, new code written for SLURM should
follow these standards.)</i>
<p>Many of these modules have been built and tested on a variety of Unix computers
including Red Hat Linux, IBM's AIX, Sun's Solaris, and Compaq's Tru-64. The only
module at this time that is operating system dependent is <span class="commandline">src/slurmd/read_proc.c</span>.
We will be porting and testing on additional platforms in future releases.
<h3>Plugins</h3>
<p>To make the use of different infrastructures possible, SLURM uses a general
purpose plugin mechanism. A SLURM plugin is a dynamically linked code object that
is loaded explicitly at run time by the SLURM libraries. It provides a customized
......@@ -78,10 +87,15 @@ interconnect fabric, task scheduling, etc. A set of functions is defined for use
by all of the different infrastructures of a particular variety. When a SLURM
daemon is initiated, it reads the configuration file to determine which of the
available plugins should be used. A <a href="plugins.html">plugin developer's
guide</a> and an <a href="authplugins.html">authentication plugin developer's
guide</a> are available with details.</p>
guide</a> is available with general information about plugins. Most plugin
types also have their own documenation available, such as
<a href="authplugins.html">SLURM Authentication Plugin API</a> and
<a href="jobcompplugins.html">SLURM Job Completion Logging API</a>.</p>
<p class="footer"><a href="#top">top</a></p>
<h3>Directory Structure</h3>
<p>The contents of the SLURM directory structure will be described below in increasing
detail as the structure is descended. The top level directory contains the scripts
and tools required to build the entire SLURM system. It also contains a variety
......@@ -94,6 +108,7 @@ SLURM in an automated fashion. NOTE: <span class="commandline">autoconf</span>
version 2.52 or higher is required to build SLURM. Execute <span class="commandline">autoconf
-V</span> to check your version number. The build process is described in the
README file.
<p>Copyright and disclaimer information are in the files COPYING and DISCLAIMER.
All of the top-level subdirectories are described below.</p>
<p style="margin-left:.2in"><b>auxdir</b>&#151;Used for building SLURM.<br>
......@@ -105,37 +120,51 @@ these header files in this location makes for better code portability.<br>
described above.<br>
<b>testsuite</b>&#151;DejaGnu is used as a testing framework and all of its files
are here.</p>
<p class="footer"><a href="#top">top</a></p>
<h3>Documentation</h3>
All of the documentation is in the subdirectory <b>doc</b>. Man pages for the
<p>All of the documentation is in the subdirectory <b>doc</b>. Man pages for the
APIs, configuration file, commands, and daemons are in <b>doc/man</b>. Various
documents suitable for public consumption are in <b>doc/html</b>. Overall SLURM
design documents including various figures are in <b>doc/pubdesign</b>. Various
design documents (many of which are dated) can be found in <b>doc/slides</b> and
<b>doc/txt</b>. A survey of available resource managers as of 2001 is in <b>doc/survey</b>.
<h3>Source Code</h3>
<p>Functions are divided into several categories, each in its own subdirectory.
The details of each directory's contents are proved below. The directories are
as follows: </p>
<p style="margin-left:.2in"><b>api</b>&#151;Application Program Interfaces into
the SLURM code. Used to send and get SLURM information from the central manager.
These are the functions user applications might utilize.<br>
<b>common</b>&#151;General purpose functions for widespread use throughout SLURM.<br>
<b>plugins</b>&#151;Plugin functions for various infrastructure. A separate subdirectory
is used for each plugin class: <span class="commandline">auth</span> for user
authentication, <span class="commandline">jobcomp</span> for job completion logging,
<span class="commandline">sched</span> for job scheduler, <span class="commandline">switch</span>
for switch (interconnect) specific functions, etc.<br>
is used for each plugin class:<br>
<span class="commandline">auth</span> for user authentication,<br>
<span class="commandline">checkpoint</span> for system-initiated checkpoint
and restart of user jobs,<br>
<span class="commandline">jobcomp</span> for job completion logging,<br>
<span class="commandline">sched</span> for job scheduler,<br>
<span class="commandline">select</span> for a job's node selection,<br>
<span class="commandline">switch</span> for switch (interconnect) specific functions,
etc.<br>
<b>scancel</b>&#151;User command to cancel (or signal) a job or job step.<br>
<b>scontrol</b>&#151;Administrator tool to manage SLURM.<br>
<b>sinfo</b>&#151;User command to get information on SLURM nodes and partitions.<br>
<b>slurmctld</b>&#151;SLURM central manager daemon code.<br>
<b>slurmd</b>&#151;SLURM daemon code to manage the compute server nodes including
the execution of user applications.<br>
<b>smap</b>&#151;User command to view layout of nodes, partitions, and jobs.
This is particularly valuable on systems like Blue Gene, which has a three
dimension torus topography.<br>
<b>squeue</b>&#151;User command to get information on SLURM jobs and job steps.<br>
<b>srun</b>&#151;User command to submit a job, get an allocation, and/or initiation
a parallel job step.</p>
<p class="footer"><a href="#top">top</a></p>
<h3>Configuration</h3>
Configuration files are included in the <b>etc</b> subdirectory. <b>slurm.conf.example</b>
includes a description of all configuration options and default settings. See
......@@ -155,7 +184,7 @@ and options including stress tests.</p>
<td colspan="3"><hr> <p>For information about this page, contact <a href="mailto:slurm-dev@lists.llnl.gov">slurm-dev@lists.llnl.gov</a>.</p>
<p><a href="http://www.llnl.gov/"><img align=middle src="lll.gif" width="32" height="32" border="0"></a></p>
<p class="footer">UCRL-WEB-204324<br>
Last modified January 15, 2004</p></td>
Last modified 13 September 2004</p></td>
</tr>
</table>
</td>
......
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