~ubuntu-branches/ubuntu/quantal/slurm-llnl/quantal

« back to all changes in this revision

Viewing changes to .pc/mail-path-patch/doc/html/configurator.html.in

  • Committer: Bazaar Package Importer
  • Author(s): Gennaro Oliva
  • Date: 2011-04-08 11:21:17 UTC
  • mfrom: (3.3.16 sid)
  • Revision ID: james.westby@ubuntu.com-20110408112117-nfnyq9dtm55hqoaw
Tags: 2.2.4-1
* New upstream releases 
* Cleaning spare file and directories, not belonging to the sources
  generated by the building process and not removed by distclean.
  Added debian/clean with spare files and rm -rf inside debian/rules
  for directories.
* Added new packages libslurm-perl, libslurmdb-perl, slurm-llnl-torque
  (Closes: #575822) thanks to Julien Blache

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<!--
 
2
Copyright (C) 2005-2007 The Regents of the University of California.
 
3
Copyright (C) 2008-2010 Lawrence Livermore National Security.
 
4
Produced at Lawrence Livermore National Laboratory (cf, DISCLAIMER).
 
5
Written by Morris Jette <jette1@llnl.gov> and Danny Auble <da@llnl.gov>
 
6
 
 
7
This file is part of SLURM, a resource management program.
 
8
For details, see <https://computing.llnl.gov/linux/slurm/>.
 
9
 
 
10
SLURM is free software; you can redistribute it and/or modify it under
 
11
the terms of the GNU General Public License as published by the Free
 
12
Software Foundation; either version 2 of the License, or (at your option)
 
13
any later version.
 
14
 
 
15
SLURM is distributed in the hope that it will be useful, but WITHOUT ANY
 
16
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 
17
FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
 
18
details.
 
19
 
 
20
You should have received a copy of the GNU General Public License along
 
21
with SLURM; if not, write to the Free Software Foundation, Inc.,
 
22
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA.
 
23
-->
 
24
<HTML>
 
25
<HEAD><TITLE>SLURM System Configuration Tool</TITLE>
 
26
<SCRIPT type="text/javascript">
 
27
<!--
 
28
function get_field(name,form)
 
29
{
 
30
  if (form.value)
 
31
     return name + "=" + form.value
 
32
  return "#" + name + "="
 
33
}
 
34
 
 
35
function get_field2(name,form)
 
36
{
 
37
  if (form.value)
 
38
     return name + "=" + form.value
 
39
  return ""
 
40
}
 
41
 
 
42
function get_accounting_storage_type_field(gather, form_storage)
 
43
{
 
44
  for (var i=0; i < form_storage.length; i++)
 
45
  {
 
46
    if (form_storage[i].checked)
 
47
    {
 
48
      if(form_storage[i].value == "none" && !(gather == "none"))
 
49
      {
 
50
        return "filetxt"
 
51
      }
 
52
      else if(!(form_storage[i].value == "none") && gather == "none")
 
53
      {
 
54
        return "none"
 
55
      }
 
56
      else {
 
57
        return form_storage[i].value
 
58
      }
 
59
    }
 
60
  }
 
61
}
 
62
 
 
63
function get_radio_field_skipfirst(name,form)
 
64
{
 
65
  for (var i=1; i < form.length; i++)
 
66
  {
 
67
    if (form[i].checked)
 
68
    {
 
69
      return name + "=" + form[i].value
 
70
    }
 
71
  }
 
72
  return "#" + name + "="
 
73
}
 
74
 
 
75
function get_radio_value(form)
 
76
{
 
77
  for (var i=0; i < form.length; i++)
 
78
  {
 
79
    if (form[i].checked)
 
80
    {
 
81
      return form[i].value
 
82
    }
 
83
  }
 
84
}
 
85
 
 
86
// When choosing SelectTypeParameters make sure the select_type
 
87
// matches the parameter being checked
 
88
function set_select_type(form)
 
89
{
 
90
  if (form.name == "cons_res_params") {
 
91
    document.config.select_type[0].click()              // cons_res
 
92
  } else if (form.name == "linear_params") {
 
93
    document.config.select_type[1].click()              // linear
 
94
  } else if (form.name == "bluegene_params") {
 
95
    document.config.select_type[2].click()              // bluegene
 
96
  }
 
97
}
 
98
 
 
99
// When generating SelectTypeParameters return the parameters that
 
100
// correspond to the checked select_type
 
101
function get_select_type_params()
 
102
{
 
103
  if (document.config.select_type[0].checked) {         // cons_res
 
104
    return get_radio_field_skipfirst("SelectTypeParameters",
 
105
                                        document.config.cons_res_params)
 
106
  } else if (document.config.select_type[1].checked) {  // linear
 
107
    return "#SelectTypeParameters="
 
108
  } else if (document.config.select_type[2].checked) {  // bluegene
 
109
    return "#SelectTypeParameters="
 
110
  }
 
111
}
 
112
 
 
113
// When generating TaskPluginParam return the parameters that
 
114
// correspond to the checked task_plugin
 
115
function get_task_plugin_param()
 
116
{
 
117
  for (var i=0; i<document.config.task_plugin.length; i++) {
 
118
    if (document.config.task_plugin[i].checked) {
 
119
       if (document.config.task_plugin[i].value == "affinity") {
 
120
         return "TaskPluginParam=" +
 
121
                get_radio_value(document.config.task_plugin_param)
 
122
       }
 
123
    }
 
124
  }
 
125
  return "#TaskPluginParam="
 
126
}
 
127
 
 
128
function hide_box()
 
129
{
 
130
   var popup = document.getElementById('out_box');
 
131
   popup.style.visibility = 'hidden';
 
132
 
 
133
}
 
134
 
 
135
function displayfile()
 
136
{
 
137
  var printme = "# slurm.conf file generated by configurator.html.<br>" +
 
138
   "# Put this file on all nodes of your cluster.<br>" +
 
139
   "# See the slurm.conf man page for more information.<br>" +
 
140
   "#<br>" +
 
141
   "ControlMachine=" + document.config.control_machine.value + "<br>" +
 
142
   get_field("ControlAddr",document.config.control_addr) + "<br>" +
 
143
   get_field("BackupController",document.config.backup_controller) + "<br>" +
 
144
   get_field("BackupAddr",document.config.backup_addr) + "<br>" +
 
145
   "# <br>" +
 
146
   "AuthType=auth/" + get_radio_value(document.config.auth_type) + "<br>" +
 
147
   "CacheGroups=" + get_radio_value(document.config.cache_groups) + "<br>" +
 
148
   "#CheckpointType=checkpoint/none <br>" +
 
149
   "CryptoType=crypto/" + get_radio_value(document.config.crypto_type) + "<br>" +
 
150
   "#DisableRootJobs=NO <br>" +
 
151
   "#EnforcePartLimits=NO <br>" +
 
152
   get_field("Epilog",document.config.epilog) + "<br>" +
 
153
   "#PrologSlurmctld= <br>" +
 
154
   "#FirstJobId=1 <br>" +
 
155
   "#GresTypes= <br>" +
 
156
   "#GroupUpdateForce=0 <br>" +
 
157
   "#GroupUpdateTime=600 <br>" +
 
158
   "#JobCheckpointDir=/var/slurm/checkpoint <br>" +
 
159
   get_field("JobCredentialPrivateKey", document.config.private_key) + "<br>" +
 
160
   get_field("JobCredentialPublicCertificate", document.config.public_key) + "<br>" +
 
161
   "#JobFileAppend=0 <br>" +
 
162
   "#JobRequeue=1 <br>" +
 
163
   "#JobSubmitPlugins=1 <br>" +
 
164
   "#KillOnBadExit=0 <br>" +
 
165
   "#Licenses=foo*4,bar <br>" +
 
166
   "#MailProg=/bin/mail <br>" +
 
167
   "#MaxJobCount=5000 <br>" +
 
168
   "#MaxTasksPerNode=128 <br>" +
 
169
   "MpiDefault=" + get_radio_value(document.config.mpi_default) + "<br>" +
 
170
   "#MpiParams=ports=#-# <br>" +
 
171
   "#PluginDir= <br>" +
 
172
   "#PlugStackConfig= <br>" +
 
173
   "#PrivateData=jobs <br>" +
 
174
   "ProctrackType=proctrack/" + get_radio_value(document.config.proctrack_type) + "<br>" +
 
175
   get_field("Prolog",document.config.prolog) + "<br>" +
 
176
   "#PrologSlurmctld= <br>" +
 
177
   "#PropagatePrioProcess=0 <br>" +
 
178
   "#PropagateResourceLimits= <br>" +
 
179
   "#PropagateResourceLimitsExcept= <br>" +
 
180
   "ReturnToService=" + get_radio_value(document.config.return_to_service) + "<br>" +
 
181
   "#SallocDefaultCommand= <br>" +
 
182
   "SlurmctldPidFile=" + document.config.slurmctld_pid_file.value + "<br>" +
 
183
   "SlurmctldPort=" + document.config.slurmctld_port.value + "<br>" +
 
184
   "SlurmdPidFile=" + document.config.slurmd_pid_file.value + "<br>" +
 
185
   "SlurmdPort=" + document.config.slurmd_port.value + "<br>" +
 
186
   "SlurmdSpoolDir=" + document.config.slurmd_spool_dir.value + "<br>" +
 
187
   "SlurmUser=" + document.config.slurm_user.value + "<br>" +
 
188
   get_field("SrunEpilog",document.config.srun_epilog) + "<br>" +
 
189
   get_field("SrunProlog",document.config.srun_prolog) + "<br>" +
 
190
   "StateSaveLocation=" + document.config.state_save_location.value + "<br>" +
 
191
   "SwitchType=switch/" + get_radio_value(document.config.switch_type) + "<br>" +
 
192
   get_field("TaskEpilog",document.config.task_epilog) + "<br>" +
 
193
   "TaskPlugin=task/" + get_radio_value(document.config.task_plugin) + "<br>" +
 
194
   get_task_plugin_param() + "<br>" +
 
195
   get_field("TaskProlog",document.config.task_prolog) + "<br>" +
 
196
   "#TopologyPlugin=topology/tree <br>" +
 
197
   "#TmpFs=/tmp <br>" +
 
198
   "#TrackWCKey=no <br>" +
 
199
   "#TreeWidth= <br>" +
 
200
   "#UnkillableStepProgram= <br>" +
 
201
   "#UsePAM=0 <br>" +
 
202
   "# <br>" +
 
203
   "# <br>" +
 
204
   "# TIMERS <br>" +
 
205
   "#BatchStartTimeout=10 <br>" +
 
206
   "#CompleteWait=0 <br>" +
 
207
   "#EpilogMsgTime=2000 <br>" +
 
208
   "#GetEnvTimeout=2 <br>" +
 
209
   "#HealthCheckInterval=0 <br>" +
 
210
   "#HealthCheckProgram= <br>" +
 
211
   "InactiveLimit=" + document.config.inactive_limit.value + "<br>" +
 
212
   "KillWait=" + document.config.kill_wait.value + "<br>" +
 
213
   "#MessageTimeout=10 <br>" +
 
214
   "#ResvOverRun=0 <br>" +
 
215
   "MinJobAge=" + document.config.min_job_age.value + "<br>" +
 
216
   "#OverTimeLimit=0 <br>" +
 
217
   "SlurmctldTimeout=" + document.config.slurmctld_timeout.value + "<br>" +
 
218
   "SlurmdTimeout=" + document.config.slurmd_timeout.value + "<br>" +
 
219
   "#UnkillableStepTimeout=60 <br>" +
 
220
   "#VSizeFactor=0 <br>" +
 
221
   "Waittime=" + document.config.wait_time.value + "<br>" +
 
222
   "# <br>" +
 
223
   "# <br>" +
 
224
   "# SCHEDULING <br>" +
 
225
   "#DefMemPerCPU=0 <br>" +
 
226
   "FastSchedule=" + get_radio_value(document.config.fast_schedule) + "<br>" +
 
227
   "#MaxMemPerCPU=0 <br>" +
 
228
   "#SchedulerRootFilter=1 <br>" +
 
229
   "#SchedulerTimeSlice=30 <br>" +
 
230
   "SchedulerType=sched/" + get_radio_value(document.config.sched_type) + "<br>" +
 
231
   get_field("SchedulerPort",document.config.scheduler_port) + "<br>" +
 
232
   "SelectType=select/" + get_radio_value(document.config.select_type) + "<br>" +
 
233
   get_select_type_params() + "<br>" +
 
234
   "# <br>" +
 
235
   "# <br>" +
 
236
   "# JOB PRIORITY <br>" +
 
237
   "#PriorityType=priority/basic <br>" +
 
238
   "#PriorityDecayHalfLife= <br>" +
 
239
   "#PriorityCalcPeriod= <br>" +
 
240
   "#PriorityFavorSmall= <br>" +
 
241
   "#PriorityMaxAge= <br>" +
 
242
   "#PriorityUsageResetPeriod= <br>" +
 
243
   "#PriorityWeightAge= <br>" +
 
244
   "#PriorityWeightFairshare= <br>" +
 
245
   "#PriorityWeightJobSize= <br>" +
 
246
   "#PriorityWeightPartition= <br>" +
 
247
   "#PriorityWeightQOS= <br>" +
 
248
   "# <br>" +
 
249
   "# <br>" +
 
250
   "# LOGGING AND ACCOUNTING <br>" +
 
251
   "#AccountingStorageEnforce=0 <br>" +
 
252
   get_field("AccountingStorageHost",document.config.accounting_storage_host) + "<br>" +
 
253
   get_field("AccountingStorageLoc",document.config.accounting_storage_loc) + "<br>" +
 
254
   get_field("AccountingStoragePass",document.config.accounting_storage_pass) + "<br>" +
 
255
   get_field("AccountingStoragePort",document.config.accounting_storage_port) + "<br>" +
 
256
   "AccountingStorageType=accounting_storage/" + get_accounting_storage_type_field(get_radio_value(document.config.job_acct_gather_type), document.config.accounting_storage_type) + "<br>" +
 
257
   get_field("AccountingStorageUser",document.config.accounting_storage_user) + "<br>" +
 
258
   get_field("ClusterName",document.config.cluster_name) + "<br>" +
 
259
   "#DebugFlags= <br>" +
 
260
   get_field("JobCompHost",document.config.job_comp_host) + "<br>" +
 
261
   get_field("JobCompLoc",document.config.job_comp_loc) + "<br>" +
 
262
   get_field("JobCompPass",document.config.job_comp_pass) + "<br>" +
 
263
   get_field("JobCompPort",document.config.job_comp_port) + "<br>" +
 
264
   "JobCompType=jobcomp/" + get_radio_value(document.config.job_comp_type) + "<br>" +
 
265
   get_field("JobCompUser",document.config.job_comp_user) + "<br>" +
 
266
   get_field("JobAcctGatherFrequency",document.config.job_acct_gather_frequency) + "<br>" +
 
267
   "JobAcctGatherType=jobacct_gather/" + get_radio_value(document.config.job_acct_gather_type) + "<br>" +
 
268
   "SlurmctldDebug=" + document.config.slurmctld_debug.value + "<br>" +
 
269
   get_field("SlurmctldLogFile",document.config.slurmctld_logfile) + "<br>" +
 
270
   "SlurmdDebug=" + document.config.slurmd_debug.value + "<br>" +
 
271
   get_field("SlurmdLogFile",document.config.slurmd_logfile) + "<br>" +
 
272
   "#SlurmSchedLogFile= <br>" +
 
273
   "#SlurmSchedLogLevel= <br>" +
 
274
   "# <br>" +
 
275
   "# <br>" +
 
276
   "# POWER SAVE SUPPORT FOR IDLE NODES (optional) <br>" +
 
277
   "#SuspendProgram= <br>" +
 
278
   "#ResumeProgram= <br>" +
 
279
   "#SuspendTimeout= <br>" +
 
280
   "#ResumeTimeout= <br>" +
 
281
   "#ResumeRate= <br>" +
 
282
   "#SuspendExcNodes= <br>" +
 
283
   "#SuspendExcParts= <br>" +
 
284
   "#SuspendRate= <br>" +
 
285
   "#SuspendTime= <br>" +
 
286
   "# <br>" +
 
287
   "# <br>" +
 
288
   "# COMPUTE NODES <br>" +
 
289
   "NodeName=" + document.config.node_name.value +
 
290
   get_field2(" NodeAddr",document.config.node_addr) +
 
291
   get_field2(" Procs",document.config.procs) +
 
292
   get_field2(" RealMemory",document.config.memory) +
 
293
   get_field2(" Sockets",document.config.sockets) +
 
294
   get_field2(" CoresPerSocket",document.config.cores_per_socket) +
 
295
   get_field2(" ThreadsPerCore",document.config.threads_per_core) +
 
296
   " State=UNKNOWN <br>" +
 
297
   "PartitionName=" + document.config.partition_name.value +
 
298
   " Nodes=" + document.config.node_name.value +
 
299
   " Default=YES"+
 
300
   " MaxTime=" + document.config.max_time.value +
 
301
   " State=UP"
 
302
 
 
303
   //scroll(0,0);
 
304
   //var popup = document.getElementById('out_box');
 
305
 
 
306
   //popup.innerHTML = "<a href='javascript:hide_box();'>close</a><br>";
 
307
   //popup.innerHTML += "#BEGIN SLURM.CONF FILE<br><br>";
 
308
   //popup.innerHTML += printme;
 
309
   //popup.innerHTML += "<br><br>#END SLURM.CONF FILE<br>";
 
310
   //popup.innerHTML += "<a href='javascript:hide_box();'>close</a>";
 
311
 
 
312
   //popup.style.visibility = 'visible';
 
313
 
 
314
   // OLD CODE
 
315
   document.open();
 
316
   document.write(printme);
 
317
   document.close();
 
318
}
 
319
 
 
320
-->
 
321
</SCRIPT>
 
322
<!-- <div style='visibility:hidden;text-align:left;background:#ccc;border:1px solid black;position: absolute;left:100;z-index:1;padding:5;' id='out_box'></div> -->
 
323
</HEAD>
 
324
<BODY>
 
325
<FORM name=config>
 
326
<H1>SLURM Version @SLURM_MAJOR@.@SLURM_MINOR@ Configuration Tool</H1>
 
327
<P>This form can be used to create a SLURM configuration file with
 
328
you controlling many of the important configuration parameters.</P>
 
329
 
 
330
<P><B>This tool supports SLURM version @SLURM_MAJOR@.@SLURM_MINOR@ only.</B>
 
331
Configuration files for other versions of SLURM should be built
 
332
using the tool distributed with it in <i>doc/html/configurator.html</i>.
 
333
Some parameters will be set to default values, but you can
 
334
manually edit the resulting <I>slurm.conf</I> as desired
 
335
for greater flexibility. See <I>man slurm.conf</I> for more
 
336
details about the configuration parameters.</P>
 
337
 
 
338
<P>Note the while SLURM daemons create log files and other files as needed,
 
339
it treats the lack of parent directories as a fatal error.
 
340
This prevents the daemons from running if critical file systems are
 
341
not mounted and will minimize the risk of cold-starting (starting
 
342
without preserving jobs).</P>
 
343
 
 
344
<P>Note that this configuration file must be installed on all nodes
 
345
in your cluster.</P>
 
346
 
 
347
<P>After you have filled in the fields of interest, use the
 
348
"Submit" button on the bottom of the page to build the <I>slurm.conf</I>
 
349
file. It will appear on your web browser. Save the file in text format
 
350
as <I>slurm.conf</I> for use by SLURM.
 
351
 
 
352
<P>For more information about SLURM, see
 
353
<A HREF="https://computing.llnl.gov/linux/slurm/">https://computing.llnl.gov/linux/slurm/</A>
 
354
<P>
 
355
<A HREF="https://www.llnl.gov/disclaimer.html"><B>Privacy and legal notice</B></A>
 
356
 
 
357
<H2>Control Machines</H2>
 
358
Define the hostname of the computer on which the SLURM controller and
 
359
optional backup controller will execute. You can also specify addresses
 
360
of these computers if desired (defaults to their hostnames).
 
361
The IP addresses can be either numeric IP addresses or names.
 
362
Hostname values should should not be the fully qualified domain
 
363
name (e.g. use <I>linux</I> rather than <I>linux.llnl.gov</I>).
 
364
<P>
 
365
<input type="text" name="control_machine" value="linux0"> <B>ControlMachine</B>:
 
366
Master Controller Hostname
 
367
<P>
 
368
<input type="text" name="control_addr"> <B>ControlAddr</B>: Master Controller
 
369
Address (optional)
 
370
<P>
 
371
<input type="text" name="backup_controller"> <B>BackupController</B>: Backup
 
372
Controller Hostname (optional)
 
373
<P>
 
374
<input type="text" name="backup_addr"> <B>BackupAddr</B>: Backup Controller
 
375
Address (optional)
 
376
<P>
 
377
 
 
378
<H2>Compute Machines</H2>
 
379
Define the machines on which user applications can run.
 
380
You can also specify addresses of these computers if desired
 
381
(defaults to their hostnames).
 
382
Only a few of the possible parameters associated with the nodes will
 
383
be set by this tool, but many others are available.
 
384
Executing the command <i>slurmd -C</i> on each compute node will print its
 
385
physical configuration (sockets, cores, real memory size, etc.), which
 
386
can be used in constructing the <i>slurm.conf</i> file.
 
387
All of the nodes will be placed into a single partition (or queue)
 
388
with global access. Many options are available to group nodes into
 
389
partitions with a wide variety of configuration parameters.
 
390
Manually edit the <i>slurm.conf</i> produced to exercise these options.
 
391
Node names and addresses may be specified using a numeric range specification.
 
392
 
 
393
<P>
 
394
<input type="text" name="node_name" value="linux[1-32]"> <B>NodeName</B>:
 
395
Compute nodes
 
396
<P>
 
397
<input type="text" name="node_addr"> <B>NodeAddr</B>: Compute node addresses
 
398
(optional)
 
399
<P>
 
400
<input type="text" name="partition_name" value="debug"> <B>PartitionName</B>:
 
401
Name of the one partition to be created
 
402
<P>
 
403
<input type="text" name="max_time" value="INFINITE"> <B>MaxTime</B>:
 
404
Maximum time limit of jobs in minutes or INFINITE
 
405
<P>
 
406
The following parameters describe a node's configuration.
 
407
Set a value for <B>Procs</B>.
 
408
The other parameters are optional, but provide more control over scheduled resources:
 
409
<P>
 
410
<input type="text" name="procs" value="1"> <B>Procs</B>: Count of processors
 
411
on each compute node.
 
412
If Procs is omitted, it will be inferred from:
 
413
Sockets, CoresPerSocket, and ThreadsPerCore.
 
414
<P>
 
415
<input type="text" name="sockets" value="">
 
416
<B>Sockets</B>:
 
417
Number of physical processor sockets/chips on the node.
 
418
If Sockets is omitted, it will be inferred from:
 
419
Procs, CoresPerSocket, and ThreadsPerCore.
 
420
<P>
 
421
<input type="text" name="cores_per_socket" value="">
 
422
<B>CoresPerSocket</B>:
 
423
Number of cores in a single physical processor socket.
 
424
The CoresPerSocket value describes physical cores, not
 
425
the logical number of processors per socket.
 
426
<P>
 
427
<input type="text" name="threads_per_core" value="">
 
428
<B>ThreadsPerCore</B>:
 
429
Number of logical threads in a single physical core.
 
430
<P>
 
431
<input type="text" name="memory" value=""> <B>RealMemory</B>: Amount
 
432
of real memory. This parameter is required when specifying Memory as a
 
433
consumable resource with the select/cons_res plug-in. See below
 
434
under Resource Selection.
 
435
<P>
 
436
 
 
437
<H2>SLURM User</H2>
 
438
The SLURM controller (slurmctld) can run without elevated privileges,
 
439
so it is recommended that a user "slurm" be created for it. For testing
 
440
purposes any user name can be used.
 
441
<P>
 
442
<input type="text" name="slurm_user" value="slurm"> <B>SlurmUser</B>
 
443
<P>
 
444
 
 
445
<H2>Group ID Caching</H2>
 
446
 
 
447
If you have a slow NIS environment, big parallel jobs take a long time
 
448
to start up (and may eventually time-out) because the NIS server(s)
 
449
may not be able to quickly respond to simultaneous requests from
 
450
multiple slurmd's.  You can instruct slurmd to cache /etc/groups
 
451
entries to prevent this from happening by setting
 
452
<B>CacheGroups</B>=1.  Reconfiguring ("scontrol reconfig") with
 
453
<B>CacheGroups</B>=0 will cause slurmd to purge the cache.  Select one
 
454
value for <B>CacheGroups</B>:<BR>
 
455
<input type="radio" name="cache_groups" value="0" checked>
 
456
<B>0</B>: for normal environment.<BR>
 
457
<input type="radio" name="cache_groups" value="1">
 
458
<B>1</B>: for slow NIS environment.
 
459
<P>
 
460
WARNING: The group ID cache does not try to keep itself in sync with
 
461
the system.  You MUST run "scontrol reconfig" to update the cache
 
462
after making any changes to system password or group databases.
 
463
<P>
 
464
 
 
465
<H2>SLURM Port Numbers</H2>
 
466
The SLURM controller (slurmctld) requires a unique port for communications
 
467
as do the SLURM compute node daemons (slurmd). If not set, slurm ports
 
468
are set by checking for an entry in <I>/etc/services</I> and if that
 
469
fails by using an interval default set at SLURM build time.
 
470
<P>
 
471
<input type="text" name="slurmctld_port" value="6817"> <B>SlurmctldPort</B>
 
472
<P>
 
473
<input type="text" name="slurmd_port" value="6818"> <B>SlurmdPort</B>
 
474
<P>
 
475
 
 
476
<H2>Authentication and Security</H2>
 
477
Define the method used for authenticating communicating between SLURM components.<BR>
 
478
Select one value for <B>AuthType</B>:<BR>
 
479
<input type="radio" name="auth_type" value="none"> <B>None</B>: No authentication,
 
480
not recommended production use<br>
 
481
<input type="radio" name="auth_type" value="authd"> <B>Authd</B>: Brent Chun's
 
482
<A href="http://www.theether.org/authd/">authd</A><BR>
 
483
<input type="radio" name="auth_type" value="munge" checked> <B>Munge</B>: LLNL's
 
484
<A href="http://home.gna.org/munge/">Munge</A><BR>
 
485
<P>
 
486
Library used for job step cryptographic signature generation.<BR>
 
487
Select one value for <B>CryptoType</B>:<BR>
 
488
<input type="radio" name="crypto_type" value="munge" checked><B>Munge</B>: LLNL's
 
489
<A href="http://home.gna.org/munge/">Munge</A> (has Gnu Public License)<BR>
 
490
<input type="radio" name="crypto_type" value="openssl"> <B>OpenSSL</B>:
 
491
<A href="http://www.openssl.org/">OpenSSL</A>
 
492
<P>
 
493
Define the location of public and private keys used by SLURM's
 
494
cryptographic signature generation plugin (CryptoType).<br>
 
495
<b>These values are only used if CryptoType=OpenSSL.</b><br>
 
496
These files need to be generated by the SLURM administrator.
 
497
Specify fully qualified pathnames.
 
498
<P>
 
499
<input type="text" name="private_key"> <B>JobCredentialPrivateKey</B>
 
500
<P>
 
501
<input type="text" name="public_key"> <B>JobCredentialPublicCertificate</B>
 
502
<P>
 
503
 
 
504
<H2>State Preservation</H2>
 
505
Define the location of a directory where the slurmctld daemon saves its state.
 
506
This should be a fully qualified pathname which can be read and written to
 
507
by the SLURM user on both the control machine and backup controller (if configured).
 
508
The location of a directory where slurmd saves state should also be defined.
 
509
This must be a unique directory on each compute server (local disk).
 
510
The use of a highly reliable file system (e.g. RAID) is recommended.
 
511
<P>
 
512
<input type="text" name="state_save_location" value="/tmp"> <B>StateSaveLocation</B>:
 
513
Slurmctld state save directory <B>Must be writable by both ControlMachine and BackupController</B>
 
514
<P>
 
515
<input type="text" name="slurmd_spool_dir" value="/tmp/slurmd"> <B>SlurmdSpoolDir</B>:
 
516
Slurmd state save directory
 
517
<P>
 
518
Define when a non-responding (DOWN) node is returned to service.<BR>
 
519
Select one value for <B>ReturnToService</B>:<BR>
 
520
<input type="radio" name="return_to_service" value="0">
 
521
<B>0</B>: When explicitly restored to service by an administrator.<BR>
 
522
<input type="radio" name="return_to_service" value="1" checked>
 
523
<B>1</B>: Automatically, when slurmd daemon registers with valid configuration<BR>
 
524
<P>
 
525
 
 
526
<H2>Scheduling</H2>
 
527
Define the mechanism to be used for controlling job ordering.<BR>
 
528
Select one value for <B>SchedulerType</B>:<BR>
 
529
<input type="radio" name="sched_type" value="builtin">  <B>Builtin</B>: First-In
 
530
First-Out (FIFO)<BR>
 
531
<input type="radio" name="sched_type" value="backfill" checked> <B>Backfill</B>:
 
532
FIFO with backfill<BR>
 
533
<input type="radio" name="sched_type" value="gang">  <B>Gang</B>: Gang scheduling
 
534
(time-slicing for parallel jobs)<BR>
 
535
<input type="radio" name="sched_type" value="wiki"> <B>Wiki</B>: Wiki interface
 
536
to Maui (configuration parameter <B>SchedulerPort</B> must specified)<BR>
 
537
<input type="radio" name="sched_type" value="wiki2"> <B>Wiki2</B>: Wiki interface
 
538
to Moab (configuration parameter <B>SchedulerPort</B> must specified)<BR>
 
539
<P>
 
540
<input type="text" name="scheduler_port" value="7321"> <B>SchedulerPort</B>: scheduler
 
541
communications port (used by Wiki and Wiki2 only)
 
542
<P>
 
543
Define what node configuration (sockets, cores, memory, etc.) should be used.
 
544
Using values defined in the configuration file will provide faster scheduling.<BR>
 
545
Select one value for <B>FastSchedule</B>:<BR>
 
546
<input type="radio" name="fast_schedule" value="1" checked>
 
547
<B>1</B>: Use node configuration values defined in configuration file<BR>
 
548
<input type="radio" name="fast_schedule" value="0">
 
549
<B>0</B>: Use node configuration values actually found on each node
 
550
(if configured with with gang scheduling or allocation of individual
 
551
processors to jobs rather than only whole node allocations, the processor
 
552
count on the node should match the configured value to avoid having extra
 
553
processors left idle)
 
554
<P>
 
555
 
 
556
<H2>Interconnect</H2>
 
557
Define the node interconnect used.<BR>
 
558
Select one value for <B>SwitchType</B>:<BR>
 
559
<input type="radio" name="switch_type" value="elan"> <B>Elan</B>: Quadrics Elan3 or Elan4<BR>
 
560
<input type="radio" name="switch_type" value="federation"> <B>Federation</B>: IBM
 
561
Federation Switch<BR>
 
562
<input type="radio" name="switch_type" value="none" checked> <B>None</B>: No special
 
563
handling required (InfiniBand, Myrinet, Ethernet, etc.)<BR>
 
564
<P>
 
565
 
 
566
<H2>Default MPI Type</H2>
 
567
Specify the type of MPI to be used by default. SLURM will configure environment
 
568
variables accordingly. Users can over-ride this specification with an srun option.<BR>
 
569
Select one value for <B>MpiDefault</B>:<BR>
 
570
<input type="radio" name="mpi_default" value="mpichgm"> <B>MPICH-GM</B><BR>
 
571
<input type="radio" name="mpi_default" value="mpichmx"> <B>MPICH-MX</B><BR>
 
572
<input type="radio" name="mpi_default" value="mpich1_p4"> <B>MPICH1-P4</B><BR>
 
573
<input type="radio" name="mpi_default" value="mpich1_shmem"> <B>MPICH1-SHMEM</B>:
 
574
This also works for MVAPICH-SHMEM.<BR>
 
575
<input type="radio" name="mpi_default" value="mvapich"> <B>MVAPICH</B><BR>
 
576
<input type="radio" name="mpi_default" value="none" checked> <B>None</B>:
 
577
+This works for most other MPI types including MPICH2, LAM MPI and Open MPI.<BR>
 
578
<P>
 
579
 
 
580
<H2>Process Tracking</H2>
 
581
Define the algorithm used to identify which processes are associated with a
 
582
given job. This is used signal, kill, and account for the processes associated
 
583
with a job step.<BR>
 
584
Select one value for <B>ProctrackType</B>:<BR>
 
585
<input type="radio" name="proctrack_type" value="aix"> <B>AIX</B>: Use AIX kernel
 
586
extension, recommended for AIX systems<BR>
 
587
<input type="radio" name="proctrack_type" value="cgroup"> <B>Cgroup</B>: Use
 
588
Linux <i>cgroups</i> to create a job container and track processes.
 
589
Build a <i>cgroup.conf</i> file as well<BR>
 
590
<input type="radio" name="proctrack_type" value="pgid" checked> <B>Pgid</B>: Use Unix
 
591
Process Group ID, processes changing their process group ID can escape from SLURM
 
592
control<BR>
 
593
<input type="radio" name="proctrack_type" value="linuxproc"> <B>LinuxProc</B>: Use
 
594
parent process ID records, required for MPICH-GM use, processes can escape
 
595
from SLURM control<BR>
 
596
<input type="radio" name="proctrack_type" value="rms"> <B>RMS</B>: Use Quadrics
 
597
kernel infrastructure, recommended for systems where this is available<BR>
 
598
<input type="radio" name="proctrack_type" value="sgi_job"> <B>SGI's PAGG
 
599
module</B>: Use <A HREF="http://oss.sgi.com/projects/pagg/">SGI's Process
 
600
Aggregates (PAGG) kernel module</A>, recommended where available<BR>
 
601
<P>
 
602
 
 
603
<H2>Resource Selection</H2>
 
604
Define resource (node) selection algorithm to be used.<BR>
 
605
Select one value for <B>SelectType</B>:<BR>
 
606
<input type="radio" name="select_type" value="cons_res">
 
607
<B>Cons_res</B>: Allocate individual processors and memory<BR>
 
608
<DL>
 
609
<DL>
 
610
<DT><B>SelectTypeParameters</B> (As used by <I>SelectType=Cons_res</I> only):
 
611
    <DD> Note: The -E extension for sockets, cores, and threads
 
612
        are ignored within the node allocation mechanism
 
613
        when CR_CPU or CR_CPU_MEMORY is selected.
 
614
        They are considered to compute the total number of
 
615
        tasks when -n is not specified
 
616
    <DD> Note: CR_MEMORY assumes MaxShare value of one of higher
 
617
<DT> <input type="radio" name="cons_res_params" value="CR_CPU" checked
 
618
            onClick="javascript:set_select_type(this, 'cons_res')">
 
619
    <B>CR_CPU</B>: (default)
 
620
    CPUs as consumable resources.
 
621
    <DD> No notion of sockets, cores, or threads.
 
622
    On a multi-core system, cores will be considered CPUs.
 
623
    On a multi-core/hyperthread system, threads will be considered CPUs.
 
624
    On a single-core systems CPUs are CPUs. ;-)
 
625
<DT> <input type="radio" name="cons_res_params" value="CR_Socket"
 
626
            onClick="javascript:set_select_type(this)">
 
627
    <B>CR_Socket</B>: Sockets as a consumable resource.
 
628
<DT> <input type="radio" name="cons_res_params" value="CR_Core"
 
629
            onClick="javascript:set_select_type(this)">
 
630
    <B>CR_Core</B>: Cores as a consumable resource.
 
631
<DT> <input type="radio" name="cons_res_params" value="CR_Memory"
 
632
            onClick="javascript:set_select_type(this)">
 
633
    <B>CR_Memory</B>: Memory as a consumable resource.
 
634
    <DD> Note: CR_Memory assumes MaxShare value of one of higher
 
635
<DT> <input type="radio" name="cons_res_params" value="CR_CPU_Memory"
 
636
            onClick="javascript:set_select_type(this)">
 
637
    <B>CR_CPU_Memory</B>:
 
638
    CPU and Memory as consumable resources.
 
639
<DT> <input type="radio" name="cons_res_params" value="CR_Socket_Memory"
 
640
            onClick="javascript:set_select_type(this)">
 
641
    <B>CR_Socket_Memory</B>:
 
642
    Socket and Memory as consumable resources.
 
643
<DT> <input type="radio" name="cons_res_params" value="CR_Core_Memory"
 
644
            onClick="javascript:set_select_type(this)">
 
645
    <B>CR_Core_Memory</B>:
 
646
    Core and Memory as consumable resources.
 
647
</DL>
 
648
</DL>
 
649
<input type="radio" name="select_type" value="linear" checked>
 
650
<B>Linear</B>: Node-base
 
651
resource allocation, does not manage individual processor allocation<BR>
 
652
<input type="radio" name="select_type" value="bluegene">
 
653
<B>BlueGene</B>: For IBM Blue Gene systems only<BR>
 
654
<P>
 
655
 
 
656
<H2>Task Launch</H2>
 
657
Define a task launch plugin. This may be used to
 
658
provide resource management within a node (e.g. pinning
 
659
tasks to specific processors).
 
660
Select one value for <B>TaskPlugin</B>:<BR>
 
661
<input type="radio" name="task_plugin" value="none" checked> <B>None</B>: No task launch actions<BR>
 
662
<input type="radio" name="task_plugin" value="affinity"> <B>Affinity</B>:
 
663
CPU affinity support
 
664
(see srun man pages for the --cpu_bind, --mem_bind, and -E options)
 
665
<DL><DL>
 
666
<DT><B>TaskPluginParam</B> (As used by <I>TaskPlugin=Affinity</I> only):
 
667
<DT><input type="radio" name="task_plugin_param" value="Cpusets">
 
668
    <B>Cpusets</B>: Use <I>cpusets</I> to control task binding.
 
669
<DT><input type="radio" name="task_plugin_param" value="Sched" checked>
 
670
    <B>Sched</B>: Use <I>sched_setaffinity</I> or <I>plpa_sched_setaffinity</I>
 
671
    (if available) to bind tasks to processors. This is the default mode of
 
672
    operation.
 
673
</DL></DL>
 
674
<P>
 
675
 
 
676
<H2>Prolog and Epilog</H2>
 
677
<P>
 
678
<B>Prolog/Epilog</B>: Fully qualified path that will be executed as
 
679
root on every node of a user's job before the job's tasks
 
680
will be initiated there and after that job has terminated.
 
681
These parameters are optional.
 
682
<DL>
 
683
<DT> <input type="text" name="prolog" value="" size=40> <B>Prolog</B>
 
684
<DT> <input type="text" name="epilog" value="" size=40> <B>Epilog</B>
 
685
</DL>
 
686
 
 
687
<P>
 
688
<B>SrunProlog/Epilog</B>: Fully qualified path to be executed by srun at
 
689
job step initiation and termination. These parameters may be overridden by
 
690
srun's --prolog and --epilog options
 
691
These parameters are optional.
 
692
<DL>
 
693
<DT> <input type="text" name="srun_prolog" value="" size=40> <B>SrunProlog</B>
 
694
<DT> <input type="text" name="srun_epilog" value="" size=40> <B>SrunEpilog</B>
 
695
</DL>
 
696
 
 
697
<P>
 
698
<B>TaskProlog/Epilog</B>: Fully qualified path to be executed as the user
 
699
before each task begins execution and after each task terminates.
 
700
These parameters are optional.
 
701
<DL>
 
702
<DT> <input type="text" name="task_prolog" value="" size=40> <B>TaskProlog</B>
 
703
<DT> <input type="text" name="task_epilog" value="" size=40> <B>TaskEpilog</B>
 
704
</DL>
 
705
 
 
706
<H2>Event Logging</H2>
 
707
Slurmctld and slurmd daemons can each be configured with different
 
708
levels of logging verbosity from 0 (quiet) to 7 (extremely verbose).
 
709
Each may also be configured to use debug files. Use fully qualified
 
710
pathnames for the files.
 
711
<P>
 
712
<input type="text" name="slurmctld_debug" value="3"> <B>SlurmctldDebug</B> (0 to 7)
 
713
<P>
 
714
<input type="text" name="slurmctld_logfile" value=""> <B>SlurmctldLogFile</B> (default is none, log goes to syslog)
 
715
<P>
 
716
<input type="text" name="slurmd_debug" value="3"> <B>SlurmdDebug</B> (0 to 7)
 
717
<P>
 
718
<input type="text" name="slurmd_logfile" value=""> <B>SlurmdLogFile</B> (default is none,
 
719
log goes to syslog, string "%h" in name gets replaced with hostname)
 
720
<P>
 
721
 
 
722
<H2>Job Completion Logging</H2>
 
723
Define the job completion logging mechanism to be used.<BR>
 
724
Select one value for <B>JobCompType</B>:<BR>
 
725
<input type="radio" name="job_comp_type" value="none" checked> <B>None</B>:
 
726
No job completion logging<BR>
 
727
<input type="radio" name="job_comp_type" value="filetxt"> <B>FileTxt</B>:
 
728
Write job completion status to a text file<BR>
 
729
<input type="radio" name="job_comp_type" value="script"> <B>Script</B>:
 
730
Use an arbitrary script to log job completion<BR>
 
731
<input type="radio" name="job_comp_type" value="mysql"> <B>MySQL</B>:
 
732
Write completion status to a MySQL database<BR>
 
733
<input type="radio" name="job_comp_type" value="pgsql"> <B>PGSQL</B>:
 
734
Write completion status to a PostreSQL database<BR>
 
735
<input type="radio" name="job_comp_type" value="slurmdbd"> <B>SlurmDBD</B>:
 
736
Write completion status to Slurm a database daemon (serving multiple Slurm clusters)
 
737
which will write to some database<BR>
 
738
<P>
 
739
<input type="text" name="job_comp_loc" value=""> <B>JobCompLoc</B>:
 
740
This is the location of the text file to be written to (if JobCompType=filetst)
 
741
or the script to be run (if JobCompType=script) or database name (for other values
 
742
of JobCompType).
 
743
<p><b>Options below are for use with a database to specify where the database is running and how to connect to it</b><br>
 
744
<input type="text" name="job_comp_host" value=""> <B>JobCompHost</B>:
 
745
Host the database is running on for Job completion<br>
 
746
<input type="text" name="job_comp_port" value=""> <B>JobCompPort</B>:
 
747
Port the database server is listening on for Job completion<br>
 
748
<input type="text" name="job_comp_user" value=""> <B>JobCompUser</B>:
 
749
User we are to use to talk to the database for Job completion<br>
 
750
<input type="text" name="job_comp_pass" value=""> <B>JobCompPass</B>:
 
751
Password we are to use to talk to the database for Job completion<br>
 
752
<P>
 
753
 
 
754
<H2>Job Accounting Gather</H2>
 
755
SLURM accounts for resource use per job.  System specifics can be polled
 
756
determined by system type<BR>
 
757
Select one value for <B>JobAcctGatherType</B>:<BR>
 
758
<input type="radio" name="job_acct_gather_type" value="none" checked> <B>None</B>: No
 
759
job accounting<BR>
 
760
<input type="radio" name="job_acct_gather_type" value="aix"> <B>AIX</B>: Specifc
 
761
AIX process table information gathered, use with AIX systems only<BR>
 
762
<input type="radio" name="job_acct_gather_type" value="linux"> <B>Linux</B>: Specifc
 
763
Linux process table information gathered, use with Linux systems only<BR>
 
764
<input type="text" name="job_acct_gather_frequency" value="30"> <B>JobAcctGatherFrequency</B>:
 
765
polling interval in seconds. Zero disables periodic sampling.<BR>
 
766
<P>
 
767
 
 
768
<H2>Job Accounting Storage</H2>
 
769
Used with the Job Accounting Gather SLURM can store the accounting information in many different fashions.  Fill in your systems choice here<BR>
 
770
Select one value for <B>AccountingStorageType</B>:<BR>
 
771
<input type="radio" name="accounting_storage_type" value="none" checked> <B>None</B>:
 
772
No job accounting storage<BR>
 
773
<input type="radio" name="accounting_storage_type" value="filetxt"> <B>FileTxt</B>:
 
774
Write job accounting to a text file<BR>
 
775
<input type="radio" name="accounting_storage_type" value="gold"> <B>Gold</B>:
 
776
Write completion status to Gold database daemon which can securely
 
777
save the data from many Slurm managed clusters into a common database<BR>
 
778
<input type="radio" name="accounting_storage_type" value="mysql"> <B>MySQL</B>:
 
779
Write job accounting to a MySQL database<BR>
 
780
<input type="radio" name="accounting_storage_type" value="pgsql"> <B>PGSQL</B>:
 
781
Write job accounting to a PostreSQL database<BR>
 
782
<input type="radio" name="accounting_storage_type" value="slurmdbd"> <B>SlurmDBD</B>:
 
783
Write job accounting to Slurm DBD (database daemon) which can securely
 
784
save the data from many Slurm managed clusters into a common database<BR>
 
785
<input type="text" name="accounting_storage_loc" value=""> <B>AccountingStorageLoc</B>:
 
786
Location specification or database name.
 
787
This is the location of the text file to be written to (used by Log only).
 
788
Use a fully qualified pathname. If using a database it is the name of the database you will use or create for the stored data.<br>
 
789
<p><b>Options below are for use with a database to specify where the database is running and how to connect to it</b><br>
 
790
<input type="text" name="accounting_storage_host" value=""> <B>AccountingStorageHost</B>:
 
791
Host the database is running on for Job Accounting<br>
 
792
<input type="text" name="accounting_storage_port" value=""> <B>AccountingStoragePort</B>:
 
793
Port the database server is listening on for Job Accounting<br>
 
794
<input type="text" name="accounting_storage_user" value=""> <B>AccountingStorageUser</B>:
 
795
User we are to use to talk to the database for Job Accounting<br>
 
796
<input type="text" name="accounting_storage_pass" value=""> <B>AccountingStoragePass</B>:
 
797
Password we are to use to talk to the database for Job Accounting.
 
798
In the case of SlurmDBD, this will be an alternate socket name for use with a Munge
 
799
daemon providing enterprise-wide authentication (while the default Munge socket
 
800
would provide cluster-wide authentication only).<br>
 
801
<input type="text" name="cluster_name" value="cluster"> <B>ClusterName</B>:
 
802
Name to be recorded in database for jobs from this cluster.
 
803
This is important if a single database is used to record information
 
804
from multiple Slurm-managed clusters.<br>
 
805
 
 
806
<P>
 
807
 
 
808
<H2>Process ID Logging</H2>
 
809
Define the location into which we can record the daemon's process ID.
 
810
This is used for locate the appropriate daemon for signalling.
 
811
Specify a specify the fully qualified pathname for the file.
 
812
<P>
 
813
<input type="text" name="slurmctld_pid_file" value="/var/run/slurmctld.pid">
 
814
<B>SlurmctldPidFile</B>
 
815
<P>
 
816
<input type="text" name="slurmd_pid_file" value="/var/run/slurmd.pid">
 
817
<B>SlurmdPidFile</B>
 
818
<P>
 
819
 
 
820
<H2>Timers</H2>
 
821
SLURM has a variety of timers to control when to consider a node DOWN,
 
822
when to purge job records, how long to give a job to gracefully terminate, etc.
 
823
<P>
 
824
<input type="text" name="slurmctld_timeout" value="120">
 
825
<B>SlurmctldTimeout</B>: How many seconds the backup controller waits before
 
826
becoming the master controller
 
827
<P>
 
828
<input type="text" name="slurmd_timeout" value="300">
 
829
<B>SlurmdTimeout</B>: How many seconds the SLURM controller waits for the slurmd
 
830
to respond to a request before considering the node DOWN
 
831
<P>
 
832
<input type="text" name="inactive_limit" value="0">
 
833
<B>InactiveLimit</B>: How many seconds the SLURM controller waits for srun
 
834
commands to respond before considering the job or job step inactive and
 
835
terminating it. A value of zero indicates unlimited wait
 
836
<P>
 
837
<input type="text" name="min_job_age" value="300">
 
838
<B>MinJobAge</B>: How many seconds the SLURM controller waits after a
 
839
job terminates before purging its record. A record of the job will
 
840
persist in job completion and/or accounting records indefinitely,
 
841
but will no longer be visible with the squeue command after puring
 
842
<P>
 
843
<input type="text" name="kill_wait" value="30">
 
844
<B>KillWait</B>: How many seconds a job is given to gracefully terminate
 
845
after reaching its time limit and being sent SIGTERM before sending
 
846
a SIGKILLL
 
847
<P>
 
848
<input type="text" name="wait_time" value="0">
 
849
<B>WaitTime</B>: How many seconds after a job step's first task terminates
 
850
before terminating all remaining tasks. A value of zero indicates unlimited wait
 
851
<P>
 
852
 
 
853
<BR>
 
854
<BR>
 
855
<input type=button value="Submit" onClick="javascript:displayfile()">
 
856
<input type=reset value="Reset Form">
 
857
<P>
 
858
</FORM>
 
859
<HR>
 
860
<P class="footer">LLNL-WEB-402631<BR>
 
861
Last modified 25 August 2010</P>
 
862
</BODY>