Wiki source code of Slurm

Version 2.1 by Thomas Coelho on 2022/10/17 11:16

Show last authors
1 SLURM is the Simple Linux Utility for Resource Management and is an open source, fault-tolerant, and highly scalable cluster management and job scheduling system for large and small Linux clusters.
2
3 Slurm is fully integrated in our system. You do not need set any environment variables.
4
5
6 == Partitions ==
7
8 A partition is a subset of the cluster, a bundle of compute nodes with the same characteristics.
9
10 Based on access restrictions our cluster is divided in different partitions. 'sinfo' will only show partitions you are allowed to use. Using 'sinfo -a' shows all partitons.
11
12 A partition is selected by '-p PARTITIONNAME'.
13
14 {| border="1" align="center"
15 |-
16 ! scope="col" | '''Partition'''
17 ! scope="col" | '''No. Nodes'''
18 ! scope="col" | '''Cores/M'''
19 ! scope="col" | '''Tot. Cores'''
20 ! scope="col" | '''RAM/GB'''
21 ! scope="col" | '''CPU'''
22 ! scope="col" | '''Remark/Restriction'''
23 |-
24 | itp
25 | 10
26 | 20
27 | 200
28 | 64
29 | Intel(R) Xeon(R) CPU E5-2640 v4 @ 2.40GHz
30 |
31 |-
32 | dfg-big
33 | 3
34 | 32
35 | 96
36 | 128
37 | 8-Core AMD Opteron(tm) Processor 6128
38 | Group Valenti
39 |-
40 | dfg-big
41 | 3
42 | 48
43 | 144
44 | 128/256
45 | 12-Core AMD Opteron(tm) Processor 6168
46 | Group Valenti
47 |-
48 | dfg-big
49 | 4
50 | 64
51 | 256
52 | 128/256
53 | 16-Core AMD Opteron(tm) Processor 6272
54 | Group Valenti
55 |-
56 | dfg-big
57 | 4
58 | 48
59 | 192
60 | 128/256
61 | 12-Core AMD Opteron(tm) Processor 6344
62 | Group Valenti
63 |-
64 | fplo
65 | 2
66 | 12
67 | 24
68 | 256
69 | Intel(R) Xeon(R) CPU E5-2630 v2 @ 2.60GHz
70 | Group Valenti
71 |-
72 | fplo
73 | 4
74 | 16
75 | 32
76 | 256
77 | Intel(R) Xeon(R) CPU E5-2630 v3 @ 2.40GHz
78 | Group Valenti
79 |-
80 | dfg-xeon
81 | 5
82 | 16
83 | 32
84 | 128
85 | Intel(R) Xeon(R) CPU E5-2630 v3 @ 2.40GHz
86 | Group Valenti
87 |-
88 | dfg-xeon
89 | 7
90 | 20
91 | 140
92 | 128
93 | Intel(R) Xeon(R) CPU E5-2630 v4 @ 2.20GHz
94 | Group Valenti
95 |-
96 | iboga
97 | 44
98 | 20
99 | 880
100 | 64
101 | Intel(R) Xeon(R) CPU E5-2640 v4 @ 2.40GHz
102 | Group Rezzolla
103 |-
104 | dreama
105 | 1
106 | 40
107 | 40
108 | 1024
109 | Intel(R) Xeon(R) CPU E7-4820 v3 @ 1.90GHz
110 | Group Rezzolla
111 |-
112 | barcelona
113 | 8
114 | 40
115 | 320
116 | 192
117 | Intel(R) Xeon(R) Gold 6148 CPU @ 2.40GHz
118 | Group Valenti
119
120 |}
121
122 Most nodes are for exclusive use by their corresponding owners. The itp and itp-big nodes are for common usage. Except for 'fplo' and 'dfg-big' nodes, all machines are connected with Infiniband for all traffic (IP and internode communitcation - MPI)
123
124 == Submitting Jobs ==
125
126 In most cases you want to submit a non interactive job to be executed in our cluster.
127
128 This is very simple for serial (1 CPU) jobs:
129
130 sbatch -p PARTITION jobscript.sh
131
132 where jobscript.sh is a shell script with your job commands.
133
134 Running '''openMPI''' jobs is not much more complictated:
135
136 sbatch -p PARTITION -n X jobscript.sh
137
138 where X is the number of desired MPI processes. Launch the job in the jobscript with:
139
140 mpirun YOUREXECUTABLE
141
142 You don't have to worry about the number of processes or specific nodes. Both slurm and openmpi know
143 about each other.
144
145 If you want '''infiniband''' for your MPI job (which is usually a good idea, if not running on the same node), you have to request the feature infiniband:
146
147 sbatch -p dfg -C infiniband -n X jobscript.sh
148
149 Note: Infiniband is not available for 'fplo' and 'dfg-big'.
150
151 Running '''SMP jobs''' (multiple threads, not necessary mpi). Running MPI jobs on a single node is recommended for the
152 dfg-big nodes. This are big host with up to 64 cpu's per node, but 'slow' gigabit network connection. Launch SMP jobs with
153
154 sbatch -p PARTITION -N 1 -n X jobscript.sh
155
156 === Differences in network the network connection ===
157
158 The new v3 dfg-xeon nodes are equipped with 10 GB network. This is faster (trough put) and has lower latency then gigabit ethernet, but is not is not as fast as the DDR infinband network. The 10 GB network is used for MPI and I/O. Infiniband is only use for MPI.
159
160 == Defining Resource limits ==
161
162 By default each job allocates 2 GB memory and a run time of 3 days. More resources can be requested by
163
164 --mem-per-cpu=<MB>
165
166 where <MB> is the memory in megabytes. The virtual memory limit is 2.5 times of the requested real memory limit.
167
168 The memory limit is not a hard limit. When exceeding the limit, your memory will be swapped out. Only when using more the 150% of the limit your job will be killed. So be conservative, to keep enough room for other jobs. Requested memory is blocked from the use by other jobs.
169
170 -t or --time=<time>
171
172 where time can be set in the format "days-hours". See man page for more formats.
173
174 == Memory Management ==
175
176 In Slurm you specify only one parameter, which is the limit for your real memory usage and drives the decision where your job is started. The virtual memory of your job maybe 2.5 times of your requested memory. You can exceed your memory limit by 20%. But this will be swap space instead of real memory. This prevents crashing if you memory limit is a little to tight.
177
178 == Inline Arguments ==
179
180 sbatch arguments can be written in the jobfile:
181
182 <pre>
183 #! /bin/bash
184 #
185 # Choosing a partition:
186 #SBATCH -p housewives
187
188 YOUR JOB COMMANDS....
189 </pre>
190
191 = Links =
192
193 * SLURM-Homepage [http://slurm.schedmd.com/slurm.html]