<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr">
<div id="divtagdefaultwrapper" style="font-size: 12pt; color: rgb(0, 0, 0); font-family: Calibri, Helvetica, sans-serif, EmojiFont, "Apple Color Emoji", "Segoe UI Emoji", NotoColorEmoji, "Segoe UI Symbol", "Android Emoji", EmojiSymbols;" dir="ltr">
<p style="margin-top:0;margin-bottom:0">Hello,</p>
<p style="margin-top:0;margin-bottom:0"><br>
</p>
<p style="margin-top:0;margin-bottom:0">Thank you for your useful replies. It certainly not anywhere as difficult as I initially thought. We should be able to start some tests later this week.</p>
<p style="margin-top:0;margin-bottom:0"><br>
</p>
<p style="margin-top:0;margin-bottom:0">Best regards,</p>
<p style="margin-top:0;margin-bottom:0">David </p>
<br>
<br>
<div style="color: rgb(0, 0, 0);">
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> slurm-users <slurm-users-bounces@lists.schedmd.com> on behalf of Roche Ewan <ewan.roche@epfl.ch><br>
<b>Sent:</b> 10 October 2018 08:07<br>
<b>To:</b> Slurm User Community List<br>
<b>Subject:</b> Re: [slurm-users] Help with developing a lua job submit script</font>
<div> </div>
</div>
<div class="BodyFragment"><font size="2"><span style="font-size:11pt;">
<div class="PlainText">Hello David,<br>
for this use case we have two partitions - serial and parallel (the default). Our lua looks like:<br>
<br>
<br>
function slurm_job_submit(job_desc, part_list, submit_uid)<br>
-- As the default partition is set later by SLURM we need to set it here using the same logic
<br>
 <br>
        if job_desc.partition == nil then<br>
                local default_partition = "parallel"<br>
                job_desc.partition = default_partition<br>
        end<br>
<br>
        if job_desc.partition == "parallel" and job_desc.min_nodes == 1 then<br>
         <br>
                if job_desc.min_cpus <= 12 and job_desc.shared ~= 0 then<br>
                        <br>
                        local serial_partition = "serial" <br>
                        job_desc.partition = serial_partition<br>
                        <br>
                        slurm.log_info("slurm_job_modify: for user %u , setting partition: %s", submit_uid, serial_partition)<br>
                end     <br>
        end<br>
<br>
        return slurm.SUCCESS<br>
end<br>
<br>
<br>
The initial partition logic is to avoid jobs that were submitted to specific partitions such as debug being re-routed by the plugin. Our cutoff is 12 cores (half a node) and we respect the “exclusive" option by looking at the value of job_desc.shared.<br>
<br>
Good luck!<br>
<br>
Ewan Roche<br>
EPFL SCITAS<br>
 <br>
<br>
> On 9 Oct 2018, at 17:54, Baker D.J. <D.J.Baker@soton.ac.uk> wrote:<br>
> <br>
> Hello,<br>
> <br>
> We are starting to think about developing a lua job submission script. For example, we are keen to route jobs requiring no more than 1 compute node (single core jobs and small parallel jobs) to a slurm shared partition. The idea being that "small" jobs can
 share a small set of compute nodes to try to prevent resource fragmentation in the cluster. Other "larger" jobs are routed to the default partition.<br>
> <br>
> As a start I have dug out the example lua script provided by slurm, however I wondered if there was any experience in doing this sort of routing using a lua script. We would appreciate any advice from the slurm community, please.<br>
> <br>
> Best regards,<br>
> David<br>
<br>
</div>
</span></font></div>
</div>
</div>
</body>
</html>