-
- Downloads
[WakeupStrategy] introduce a new class to model our wakeup strategies
Add new 'throttle' wakeup strategy inspired by the algorithm used by zap, go and tokio. This tries to prevent a possible thundering herd problem and reduce contention on the scheduler by only waking a single worker at a time. It further ensures that the next worker is only notified if the previous successfully found work.
Showing
- emper/Debug.hpp 4 additions, 0 deletionsemper/Debug.hpp
- emper/Emper.hpp 1 addition, 0 deletionsemper/Emper.hpp
- emper/Runtime.cpp 2 additions, 1 deletionemper/Runtime.cpp
- emper/Runtime.hpp 17 additions, 8 deletionsemper/Runtime.hpp
- emper/Scheduler.cpp 3 additions, 0 deletionsemper/Scheduler.cpp
- emper/Scheduler.hpp 8 additions, 0 deletionsemper/Scheduler.hpp
- emper/WakeupStrategy.cpp 10 additions, 0 deletionsemper/WakeupStrategy.cpp
- emper/WakeupStrategy.hpp 128 additions, 0 deletionsemper/WakeupStrategy.hpp
- emper/meson.build 1 addition, 0 deletionsemper/meson.build
- emper/strategies/AbstractWorkStealingScheduler.cpp 5 additions, 0 deletionsemper/strategies/AbstractWorkStealingScheduler.cpp
- meson_options.txt 1 addition, 1 deletionmeson_options.txt
Loading
Please register or sign in to comment