<div dir="ltr"><div class="gmail_quote"><div dir="ltr">Hi<div><br></div><div>I'm doing a simple benchmark to record the time for issuing a sbatch command. The contents of the script are:</div><div><div style="color:rgb(255,255,255);background-color:rgb(40,38,43);font-family:"GitLab Mono","Droid Sans Mono","monospace",monospace;font-size:14px;line-height:19px;white-space:pre-wrap"><div><span style="font-style:italic">#!/bin/bash</span></div><br><div>IFS=<span style="color:rgb(109,195,143)">'= '</span> <span style="color:rgb(50,197,210)">read</span> _ local_clusterid <<< <span style="color:rgb(109,195,143)">$(scontrol</span> show config |grep -i clustername) <span style="font-style:italic"># Extract local cluster name</span></div><div><span style="color:rgb(50,197,210)">echo</span> <span style="color:rgb(109,195,143)">"Local cluster: "</span><span style="color:rgb(247,153,138)">$local_clusterid</span></div><br><div><span style="font-style:italic"># Check input clusters to submit job(s)</span></div><div><span style="color:rgb(191,165,252)">if</span> [ <span style="color:rgb(50,197,210)">-z</span> <span style="color:rgb(247,153,138)">$1</span> ]; <span style="color:rgb(191,165,252)">then</span></div><div>    clusterid=<span style="color:rgb(247,153,138)">$local_clusterid</span></div><div><span style="color:rgb(191,165,252)">else</span></div><div>    clusterid=<span style="color:rgb(247,153,138)">$1</span></div><div><span style="color:rgb(191,165,252)">fi</span></div><br><div><span style="font-style:italic"># Check input constraints</span></div><div><span style="color:rgb(191,165,252)">if</span> [ <span style="color:rgb(50,197,210)">-z</span> <span style="color:rgb(247,153,138)">$2</span> ]; <span style="color:rgb(191,165,252)">then</span></div><div>    cons=<span style="color:rgb(109,195,143)">''</span></div><div><span style="color:rgb(191,165,252)">else</span></div><div>    cons=<span style="color:rgb(247,153,138)">$2</span></div><div><span style="color:rgb(191,165,252)">fi</span></div><br><div><span style="font-style:italic"># Check input number of tasks</span></div><div><span style="color:rgb(191,165,252)">if</span> [ <span style="color:rgb(50,197,210)">-z</span> <span style="color:rgb(247,153,138)">$3</span> ]; <span style="color:rgb(191,165,252)">then</span></div><div>    no_tasks=1</div><div><span style="color:rgb(191,165,252)">else</span></div><div>    no_tasks=<span style="color:rgb(247,153,138)">$3</span></div><div><span style="color:rgb(191,165,252)">fi</span></div><br><div><span style="color:rgb(50,197,210)">echo</span> <span style="color:rgb(109,195,143)">"start time before sbatch "$(date +%s.%N)</span></div><div>job_cluster_id=<span style="color:rgb(109,195,143)">$(sbatch --parsable --wait -M</span><span style="color:rgb(247,153,138)">$clusterid</span><span style="color:rgb(109,195,143)"> --constraint=</span><span style="color:rgb(247,153,138)">$cons</span><span style="color:rgb(109,195,143)"> -n</span><span style="color:rgb(247,153,138)">$no_tasks</span><span style="color:rgb(109,195,143)"> test_srun_with_time.sh)</span> <span style="font-style:italic"># Since sbatch is a non-blocking operation, --wait is used to block sbatch until response is received. Input arguments are cluster(s) name(s), constraints, number of tasks</span></div><div><span style="color:rgb(50,197,210)">echo</span> <span style="color:rgb(109,195,143)">"end time after sbatch "$(date +%s.%N)</span></div><div>IFS=<span style="color:rgb(109,195,143)">';'</span> <span style="color:rgb(50,197,210)">read</span> jobid clusterid <<< <span style="color:rgb(247,153,138)">$job_cluster_id</span> <span style="font-style:italic"># Extract job ID and cluster ID (if not local cluster)</span></div><div><span style="color:rgb(50,197,210)">echo</span> <span style="color:rgb(109,195,143)">"JOB ID: "</span><span style="color:rgb(247,153,138)">$jobid</span><span style="color:rgb(109,195,143)">", clusterid: "</span><span style="color:rgb(247,153,138)">$clusterid</span></div><div>sacct -j <span style="color:rgb(247,153,138)">$jobid</span> -M<span style="color:rgb(247,153,138)">$clusterid</span> --json > <span style="color:rgb(109,195,143)">"test_"</span><span style="color:rgb(247,153,138)">$jobid</span><span style="color:rgb(109,195,143)">"_cluster_"</span><span style="color:rgb(247,153,138)">$clusterid</span><span style="color:rgb(109,195,143)">".json"</span> <span style="font-style:italic"># Extract job statistics into a JSON file</span></div></div><div><br></div><div>The "elapsed" time in the resulting JSON file gives me 4 secs, while the time difference between the start and end time in the previous script gives about 10 secs. I wonder why there is much difference between the 2 records? and which one I should use.</div><div><br></div><div>The output of the previous scripts is:</div><div><font color="#660000">Local cluster: slurmcluster1<br>start time before sbatch 1688937564.063906087<br>end time after sbatch 1688937574.160335632<br>JOB ID: 200, clusterid: slurmcluster1</font><br></div><div><br></div><div>and the resulting JSON file is attached</div><div><br></div><div>Regards</div><span class="gmail_signature_prefix">-- </span><br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature">Mohammed<br></div></div></div>
</div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><br></div></div>