Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
S
Slurm
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
tud-zih-energy
Slurm
Commits
b1a3ac44
Commit
b1a3ac44
authored
20 years ago
by
Moe Jette
Browse files
Options
Downloads
Patches
Plain Diff
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
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
doc/html/programmer_guide.html
+40
-11
40 additions, 11 deletions
doc/html/programmer_guide.html
with
40 additions
and
11 deletions
doc/html/programmer_guide.html
+
40
−
11
View file @
b1a3ac44
...
...
@@ -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=
"1
2 January
2004"
>
<meta
name=
"LLNLRandRdate"
content=
"1
3 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>
—
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>
—
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>
—
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>
—
General purpose functions for widespread use throughout SLURM.
<br>
<b>
plugins
</b>
—
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>
—
User command to cancel (or signal) a job or job step.
<br>
<b>
scontrol
</b>
—
Administrator tool to manage SLURM.
<br>
<b>
sinfo
</b>
—
User command to get information on SLURM nodes and partitions.
<br>
<b>
slurmctld
</b>
—
SLURM central manager daemon code.
<br>
<b>
slurmd
</b>
—
SLURM daemon code to manage the compute server nodes including
the execution of user applications.
<br>
<b>
smap
</b>
—
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>
—
User command to get information on SLURM jobs and job steps.
<br>
<b>
srun
</b>
—
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>
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment