<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal">I’m testing using heterogenous jobs for a user on out cluster, but seeing I think incorrect output from “scontrol show job XXX” for the job. The cluster is currently using Slurm 18.08.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">So my job script looks like this:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">#!/bin/sh<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">### This is a general SLURM script. You'll need to make modifications for this to
<o:p></o:p></p>
<p class="MsoNormal">### work with the appropriate packages that you want. Remember that the .bashrc
<o:p></o:p></p>
<p class="MsoNormal">### file will get executed on each node upon login and any settings in this script<o:p></o:p></p>
<p class="MsoNormal">### will be in addition to, or will override, the system bashrc file settings. Users will<o:p></o:p></p>
<p class="MsoNormal">### find it advantageous to use only the specific modules they want or
<o:p></o:p></p>
<p class="MsoNormal">### specify a certain PATH environment variable, etc. If you have questions,<o:p></o:p></p>
<p class="MsoNormal">### please contact the ARCC at arcc-info@uwyo.edu for help.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">### Informational text is usually indicated by "###". Don't uncomment these lines.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">### Lines beginning with "#SBATCH" are SLURM directives. They tell SLURM what to do.<o:p></o:p></p>
<p class="MsoNormal">### For example, #SBATCH --job-name my_job tells SLURM that the name of the job is "my_job".<o:p></o:p></p>
<p class="MsoNormal">### Don't remove the "#SBATCH".<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">### Job Name<o:p></o:p></p>
<p class="MsoNormal">#SBATCH --job-name=CHECK_NODE<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">### Declare an account for the job to run under<o:p></o:p></p>
<p class="MsoNormal">#SBATCH --account=arcc<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">### Standard output stream files are have a default name of:<o:p></o:p></p>
<p class="MsoNormal">### "slurm_<jobid>.out" However, this can be changed using options<o:p></o:p></p>
<p class="MsoNormal">### below. If you would like stdout and stderr to be combined,
<o:p></o:p></p>
<p class="MsoNormal">### omit the "SBATCH -e" option below.<o:p></o:p></p>
<p class="MsoNormal">###SBATCH -o stdout_file<o:p></o:p></p>
<p class="MsoNormal">###SBATCH -e stderr_file<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">### mailing options<o:p></o:p></p>
<p class="MsoNormal">#SBATCH --mail-type=BEGIN,END,FAIL<o:p></o:p></p>
<p class="MsoNormal">#SBATCH --mail-user=xxx<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">### Set max walltime (days-hours:minutes:seconds)<o:p></o:p></p>
<p class="MsoNormal">#SBATCH --time=0-01:00:00<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">### Specify Resources<o:p></o:p></p>
<p class="MsoNormal">### 2 nodes, 16 processors (cores) each node<o:p></o:p></p>
<p class="MsoNormal">#SBATCH --nodes=1 --ntasks=1 --cpus-per-task=1  --partition=teton-hugemem<o:p></o:p></p>
<p class="MsoNormal">#SBATCH packjob<o:p></o:p></p>
<p class="MsoNormal">#SBATCH --nodes=9 --ntasks-per-node=32 --partition=teton<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">### Load needed modules<o:p></o:p></p>
<p class="MsoNormal">#module load gcc/7.3.0<o:p></o:p></p>
<p class="MsoNormal">#module load swset/2018.05<o:p></o:p></p>
<p class="MsoNormal">#module load openmpi/3.1.0<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">### Start the job via launcher.<o:p></o:p></p>
<p class="MsoNormal">### Command normally given on command line<o:p></o:p></p>
<p class="MsoNormal">srun check_nodes<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">sleep 600<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">When I submit the job and check it with “scontrol show job XXX”<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">JobId=2607083 PackJobId=2607082 PackJobOffset=1 JobName=CHECK_NODE<o:p></o:p></p>
<p class="MsoNormal">   PackJobIdSet=2607082-2607083<o:p></o:p></p>
<p class="MsoNormal">   UserId=jrlang(10024903) GroupId=jrlang(10024903) MCS_label=N/A<o:p></o:p></p>
<p class="MsoNormal">  Priority=1086 Nice=0 Account=arcc QOS=normal<o:p></o:p></p>
<p class="MsoNormal">   JobState=RUNNING Reason=None Dependency=(null)<o:p></o:p></p>
<p class="MsoNormal">   Requeue=1 Restarts=0 BatchFlag=1 Reboot=0 ExitCode=0:0<o:p></o:p></p>
<p class="MsoNormal">   RunTime=00:03:33 TimeLimit=01:00:00 TimeMin=N/A<o:p></o:p></p>
<p class="MsoNormal">   SubmitTime=2019-04-23T15:42:45 EligibleTime=2019-04-23T15:42:45<o:p></o:p></p>
<p class="MsoNormal">   AccrueTime=2019-04-23T15:42:45<o:p></o:p></p>
<p class="MsoNormal">   StartTime=2019-04-23T15:42:49 EndTime=2019-04-23T16:42:49 Deadline=N/A<o:p></o:p></p>
<p class="MsoNormal">   PreemptTime=None SuspendTime=None SecsPreSuspend=0<o:p></o:p></p>
<p class="MsoNormal">   LastSchedEval=2019-04-23T15:42:49<o:p></o:p></p>
<p class="MsoNormal">   Partition=teton AllocNode:Sid=tmgt1:34097<o:p></o:p></p>
<p class="MsoNormal">   ReqNodeList=(null) ExcNodeList=(null)<o:p></o:p></p>
<p class="MsoNormal">   NodeList=t[456-464]<o:p></o:p></p>
<p class="MsoNormal">   BatchHost=t456<o:p></o:p></p>
<p class="MsoNormal">   NumNodes=9 NumCPUs=288 NumTasks=288 CPUs/Task=1 ReqB:S:C:T=0:0:*:*<o:p></o:p></p>
<p class="MsoNormal">   TRES=cpu=288,mem=288000M,node=9,billing=288<o:p></o:p></p>
<p class="MsoNormal">   Socks/Node=* NtasksPerN:B:S:C=32:0:*:* CoreSpec=*<o:p></o:p></p>
<p class="MsoNormal">   MinCPUsNode=32 MinMemoryCPU=1000M MinTmpDiskNode=0<o:p></o:p></p>
<p class="MsoNormal">   Features=(null) DelayBoot=00:00:00<o:p></o:p></p>
<p class="MsoNormal">   OverSubscribe=OK Contiguous=0 Licenses=(null) Network=(null)<o:p></o:p></p>
<p class="MsoNormal">   Command=/pfs/tsfs1/home/jrlang/TEST_CODE/check_nodes.sbatch<o:p></o:p></p>
<p class="MsoNormal">   WorkDir=/pfs/tsfs1/home/jrlang/TEST_CODE<o:p></o:p></p>
<p class="MsoNormal">   StdErr=/pfs/tsfs1/home/jrlang/TEST_CODE/slurm-2607083.out<o:p></o:p></p>
<p class="MsoNormal">   StdIn=/dev/null<o:p></o:p></p>
<p class="MsoNormal">   StdOut=/pfs/tsfs1/home/jrlang/TEST_CODE/slurm-2607083.out<o:p></o:p></p>
<p class="MsoNormal">   Power=<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Looking at the nodelist and the NumNodes they are both incorrect.   They should show the first node and then the additional nodes assigned.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Using pestat I see the 10 nodes allocated to the job.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">    t456           teton    alloc  32  32    0.01*   128000   119539  2607083 jrlang 
<o:p></o:p></p>
<p class="MsoNormal">    t457           teton    alloc  32  32    0.01*   128000   119459  2607083 jrlang 
<o:p></o:p></p>
<p class="MsoNormal">    t458           teton    alloc  32  32    0.03*   128000   119854  2607083 jrlang 
<o:p></o:p></p>
<p class="MsoNormal">    t459           teton    alloc  32  32    0.01*   128000   119567  2607083 jrlang 
<o:p></o:p></p>
<p class="MsoNormal">    t460           teton    alloc  32  32    0.01*   128000   119567  2607083 jrlang 
<o:p></o:p></p>
<p class="MsoNormal">    t461           teton    alloc  32  32    0.01*   128000   119308  2607083 jrlang 
<o:p></o:p></p>
<p class="MsoNormal">    t462           teton    alloc  32  32    0.01*   128000   119570  2607083 jrlang 
<o:p></o:p></p>
<p class="MsoNormal">    t463           teton    alloc  32  32    0.01*   128000   119241  2607083 jrlang 
<o:p></o:p></p>
<p class="MsoNormal">    t464           teton    alloc  32  32    0.01*   128000   119329  2607083 jrlang 
<o:p></o:p></p>
<p class="MsoNormal">   thm03   teton-hugemem      mix   1  32    0.01*  1024000  1017834  2607082 jrlang 
<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">So why is scontrol not showing the thm03 node in the nodelist and including it in the Numnodes?<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">One other question is how does Slurm treat the job output for the job. This job is a “hello world” type which just outputs the nodes the node and rack the parts run on.  When the job completes I only see one line in the output from the
 Rack 0 task.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">So where is all the Rank output ending up?<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Jeff<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</body>
</html>