How to use slurm request for only one core instead of a node or socket?

1

1

I wrote Perl scripts to analyze my simulating data. This is not a concurrent program. In the cluster, there are eight nodes. Each of node has 2 sockets which possesses 10 cores. I want to submit my job using Slurm and only request one core to perform the analysis. So, I can submit more (20) jobs on one node. However, I am unable to realize this goal. Below is my scripts.

#!/bin/sh
#SBATCH -n 1
#SBATCH --mem-per-cpu=10gb
#SBATCH --ntasks=1
#SBATCH --cpus-per-task=1
#SBATCH -t 45-00:00:00
#SBATCH -J 9430%j
#SBATCH -o 9430.out
#SBATCH -e 9430.err

/cm/shared/scripts/wcnqn.auto.pl

Where wcnqn.auto.pl is my program. 9430 is atomID which is used as file name.

System info:

  • CentOS 7
  • Cluster management: Bright Cluster Manager
  • Number of nodes: 8
  • Number of sockets per node: 2
  • Number of cores per socket:10
  • RAM per node: 125GB

Any help and further comments would be highly appreciated.

Leon

Posted 2019-02-12T03:17:34.343

Reputation: 111

Answers

0

Your script looks fine.

But many clusters are setup to use nodes exclusively for only one job. So if the cluster you are submitting this job to is setup to run only one job per node, there is no option you can set in your scripts or command line to circumvent that.

In newer Slurm versions the partition OverSubscribe parameter

Controls the ability of the partition to execute more than one job at a time on each resource (node, socket or core depending upon the value of Select‐TypeParameters)

See slurm.conf manual page

#SBATCH -n 1
#SBATCH --mem-per-cpu=10gb
#SBATCH --ntasks=1

-n and --ntasks is the same, you should only use one of them. See sbatch manual page

rems

Posted 2019-02-12T03:17:34.343

Reputation: 1 850

Thanks. You are right. – Leon – 2019-04-23T14:26:24.643