Ticket 14880

Summary: Ports per node scaling
Product: Slurm Reporter: Nick McCollum <nmccollum>
Component: slurmctldAssignee: Nate Rini <nate>
Status: RESOLVED TIMEDOUT QA Contact:
Severity: 4 - Minor Issue    
Priority: ---    
Version: - Unsupported Older Versions   
Hardware: Linux   
OS: Linux   
Site: FB (PSLA) Alineos Sites: ---
Atos/Eviden Sites: --- Confidential Site: ---
Coreweave sites: --- Cray Sites: ---
DS9 clusters: --- HPCnow Sites: ---
HPE Sites: --- IBM Sites: ---
NOAA SIte: --- OCF Sites: ---
Recursion Pharma Sites: --- SFW Sites: ---
SNIC sites: --- Linux Distro: ---
Machine Name: CLE Version:
Version Fixed: Target Release: ---
DevPrio: --- Emory-Cloud Sites: ---

Description Nick McCollum 2022-09-01 13:06:23 MDT
Simple question, is there a formula for Slurmctld ports per compute node?  Thanks!
Comment 1 Nate Rini 2022-09-02 12:14:14 MDT
Is a question specific to scaleout <https://github.com/naterini/docker-scale-out> or Slurm in general?
Comment 2 Nick McCollum 2022-09-02 12:17:00 MDT
Sorry, Slurm in general.  I've found that increasing ports and inceasing Munge threads has helped in my testing but was wondering if SchedMD had a rule-of-thumb or formula for the amount of Slurmctld ports for X amount of compute nodes.  

I am not using docker or anything like that, I was not aware that was a SchedMD product.  I assumed scaleout was for scaling in general.  

Thanks!
Comment 3 Nate Rini 2022-09-02 12:23:15 MDT
(In reply to Nick McCollum from comment #2)
> Sorry, Slurm in general.  I've found that increasing ports and inceasing
> Munge threads has helped in my testing but was wondering if SchedMD had a
> rule-of-thumb or formula for the amount of Slurmctld ports for X amount of
> compute nodes.
Any modern Linux kernel should make any performance increases from multiple ports vs one negligible at best. If there is a difference in performance, then the sysctl net parameters need some tweaking. All the connections go to the same code in Slurm.

The number of munge threads does matter heavily for bursts.

Can you please provide more information on how you are testing and what is being tested specifically?

> I am not using docker or anything like that, I was not aware that was a
> SchedMD product.  I assumed scaleout was for scaling in general.  
We use it for training. It allows anyone to run a Slurm cluster on their laptop and test changes without affecting their prod systems. The name scaleout is from the fact it can easily scale out the number of nodes running the test cluster.
Comment 4 Nick McCollum 2022-09-06 10:04:57 MDT
I feel like increasing from SlurmctldPort=6810-6817 to SlurmctldPort=6800-6817 has made an improvement in my 1200 node test cluster.
Comment 6 Nate Rini 2022-09-06 10:45:50 MDT
(In reply to Nick McCollum from comment #4)
> I feel like increasing from SlurmctldPort=6810-6817 to
> SlurmctldPort=6800-6817 has made an improvement in my 1200 node test cluster.

There may be something else involved that is being helped by the extra listening ports. On the host running slurmctld, please call:
> sudo netstat -tulpn
> ip r
> ip a
Comment 7 Nate Rini 2022-09-26 10:54:59 MDT
Please respond to the request in comment#6 when convenient, and we can continue debugging.

Thanks,
--Nate