Skip to content

Commit 5add3bc

Browse files
committed
EH: CS-1722: jsv_allowed_mod does not respect new binding specific switches
1 parent a8bb90a commit 5add3bc

File tree

2 files changed

+62
-18
lines changed

2 files changed

+62
-18
lines changed

doc/markdown/man/man1/submit.include.md

Lines changed: 33 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -219,6 +219,10 @@ modified dynamically through the JSV interface to adapt job placement
219219
policy without user intervention. (see `-jsv` option below or find more
220220
information concerning JSV in xxqs_name_sxx_jsv(1))
221221

222+
If a server JSV script is present, all attempts to modify binding-specific parameters using
223+
`qalter` are rejected unless the *jsv_allowed_mod* parameter in the global
224+
configuration (see xxqs_name_sxx_conf(5)) includes the entry *binding*.
225+
222226
## -binstance *instance*
223227

224228
The -binstance switch defines the binding instance that realizes core binding on a machine.
@@ -236,6 +240,15 @@ Instances:
236240
* env — Binding is user-defined; the scheduler provides binding information in GCS_BINDING_CPUSET and SGE_BINDING_TOPOLOGY, but no binding is performed automatically.
237241
* pe — Binding is MPI-defined; binding data is written to the fourth column of the pe_hostfile as socket:core\[,socket:core...\], with numbering starting at 0 (e.g. 0:0,0:1 = cores 0 and 1 on socket 0). Depending on the MPI implementation, this additional column may be evaluated automatically to perform binding. Some MPI runtimes require additional switches, environment variables, or conversion of the socket/core format for use via runtime options or a rankfile mechanism. Consult your MPI documentation for details.
238242

243+
All *`-b...`* switches, including `-binstance`, can be modified dynamically
244+
through the JSV interface to adapt job placement policy without user
245+
intervention. (see `-jsv` option below or find more information concerning
246+
JSV in xxqs_name_sxx_jsv(1)).
247+
248+
If a server JSV script is present, all attempts to modify binding-specific parameters using
249+
`qalter` are rejected unless the *jsv_allowed_mod* parameter in the global
250+
configuration (see xxqs_name_sxx_conf(5)) includes the entry *binding*.
251+
239252
## -btype *binding_type*
240253

241254
Available for `qsub`, `qrsh`, `qsh`, `qlogin`, and `qalter` only.
@@ -290,6 +303,10 @@ modified dynamically through the JSV interface to adapt job placement
290303
policy without user intervention. (see `-jsv` option below or find more
291304
information concerning JSV in xxqs_name_sxx_jsv(1))
292305

306+
If a server JSV script is present, all attempts to modify binding-specific parameters using
307+
`qalter` are rejected unless the *jsv_allowed_mod* parameter in the global
308+
configuration (see xxqs_name_sxx_conf(5)) includes the entry *binding*.
309+
293310
## -bunit *binding_unit*
294311

295312
Available for `qsub`, `qrsh`, `qsh`, `qlogin`, and `qalter` only.
@@ -380,6 +397,10 @@ through the JSV interface to adapt job placement policy without user
380397
intervention. (see `-jsv` option below or find more information concerning
381398
JSV in xxqs_name_sxx_jsv(1))
382399

400+
If a server JSV script is present, all attempts to modify binding-specific parameters using
401+
`qalter` are rejected unless the *jsv_allowed_mod* parameter in the global
402+
configuration (see xxqs_name_sxx_conf(5)) includes the entry *binding*.
403+
383404
## -bfilter *filter_expression*
384405

385406
Available for `qsub`, `qrsh`, `qsh`, `qlogin`, and `qalter` only.
@@ -422,7 +443,9 @@ through the JSV interface to adapt job placement policy without user
422443
intervention. (see `-jsv` option below or find more information concerning
423444
JSV in xxqs_name_sxx_jsv(1))
424445

425-
---
446+
If a server JSV script is present, all attempts to modify binding-specific parameters using
447+
`qalter` are rejected unless the *jsv_allowed_mod* parameter in the global
448+
configuration (see xxqs_name_sxx_conf(5)) includes the entry *binding*.
426449

427450
## -bsort *binding_sort_order*
428451

@@ -510,7 +533,9 @@ through the **JSV interface** to adapt job placement policy without user
510533
intervention (see the `-jsv` option below or refer to
511534
`xxqs_name_sxx_jsv(1)` for more information).
512535

513-
---
536+
If a server JSV script is present, all attempts to modify binding-specific parameters using
537+
`qalter` are rejected unless the *jsv_allowed_mod* parameter in the global
538+
configuration (see xxqs_name_sxx_conf(5)) includes the entry *binding*.
514539

515540
## -bstart *unit*, -bstop *unit*
516541

@@ -574,6 +599,10 @@ dynamically through the JSV interface to adapt job placement policy without
574599
user intervention. (see `-jsv` option below or find more information
575600
concerning JSV in xxqs_name_sxx_jsv(1))
576601

602+
If a server JSV script is present, all attempts to modify binding-specific parameters using
603+
`qalter` are rejected unless the *jsv_allowed_mod* parameter in the global
604+
configuration (see xxqs_name_sxx_conf(5)) includes the entry *binding*.
605+
577606
## -binding [ *binding_instance* ] *binding_strategy*
578607

579608
Not available anymore. Use the following options instead: `-bunit`, `-bamount`, `-btype`, `-bfilter`, `-binstance`.
@@ -582,8 +611,8 @@ Gridware Cluster Scheduler additionally provides: `-bsort`, `-bstart`, `-bstop`.
582611
Starting with **OCS 9.0.1** and **GCS 9.1**, CPU binding is managed directly by the scheduler.
583612
Binding requests are treated as **resource requirements**; jobs start only when
584613
the requested topology region can be guaranteed.
585-
This approach treats CPU components such as sockets, cores, threads, and memory
586-
units as consumable resources managed by the scheduler.
614+
This approach treats CPU components such as sockets, dies, cores, threads, and memory
615+
units (NUMA nodes and L2/L3 caches) as consumable resources managed by the scheduler.
587616

588617
## -b *y\[es\]* \| *n\[o\]*
589618

doc/markdown/man/man5/sge_conf.md

Lines changed: 29 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1144,27 +1144,37 @@ limit of 60000 get requests will allow about 4000 *qstat -f* commands per second
11441144

11451145
Used to define default binding behavior of jobs in the xxQS_NAMExx qmaster. Changes to the *binding_params* takes immediate effect. The following values are recognized:
11461146

1147+
***default_unit***
1148+
1149+
default is *C*. Defines the default binding unit for implicit binding requests if they are enabled via *implicit*
1150+
parameter.
1151+
1152+
***filter***
1153+
1154+
default is *NONE*. Can be set to *first_core* to disallow binding to the first core of the first socket. This reserves
1155+
that core for other activities on compute nodes (other processes, interrupt handling, IO, ...)
1156+
11471157
***implicit***
11481158

11491159
default is *false*. Allows enabling implicit binding requests for jobs that do not have explicit binding requests.
1150-
For jobs with implicit request the binding amount will correspond to the amount of slots. Implicit binding unit is
1160+
For jobs with implicit request the binding amount will correspond to the amount of slots. Implicit binding unit is
11511161
defined by default_unit.
11521162

1153-
***default_unit***
1154-
1155-
default is *C*. Defines the default binding unit for implicit binding requests if they are enabled via *implicit*
1156-
parameter.
1163+
***mode***
1164+
default is *DEFAULT*. Influences the topology reporting of the execution hosts. Possible values are:
1165+
*DEFAULT*, *OCS* and *GCS*. In Open Cluster Scheduler (OCS) the value for *DEFAULT* correspond with *OCS* mode. In Gridware
1166+
Cluster Scheduler (GCS) the value for *DEFAULT* corresponds to *GCS* mode.
1167+
The Gridware Cluster Scheduler product allows to change the mode to *OCS* so that the products topology reporting
1168+
remains compatible to OCS installations. In *OCS* mode memory units (NUMA nodes or CPU caches) are not reported.
1169+
*GCS* mode is not available in Open Cluster Scheduler installations. Attempts to set the mode to *GCS* in OCS installations
1170+
will be ignored.
1171+
Changing this parameter requires a restart of the sge_qmaster(8) process to take effect.
11571172

11581173
***on_any_host***
11591174

11601175
default is *true*. Enables scheduling of jobs with binding request to hosts that do not report topology information
11611176
or that do not support binding.
11621177

1163-
***filter***
1164-
1165-
default is *NONE*. Can be set to *first_core* to disallow binding to the first core of the first socket. This reserves
1166-
that core for other activities on compute nodes (other processes, interrupt handling, IO, ...)
1167-
11681178
## reporting_params
11691179

11701180
Used to define the behavior of reporting modules in the xxQS_NAMExx qmaster. Changes to the *reporting_params*
@@ -1389,10 +1399,15 @@ The syntax of the *jsv_url* is specified in xxqs_name_sxx_types(1).
13891399

13901400
If there is a server JSV script defined with *jsv_url* parameter, then all qalter(1) modification requests for jobs are
13911401
rejected by qmaster. With the *jsv_allowed_mod* parameter an administrator has the possibility to allow a set of
1392-
switches which can then be used with clients to modify certain job attributes. The value for this parameter has to be
1393-
a comma separated list of JSV job parameter names as they are documented in qsub(1) or the value *none* to indicate
1394-
that no modification should be allowed. *none* Please note that even if *none* is specified the switches
1395-
`-w` and `-t` are allowed for qalter.
1402+
switches which can then be used with clients to modify certain job attributes.
1403+
1404+
The value for this parameter has to be a comma separated list of JSV job parameter names as they are documented in
1405+
qsub(1) or the value *none* to indicate that no modification should be allowed. Please note that even if *none* is
1406+
specified the switches `-w` and `-t` are allowed for qalter.
1407+
1408+
Please note that for certain switches or switch combinations there are exceptions where the name that has to be
1409+
specified here does not correspond to the name of the switch as documented in qsub(1). Exceptions are also mentioned
1410+
in the qsub(1) documentation.
13961411

13971412
## libjvm_path
13981413

0 commit comments

Comments
 (0)