LUMIERA.clone/tests/vault/gear
Ichthyostega 707fbc2933 Scheduler-test: implement contention mitigation scheme
while my basic assessment is still that contention will not play a significant
role given the expected real world usage scenario — when testing with
tighter schedule and rather short jobs (500µs), some phases of massive contention
can be observed, leading to significant slow-down of the test.

The major problem seems to be that extended phases of contention will
effectively cause several workers to remain in an active spinning-loop for
multiple microseconds, while also permanently reading the atomic lock.

Thus an adaptive scheme is introduced: after some repeated contention events,
workers now throttle down by themselves, with polling delays increased
with exponential stepping up to 2ms. This turns out to be surprisingly
effective and completely removes any observed delays in the test setup.
2023-12-20 20:25:17 +01:00
..
activity-detector-test.cpp Scheduler-test: rework handling of notifications in the Activity-Language 2023-12-16 23:47:50 +01:00
activity-detector.hpp Scheduler-test: rework handling of notifications in the Activity-Language 2023-12-16 23:47:50 +01:00
block-flow-test.cpp Scheduler: connect BlockFlow capacity announcement 2023-11-10 23:52:20 +01:00
scheduler-activity-test.cpp Scheduler-test: rework handling of notifications in the Activity-Language 2023-12-16 23:47:50 +01:00
scheduler-commutator-test.cpp Scheduler-test: implement contention mitigation scheme 2023-12-20 20:25:17 +01:00
scheduler-invocation-test.cpp Scheduler: reconciled into clearer design 2023-11-04 04:49:13 +01:00
scheduler-load-control-test.cpp Scheduler: connect BlockFlow capacity announcement 2023-11-10 23:52:20 +01:00
scheduler-service-test.cpp Scheduler-test: Integration-test now running smoothly 2023-12-18 23:34:10 +01:00
scheduler-stress-test.cpp Scheduler-test: planning for stress-tests 2023-12-19 21:06:23 +01:00
scheduler-usage-test.cpp Scheduler: plan for integration 2023-10-20 00:59:50 +02:00
special-job-fun-test.cpp Scheduler-test: a helper for one-time operations 2023-12-08 03:16:57 +01:00
test-chain-load-test.cpp Scheduler-test: Integration-test now running smoothly 2023-12-18 23:34:10 +01:00
test-chain-load.hpp Scheduler-test: retract support for ''self-inhibition'' 2023-12-19 21:07:33 +01:00
work-force-test.cpp Scheduler-test: implement contention mitigation scheme 2023-12-20 20:25:17 +01:00