-
Notifications
You must be signed in to change notification settings - Fork 452
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Maximum CPU time - spread tasks evenly over timeslot #4181 #4207
base: master
Are you sure you want to change the base?
Conversation
Codecov Report
@@ Coverage Diff @@
## master #4207 +/- ##
=============================================
+ Coverage 7.01% 23.21% +16.19%
Complexity 756 756
=============================================
Files 278 100 -178
Lines 34962 7130 -27832
Branches 1507 1507
=============================================
- Hits 2452 1655 -797
+ Misses 32398 5363 -27035
Partials 112 112 |
I don't understand what this does, or what problem it solves; please explain. |
From the ticket: Describe the problem Describe the solution you'd like First second: run 2 tasks out of the 8 (tasks 1, 2) This would provide a better user experience: Fans will not throttle up and down that aggressively reducing noise Note: It would be beneficial that CPU % LOAD is separately configurable to GPU % LOAD. Same concept, but time slots also take into account amount of GPUs installed in the system. |
- The old algorithm enabled enable all tasks at the same time, starving CPU cache and memory bandwidth. - The old algorithm did not optimaly make use of XFR because again all threads where enabled and disable in sync - The old algorithm put more strain on PSU and VRMs as there are high power spikes every time The new algorithm should result on more stable and lower temperatures on most CPUs while increasing overall throuput.
Such behavior can already be achieved by configuring: Use 25% of the CPUs, use 100% of CPU time. |
Fixes #4181
Description of the Change
Modified the behavior of cpu_usage_limit to run tasks spread over a 100 second window, instead of all at once.
Alternate Designs
The old implementation gave a bad user experience, as all tasks where running for a short time, blocking to PC for other processes. This implementation will smooth out the cpu usage over a longer time window.
Release Notes
Changed the cpu_usage_limit throttling behavior to spread out tasks over time.