-
Notifications
You must be signed in to change notification settings - Fork 2
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
How to configure ECHO? #3
Comments
The README states, "All tasks in a CPU have a shared quota = 105us in which every task runs (105us / # of tasks)". In the case not fixed value, how is the new ECHO-002 I will try
Edit: Interesting, 60fps for the WebGL blob demo, previously 56. I'm testing 6000 first. |
Hello @marioroy Sorry for late response. The shared quota is per cpu, so simply it is the maximum amount of nano seconds the running tasks per cpu have to share in one round. The smallest the value the smoothest but more context switches. The minimum value must be no less than Thank you for sharing the test results. If you don't mind sharing it here https://github.com/hamadmarri/benchmarks Could you please explain a bit on the results, or maybe just mention which is more is best or less is best. Thank you |
I had wondered about
I struggled choosing BORE v5.0.3 or ECHO v001. BORE is more responsive under CPU load; for example launching Firefox. The window appears in less than 1 second. That is possible with ECHO (~ 1 second) by running the background CPU burner with idle policy i.e. ECHO completes the CPU burner job in less time, counting prime numbers. Your video is where I learned about the WebGL Blog demonstration. Now, there is ECHO v002. It will take some time to do various testing, including Thank you for the explanation, @hamadmarri. |
Maybe the
Repeat: Quit Chrome and run normally, without fifo policy. |
The freeze issue is a problem. I experienced the (1 ~ 2 seconds) freeze two more times, using
I reverted the following v002 change back to
Edit: That did it. No freezes, and running
|
Interesting! I have to revert the RR_TIMESLICE changes and will think of new default values for both base_slice_ns and bs_shared_quota. Thank you so much for the testing and debugging |
Hello @marioroy I have done some tests and 35us is also a better value in my machine too Thank you so much 👍 |
ECHO loves
This looks mystical.
Does Hackbench wall clock time dropped from 40 seconds ( |
Hi @marioroy https://openbenchmarking.org/result/2404043-NE-DEFAULTVS48 In cpu bound tasks, the 4200 is the best so far (see Rust Mandelbrot test). The interactivity overall is better. Thank you for you efforts |
A Clear Linux user tried my ClearMod repository and compared the Vanilla native kernel (no preemption) and ECHO (XanMod + preemption + ECHO). https://community.clearlinux.org/t/nvidia-and-xanmod-cl-updates/9299/32 Very cool. |
Hi @marioroy Thank you for sharing the results. I am pleased to see that echo has some performance advantages 👍 |
Hi, @hamadmarri
Thank you for ECHO. I captured results comparing EEVDF, BORE, and ECHO. I now realize you made an update and will run again, and report back. Testing was on a 32-core box (64 CPU threads); AMD Ryzen Threadripper 3970X; NVIDIA RTX 3070; XanMod Edge 6.8.2 kernel. I'm unsure if
bs_shared_quota
is fixed or depends on the number of CPU threads?ECHO tuning
I ran 4 tasks concurrently, twice (with and without idle policy for the compute job). Afterwards, I timed a kernel compile job.
Results
Observations
idle: gives background jobs less priority, keeping ECHO responsive
fifo: gives more priority, if needed.
Blessings and grace.
The text was updated successfully, but these errors were encountered: