lumiera_/src/vault
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
..
gear Scheduler-test: implement contention mitigation scheme 2023-12-20 20:25:17 +01:00
mem Library: Uninitialised-Storage array (see #1204) 2023-12-02 23:56:46 +01:00
common.hpp Scheduler: devise the arrangement of basic components 2023-06-24 03:14:17 +02:00
DIR_INFO Global-Layer-Renaming: rearrange directories 2018-11-15 23:28:03 +01:00
enginefacade.cpp Library/Application: consolidate Monitor API and usage 2023-10-15 20:42:55 +02:00
enginefacade.hpp PlaybackVerticalSlice: design analysis for Frame Dispatcher and Scheduler 2023-04-14 04:43:39 +02:00
media-access-facade.cpp Global-Layer-Renaming: rename namespaces 2018-11-15 23:55:13 +01:00
media-access-facade.hpp Global-Layer-Renaming: adjust namespace qualification 2018-11-15 23:59:23 +01:00
netnodefacade.cpp Library/Application: consolidate Monitor API and usage 2023-10-15 20:42:55 +02:00
netnodefacade.hpp Global-Layer-Renaming: fix remaining textual usages and IDs in the code 2018-12-10 00:09:56 +01:00
real-clock.cpp Scheduler: switch to steady-clock 2023-10-28 20:58:37 +02:00
real-clock.hpp Scheduler: switch to steady-clock 2023-10-28 20:58:37 +02:00
scriptrunnerfacade.cpp Library/Application: consolidate Monitor API and usage 2023-10-15 20:42:55 +02:00
scriptrunnerfacade.hpp Global-Layer-Renaming: rename namespaces 2018-11-15 23:55:13 +01:00