blob: ad987272eee8bf30ae05bbbcf8d8a03ed869978c [file] [log] [blame] [edit]
%
% Slides for SLURM talk at User's meeting
% on
% 2003-04-08
%
% This presentation was built using a modified version of the
% ``prosper'' latex class and `alienglow' style
% (See ./tex/prosper.cls and ./tex/PPRlinuxglow.sty)
%
% For the "interactive" PDF slides, uncomment the pdf option below
% to enable overlays. For printed slides, uncomment the ps option.
%
\documentclass[%
letterpaper,
pdf,
%ps,
%nocolorBG,
%colorBG,
slideColor,
%slideBW,
%draft,
alienglow
]{prosper}
\usepackage{epsfig}
%
% Talk Title, SubTitle, etc.
%
\title{SLURM}
\subtitle{The Simple Linux Utility for \\ Resource Management}
\author{Mark A. Grondona}
\email{mgrondona@llnl.gov}
\disclaimer{LLNL internal use only}
%
% PPRalienglow.sty was directly modified to fit the two images below.
% If these are changed, you may need to adjust some values in that file.
%
\institution{\epsfig{file=linux_llnl.eps,scale=.25}}
\Logo{\epsfig{file=fry.eps,scale=.3}}
%
% Set default transition method. Valid methods are
% Replace, Split, Blinds, Box, Wipe, Dissolve, & Glitter
%
\DefaultTransition{Replace}
%
\begin{document}
%
% Make the title page
\maketitle
\begin{slide}{Overview}
\begin{itemize}
\item What is SLURM?
\item What SLURM is Not
\item SLURM Design Criteria
\item SLURM Components and Architecture
\item Simple Examples
\item SLURM and RMS Differences
\end{itemize}
\end{slide}
%
% Prepare a 5 overlay slide using the handy "itemstep" environment
%
\overlays{5}{%
\begin{slide}{What is SLURM?}
\begin{itemstep}
\item Simple resource manager:
\begin{itemstep}
\item Allocates access to resources (nodes)
\item Distributes work to allocated resources.
\item Manages conflicting requests for resources by maintaining a
simple queue of pending work.
\end{itemstep}
\item Open Source replacement for RMS
\end{itemstep}
\end{slide}}
%
\overlays{3}{%
\begin{slide}{What SLURM is Not}
\begin{itemstep}
\item A sophisticated job scheduler.
\item A meta-batch system.
\item A comprehensive cluster administration or monitoring package.
\end{itemstep}
\end{slide}}
%%
%%
\begin{slide}{SLURM Design Criteria}
\begin{itemize}
\item Simple
\item Efficient
\item Scalable to clusters with thousands of nodes
\item Fault Tolerant
\item Secure
\item Open Source
\end{itemize}
\end{slide}
%
% Prepare overlays using the onlySlide* command. Slides 2-5 will
% show the diagrams entities0-5.eps respectively. The onlySlide*
% environment deallocates the space taken by the slide contents.
%
\overlays{5}{%
\begin{slide}{SLURM Entities}
\onlySlide*{1}{%
\begin{itemize}
\item Nodes
\item Partitions
\item Jobs
\item Job Steps
\end{itemize}}
\begin{center}
\onlySlide*{2}{\epsfig{file=entities0.eps,scale=0.5}}
\onlySlide*{3}{\epsfig{file=entities1.eps,scale=0.5}}
\onlySlide*{4}{\epsfig{file=entities2.eps,scale=0.5}}
\onlySlide*{5}{\epsfig{file=entities3.eps,scale=0.5}}
\onlyInPS{\epsfig{file=entities3.eps,scale=0.5}}
\end{center}
\end{slide}}
%
%
\overlays{2}{%
\begin{slide}{SLURM Architecture}
\onlySlide*{1}{%
\begin{itemize}
\item Two daemons
\begin{itemize}
\item {\tt slurmctld}: controller daemon
\item {\tt slurmd}: compute node daemon
\end{itemize}
\item Five simple commands
\begin{itemize}
\item {\tt scontrol, sinfo, squeue, scancel, srun}
\end{itemize}
\end{itemize}}
\onlySlide*{2}{%
\begin{center}
\epsfig{file=arch.eps,scale=0.3}
\end{center}}
\onlyInPS{\hfill \epsfig{file=arch.eps,scale=0.3} \hfill}
\end{slide}}
%
% Simple use of tabular environment.
%
\begin{slide}{User Commands}
\begin{tabular}{rc}
{\tt scontrol} & SLURM administration utility \\
{\tt sinfo} & Partition and node state \\
{\tt squeue} & Query job state \\
{\tt scancel} & Cancel pending jobs \\
{\tt srun} & Allocate resources and run job steps \\
\end{tabular}
\end{slide}
%
% Use of verbatim environment within a slide.
% The font size is shrunk to footnotesize and TeX's baselineskip is
% decreased by 20% because the default monospace font was so darn big.
%
\begin{slide}{Simple SLURM Examples}
\begin{itemize}
\item Basic interface very similar to RMS
\end{itemize}
\renewcommand{\baselinestretch}{0.8}
\footnotesize
\begin{verbatim}
grondo@dev0 ~ > sinfo
PARTITION NODES STATE CPUS MEMORY TMP_DISK NODES
------------------------------------------------------
debug 18 IDLE 2 2012 64324 dev[0-17]
grondo@dev0 ~ > srun -N4 hostname
dev0
dev1
dev2
dev3
grondo@dev0 ~ >
\end{verbatim}
\renewcommand{\baselinestretch}{1.0}
\end{slide}
%
%
\begin{slide}{Simple SLURM Examples}
\begin{itemize}
\item Killing an interactive job
\end{itemize}
\renewcommand{\baselinestretch}{0.8}
\footnotesize
\begin{verbatim}
grondo@dev0 ~ > srun -n8 sleep 30
srun: interrupt (one more within 1 sec to abort)
srun: task[0-7]: running
srun: sending Ctrl-C to job
srun: error: dev0: task[0-1]: Interrupt
srun: error: dev1: task[2-3]: Interrupt
srun: error: dev3: task[6-7]: Interrupt
srun: error: dev2: task[4-5]: Interrupt
grondo@dev0 ~ >
\end{verbatim}
\renewcommand{\baselinestretch}{1.0}
\end{slide}
%
%
\begin{slide}{Simple SLURM Examples}
\begin{itemize}
\item Killing a queued job
\end{itemize}
\renewcommand{\baselinestretch}{0.8}
\footnotesize
\begin{verbatim}
grondo@dev0 ~ > squeue
JobId Partition Name User St TimeLim Prio Nodes
14 debug sleep grondo R 0:30 0.99 dev[0-3]
grondo@dev0 ~ > scancel 14
grondo@dev0 ~ > squeue
JobId Partition Name User St TimeLim Prio Nodes
grondo@dev0 ~ >
\end{verbatim}
\renewcommand{\baselinestretch}{1.0}
\end{slide}
%
%
\begin{slide}{SLURM and RMS Differences}
\raggedright
\begin{itemize}
\item SLURM infrastructure is much simpler
\begin{itemize}
\item SLURM uses a simple configuration file not database
\item Initially, no back-end database \\
(future versions of SLURM may have this)
\end{itemize}
\item SLURM Open Source and locally developed to fit our needs
\item Job submission and query will mostly be through DPCS, so no changes
there
\end{itemize}
\end{slide}
%
%
\begin{slide}{prun vs. srun}
\raggedright
\begin{itemize}
\item Most used user command, {\tt srun}, very similar to RMS's {\tt prun}
with minor differences:
\begin{itemize}
\item Basic options: -n, -N, -c, -I, -O, -v are the same
\item I/O redirection -- -e, -i, -o -- are similar
\item Other options differ moderately to significantly
\item Signal Handling in {\tt srun} slightly different
\item We will try to offer a ``prun'' wrapper for {\tt srun} in early versions
\end{itemize}
\end{itemize}
\end{slide}
%
\begin{slide}{Any Questions?}
\hfill \hfill \epsfig{file=slurm.eps,scale=0.5} \hfill
\end{slide}
\end{document}