This file is indexed.

/usr/share/doc/slurm-wlm-doc/html/licenses.html is in slurm-wlm-doc 15.08.7-1build1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
                        "http://www.w3.org/TR/REC-html40/loose.dtd">

<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="keywords" content="Simple Linux Utility for Resource Management, SLURM, resource management,
Linux clusters, high-performance computing">
<meta name="description" content="Simple Linux Utility for Resource Management">
<title>Simple Linux Utility for Resource Management</title>
<link href="linuxstyles.css" rel="stylesheet" type="text/css">
<link href="slurmstyles.css" rel="stylesheet" type="text/css">

<script type="text/javascript">

function window_check ()
{
	obj = document.getElementById('navigation');
	if ((window.innerWidth>=800) && (window.innerHeight>=700) &&
	    (screen.width>=800) && (screen.height>=700)) {
	   obj.style.position = 'fixed';
	} else {
	   obj.style.position = 'absolute';
	}
}

window.onload = window_check;
window.onresize = window_check;

</script>

</head>

<body><div id="container"><div id="row">

<div id="navigation">
<a href="slurm.html"><img class="displayed" src="slurm_logo.png" width="130" usemap="#Map"></a>

<div id="version">Version 15.08</div>
<p></p>
<div id="slurmh2">About</div>
<ul>
	  <li><a href="overview.html" class="nav">Overview</a></li>
	  <li><a href="news.html" class="nav">What's New</a></li>
	  <li><a href="team.html" class="nav">Slurm Team</a></li>
	  <li><a href="meetings.html" class="nav">Meetings</a></li>
	  <li><a href="testimonials.html" class="nav">Testimonials</a></li>
	  <li><a href="disclaimer.html" class="nav">Legal Notices</a></li>
</ul>
<div id="slurmh2">Using</div>
<ul>
	  <li><a href="tutorials.html" class="nav">Tutorials</a></li>
	  <li><a href="documentation.html" class="nav">Documentation</a></li>
	  <li><a href="faq.html" class="nav">FAQ</a></li>
	  <li><a href="publications.html" class="nav">Publications</a></li>
</ul>
<div id="slurmh2">Installing</div>
<ul>
	  <li><a href="download.html" class="nav">Download</a></li>
	  <li><a href="quickstart_admin.html" class="nav">Installation Guide</a></li>
</ul>
<div id="slurmh2">Getting Help</div>
<ul>
	  <li><a href="http://www.schedmd.com/#services" class="nav">Support</a></li>
	  <li><a href="mail.html" class="nav">Mailing Lists</a></li>
	  <li><a href="http://www.schedmd.com/#services" class="nav">Training</a></li>
	  <li><a href="troubleshoot.html" class="nav">Troubleshooting</a></li>
</ul>
<a href="http://www.schedmd.com"><img class="displayed" src="schedmd.png" width="130" usemap="#Map"></a>
</div>

<div id="content">

<div id="cse"></div>


<h1>Licenses Guide</h1>

<h2>Licenses Overview</h2>
<p>Slurm can help with software license management by assigning available
licenses to jobs at scheduling time. If the licenses are not available,
jobs are kept pending until licenses become available.
Licenses in Slurm are essentially shared resources, meaning configured resources
that are not tied to a specific host but are associated with the entire cluster.

<p>Licenses in Slurm can be configured in two ways:</p>
<ul>
<li><b>Local Licenses:</b>
Local licenses are local to the cluster using the
<it>slurm.conf</it> in which they are configured.
</li>
<li><b>Remote Licenses:</b>
Remote licenses are served by the database and are configured using the
<it>sacctmgr</it> command. Remote licenses are dynamic in nature as upon running
the <it>sacctmgr</it> the <it>slurmdbd</it> updates all clusters the licenses
are assigned to.
</li>
</ul>


<h2>Local Licenses</h2>
<p>Local licenses are defined in the slurm.conf using the <i>Licenses</i>
option.

<p>slurm.conf:
<pre>
Licenses=fluent:30,ansys:100
</pre>

<p>Configured licenses can be viewed using the <i>scontrol</i> command.
<pre>
$ scontrol show lic
LicenseName=ansys
    Total=100 Used=0 Free=100 Remote=no
LicenseName=fluent
    Total=30 Used=0 Free=30 Remote=no
</pre>

<p>Requesting licenses is done by using the -L, or --licenses, submission
option.
<pre>
$ sbatch -L ansys:2 script.sh
Submitted batch job 5212

$ scontrol show lic
LicenseName=ansys
    Total=100 Used=2 Free=98 Remote=no
LicenseName=fluent
    Total=30 Used=0 Free=30 Remote=no
</pre>

<h2>Remote Licenses</h2>

<h3>Use Case</h3>
<p>A site has two license servers, one serves 100 Nastran licenses provided by
FlexNet and the other serves 50 Matlab licenses from Reprise License
Management. The site has two clusters named "fluid" and "pdf" dedicated to run
simulation jobs using both products. The managers want to split the number
of Nastran licenses equally between clusters, but assign 70% of the Matlab
licenses to cluster "pdf" and the remaining 30% to cluster "fluid".</p>

<h3>Configuring Slurm for the use case</h3>
<p>Here we assume that both clusters have been configured correctly in the
<it>slurmdbd</it> using the <it>sacctmgr</i> command.</p>
<pre>
$ sacctmgr show clusters format=cluster,controlhost
   Cluster     ControlHost
---------- ---------------
     fluid     143.11.1.3
       pdf     144.12.3.2
</pre>

<p>The licenses are added using the <i>sacctmgr</i> command, specifying the
total count of licenses and the percentage that should be allocated
to each cluster. This can be done either in one step or through a
multi-step process.

<p>One step:
<pre>
$ sacctmgr add resource name=nastran cluster=fluid,pdf \
  count=100 percentallowed=50 server=flex_host
  servertype=flexlm type=license
 Adding Resource(s)
  nastran@flex_host
   Cluster - pdf        50%
   Cluster - fluid      50%
 Settings
  Name           = nastran
  Server         = flex_host
  Description    = nastran
  ServerType     = flexlm
  Count          = 100
  Type           = License
</pre>

<p>Multi-step:
<pre>
$ sacctmgr add resource name=matlab count=50 server=rlm_host \
  servertype=rlm type=license
 Adding Resource(s)
  matlab@rlm_host
 Settings
  Name           = matlab
  Server         = rlm_host
  Description    = matlab
  ServerType     = rlm
  Count          = 50
  Type           = License

$ sacctmgr add resource name=matlab server=rlm_host
  cluster=pdf percentallowed=70
Adding Resource(s)
  matlab@rlm_host
   Cluster - pdf        70%
 Settings
  Server         = rlm_host
  Type           = License

$ sacctmgr add resource name=matlab server=rlm_host
  cluster=fluid percentallowed=30
 Adding Resource(s)
  matlab@rlm_host
   Cluster - fluid     30%
 Settings
  Server         = rlm_host
  Type           = License
</pre>


<p>The <it>sacctmgr</it> command will now display the grand total
of licenses.
<pre>
$ sacctmgr show resource
      Name     Server     Type  Count % Allocated ServerType 
---------- ---------- -------- ------ ----------- ---------- 
   nastran  flex_host  License    100         100     flexlm 
    matlab   rlm_host  License     50         100        rlm 

$sacctmgr show resource withclusters
      Name     Server     Type  Count % Allocated ServerType    Cluster  % Allowed 
---------- ---------- -------- ------ ----------- ---------- ---------- ---------- 
   nastran  flex_host  License    100         100     flexlm        pdf         50 
   nastran  flex_host  License    100         100     flexlm      fluid         50 
    matlab   rlm_host  License     50         100        rlm        pdf         70 
    matlab   rlm_host  License     50         100        rlm      fluid         30 
</pre>

<p>The configured licenses are now visible on both clusters using the
<it>scontrol</it> command.
<pre>
$ scontrol show lic
LicenseName=matlab@rlm_host
    Total=35 Used=0 Free=35 Remote=yes
LicenseName=nastran@flex_host
    Total=50 Used=0 Free=50 Remote=yes

# On cluster "fluid":
$ scontrol show lic
LicenseName=matlab@rlm_host
    Total=15 Used=0 Free=15 Remote=yes
LicenseName=nastran@flex_host
    Total=50 Used=0 Free=50 Remote=yes
</pre>

<p>When submitting jobs to remote licenses, the name and server must be used.
<pre>
$ sbatch -L nastran@flex_host script.sh
Submitted batch job 5172
</pre>


<p>License percentages and counts can be modified as shown below:
<pre>
$ sacctmgr modify resource name=matlab server=rlm_host set \
  count=200
 Modified server resource ...
  matlab@rlm_host
  Cluster - pdf         - matlab@rlm_host
  Cluster - fluid       - matlab@rlm_host

$ sacctmgr modify resource name=matlab server=rlm_host \
  cluster=pdf set percentallowed=60
 Modified server resource ...
  Cluster - pdf         - matlab@rlm_host

$ sacctmgr show resource withclusters
      Name     Server     Type  Count % Allocated ServerType    Cluster  % Allowed 
---------- ---------- -------- ------ ----------- ---------- ---------- ---------- 
   nastran  flex_host  License    100         100     flexlm        pdf         50 
   nastran  flex_host  License    100         100     flexlm      fluid         50 
    matlab   rlm_host  License    200          90        rlm        pdf         60 
    matlab   rlm_host  License    200          90        rlm      fluid         30 
</pre>

<p>Licenses can be deleted either on the cluster or all together as shown:
<pre>
$ sacctmgr delete resource where name=matlab server=rlm_host \
  cluster=fluid
 Deleting resource(s)...
  Cluster - fluid      - matlab@rlm_host

$ sacctmgr delete resource where name=nastran server=flex_host
 Deleting resource(s)...
  nastran@flex_host
  Cluster - pdf        - nastran@flex_host
  Cluster - fluid      - nastran@flex_host

$ sacctmgr show resource withclusters
      Name     Server     Type  Count % Allocated ServerType    Cluster  % Allowed 
---------- ---------- -------- ------ ----------- ---------- ---------- ---------- 
    matlab   rlm_host  License    200          60        rlm      pdf         60 
</pre>



<h2>Dynamic licenses</h2>
<p>When the license counter and percentage is updated using the <it>sacctmgr</it>
command, the values are updated in the database and the updated values are sent
to the slurmctld daemon.
It is possible for sites to write a script that detects global license counter
changes due to new licenses being added, or old licenses being removed, and
updates Slurm. Should the license count decrease, the running jobs will not be
affected only the dispatch of new job will reflect the new license count.</p>

<p class="footer"><a href="#top">top</a></p>

<p style="text-align:center;">Last modified 2 February 2015</p>

</div> <!-- closes "row" -->
</div> <!-- closes "content" -->
<div id="row">
<div id="footer">
<div id="left">&nbsp;&nbsp;<a href="disclaimer.html" target="_blank" class="privacy">Legal Notices</a></div>
<div id="right"><span class="ucrlnum"></span></div>
</div>

<div id="footer2">
<div style="clear:both;"></div>
</div>
</div> <!-- closes "row" -->

</div> <!-- closes "container" -->

</body>
</html>