Skip to content

Commit bd23bc4

Browse files
author
Vasileios Karakasis
authored
Merge pull request #1428 from vkarak/feat/default-max-jobs
[feat] Increase default concurrency of asynchronous execution policy to 8 jobs
2 parents 2ab91d3 + 7152bd8 commit bd23bc4

File tree

5 files changed

+17
-20
lines changed

5 files changed

+17
-20
lines changed

docs/config_reference.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -298,7 +298,7 @@ System Partition Configuration
298298
.. js:attribute:: .systems[].partitions[].max_jobs
299299

300300
:required: No
301-
:default: ``1``
301+
:default: ``8``
302302

303303
The maximum number of concurrent regression tests that may be active (i.e., not completed) on this partition.
304304
This option is relevant only when ReFrame executes with the `asynchronous execution policy <pipeline.html#execution-policies>`__.

docs/tutorial_basics.rst

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -161,34 +161,33 @@ Let's run now the test:
161161
.. code-block:: none
162162
163163
[ReFrame Setup]
164-
version: 3.1-dev0 (rev: 986c3505)
164+
version: 3.1-dev2 (rev: 50d8f227)
165165
command: './bin/reframe -c tutorials/basics/hello/hello2.py -r'
166166
launched by: [email protected]
167-
working directory: '/Users/user/reframe'
167+
working directory: '/Users/user/Repositories/reframe'
168168
settings file: '<builtin>'
169-
check search path: '/Users/user/reframe/tutorials/basics/hello/hello2.py'
170-
stage directory: '/Users/user/reframe/stage'
171-
output directory: '/Users/user/reframe/output'
169+
check search path: '/Users/user/Repositories/reframe/tutorials/basics/hello/hello2.py'
170+
stage directory: '/Users/user/Repositories/reframe/stage'
171+
output directory: '/Users/user/Repositories/reframe/output'
172172
173173
[==========] Running 2 check(s)
174-
[==========] Started on Sat Jun 20 23:28:32 2020
174+
[==========] Started on Mon Jul 20 21:03:21 2020
175175
176176
[----------] started processing HelloMultiLangTest_c (HelloMultiLangTest_c)
177177
[ RUN ] HelloMultiLangTest_c on generic:default using builtin
178178
[----------] finished processing HelloMultiLangTest_c (HelloMultiLangTest_c)
179179
180180
[----------] started processing HelloMultiLangTest_cpp (HelloMultiLangTest_cpp)
181181
[ RUN ] HelloMultiLangTest_cpp on generic:default using builtin
182-
[ HOLD ] HelloMultiLangTest_cpp on generic:default using builtin
182+
[ FAIL ] (1/2) HelloMultiLangTest_cpp on generic:default using builtin [compile: 0.003s run: n/a total: 0.015s]
183183
[----------] finished processing HelloMultiLangTest_cpp (HelloMultiLangTest_cpp)
184184
185185
[----------] waiting for spawned checks to finish
186-
[ OK ] (1/2) HelloMultiLangTest_c on generic:default using builtin [compile: 1.068s run: 0.330s total: 1.431s]
187-
[ FAIL ] (2/2) HelloMultiLangTest_cpp on generic:default using builtin [compile: 0.002s run: n/a total: 0.340s]
186+
[ OK ] (2/2) HelloMultiLangTest_c on generic:default using builtin [compile: 1.257s run: 0.349s total: 1.642s]
188187
[----------] all spawned checks have finished
189188
190189
[ FAILED ] Ran 2 test case(s) from 2 check(s) (1 failure(s))
191-
[==========] Finished on Sat Jun 20 23:28:33 2020
190+
[==========] Finished on Mon Jul 20 21:03:23 2020
192191
193192
==============================================================================
194193
SUMMARY OF FAILURES
@@ -197,7 +196,7 @@ Let's run now the test:
197196
* Test Description: HelloMultiLangTest_cpp
198197
* System partition: generic:default
199198
* Environment: builtin
200-
* Stage directory: /Users/user/reframe/stage/generic/default/builtin/HelloMultiLangTest_cpp
199+
* Stage directory: /Users/user/Repositories/reframe/stage/generic/default/builtin/HelloMultiLangTest_cpp
201200
* Node list: <None>
202201
* Job type: local (id=None)
203202
* Maintainers: []
@@ -238,8 +237,8 @@ Note that you should *not* edit this configuration file in place.
238237
Here is how the new configuration file looks like with the needed additions highlighted:
239238

240239
.. literalinclude:: ../tutorials/config/settings.py
241-
:lines: 10-25,66-86,119-
242-
:emphasize-lines: 3-16,32-43
240+
:lines: 10-24,64-85,118-
241+
:emphasize-lines: 3-15,31-42
243242

244243
Here we define a system named ``catalina`` that has one partition named ``default``.
245244
This partition makes no use of any workload manager, but instead launches any jobs locally as OS processes.
@@ -676,7 +675,7 @@ Let's extend our configuration file for Piz Daint.
676675

677676
.. literalinclude:: ../tutorials/config/settings.py
678677
:lines: 10-46,53-
679-
:emphasize-lines: 17-50,72-103
678+
:emphasize-lines: 16-48,70-101
680679

681680

682681
First of all, we need to define a new system and set the list of hostnames that will help ReFrame identify it.
@@ -707,7 +706,7 @@ Notice that we do not include Clang in the list, since there is no such compiler
707706
Before looking into the definition of the new environments for the four compilers, it is worth mentioning the :js:attr:`max_jobs` parameter.
708707
This parameter specifies the maximum number of ReFrame test jobs that can be simultaneously in flight.
709708
ReFrame will try to keep concurrency close to this limit (but not exceeding it).
710-
By default, this is set to one, so you are advised to set it to a higher number if you want to increase the throughput of completed tests.
709+
By default, this is set to ``8``, so you are advised to set it to a higher number if you want to increase the throughput of completed tests.
711710

712711
The new environments are defined similarly to the ones we had for our local system, except that now we set two more parameters: the :js:attr:`modules` and the :js:attr:`target_systems`.
713712
The :js:attr:`modules` parameter is a list of environment modules that needs to be loaded, in order to make available this compiler.

reframe/schemas/config.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -448,6 +448,6 @@
448448
"systems/partitions/modules": [],
449449
"systems/partitions/variables": [],
450450
"systems/partitions/environs": [],
451-
"systems/partitions/max_jobs": 1
451+
"systems/partitions/max_jobs": 8
452452
}
453453
}

tutorials/config/settings.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
'scheduler': 'local',
2020
'launcher': 'local',
2121
'environs': ['gnu', 'clang'],
22-
'max_jobs': 10
2322
}
2423
]
2524
},
@@ -35,7 +34,6 @@
3534
'scheduler': 'local',
3635
'launcher': 'local',
3736
'environs': ['gnu', 'intel', 'pgi', 'cray'],
38-
'max_jobs': 10
3937
},
4038
{
4139
'name': 'gpu',

unittests/test_config.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -229,7 +229,7 @@ def test_select_subconfig():
229229
assert site_config.get('systems/0/partitions/0/container_platforms') == []
230230
assert site_config.get('systems/0/partitions/0/modules') == []
231231
assert site_config.get('systems/0/partitions/0/variables') == []
232-
assert site_config.get('systems/0/partitions/0/max_jobs') == 1
232+
assert site_config.get('systems/0/partitions/0/max_jobs') == 8
233233
assert len(site_config['environments']) == 6
234234
assert site_config.get('environments/@PrgEnv-gnu/cc') == 'gcc'
235235
assert site_config.get('environments/0/cxx') == 'g++'

0 commit comments

Comments
 (0)