-
Notifications
You must be signed in to change notification settings - Fork 254
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
program-runtime: double program cache size #3481
Conversation
The cache is currently getting thrashed and programs are getting reloaded pretty much at every single slot. Double the cache size, which makes reloading happen only due to random eviction sometimes picking a popular entry. The JIT code size with the new cache size is about 800MB. This change reduces jit time 15x.
Backports to the beta branch are to be avoided unless absolutely necessary for fixing bugs, security issues, and perf regressions. Changes intended for backport should be structured such that a minimum effective diff can be committed separately from any refactoring, plumbing, cleanup, etc that are not strictly necessary to achieve the goal. Any of the latter should go only into master and ride the normal stabilization schedule. Exceptions include CI/metrics changes, CLI improvements and documentation updates on a case by case basis. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM.
800MB seems like a small price to pay. I'm seeing ~100ms per slot spent filtering/replenishing program cache over the last 7 days on mainnet.
Yep one odd thing I noticed is that our devboxes and canaries have about 2x worse mean program cache perf than mnb. I don't know if it's because we've got potatoes compared to mnb nodes, or if we have an actual regression in master |
Can you run a v2.0 node on your devbox for comparison? |
The cache is currently getting thrashed and programs are getting reloaded pretty much at every single slot. Double the cache size, which makes reloading happen only due to random eviction sometimes picking a popular entry. The JIT code size with the new cache size is about 800MB. This change reduces jit time 15x. (cherry picked from commit fb4adda)
Backports to the stable branch are to be avoided unless absolutely necessary for fixing bugs, security issues, and perf regressions. Changes intended for backport should be structured such that a minimum effective diff can be committed separately from any refactoring, plumbing, cleanup, etc that are not strictly necessary to achieve the goal. Any of the latter should go only into master and ride the normal stabilization schedule. |
The cache is currently getting thrashed and programs are getting reloaded pretty much at every single slot. Double the cache size, which makes reloading happen only due to random eviction sometimes picking a popular entry. The JIT code size with the new cache size is about 800MB. This change reduces jit time 15x. (cherry picked from commit fb4adda)
…3492) program-runtime: double program cache size (#3481) The cache is currently getting thrashed and programs are getting reloaded pretty much at every single slot. Double the cache size, which makes reloading happen only due to random eviction sometimes picking a popular entry. The JIT code size with the new cache size is about 800MB. This change reduces jit time 15x. (cherry picked from commit fb4adda) Co-authored-by: Alessandro Decina <[email protected]>
The cache is currently getting thrashed and programs are getting reloaded pretty much at every single slot. Double the cache size, which makes reloading happen only due to random eviction sometimes picking a popular entry. The JIT code size with the new cache size is about 800MB. This change reduces jit time 15x. (cherry picked from commit fb4adda)
The cache is currently getting thrashed and programs are getting reloaded pretty much at every single slot. Double the cache size, which makes reloading happen only due to random eviction sometimes picking a popular entry. The JIT code size with the new cache size is about 800MB. This change reduces jit time 15x. (cherry picked from commit fb4adda)
…3494) program-runtime: double program cache size (#3481) The cache is currently getting thrashed and programs are getting reloaded pretty much at every single slot. Double the cache size, which makes reloading happen only due to random eviction sometimes picking a popular entry. The JIT code size with the new cache size is about 800MB. This change reduces jit time 15x. (cherry picked from commit fb4adda) Co-authored-by: Alessandro Decina <[email protected]>
The cache is currently getting thrashed and programs are getting reloaded pretty much at every single slot. Double the cache size, which makes reloading happen only due to random eviction sometimes picking a popular entry. The JIT code size with the new cache size is about 800MB. This change reduces jit time 15x.
The cache is currently getting thrashed and programs are getting reloaded pretty much at every single slot. Double the cache size, which makes reloading happen only due to random eviction sometimes picking a popular entry.
The JIT code size with the new cache size is about 800MB.
This change reduces JIT time 15x.
Left is with PR, right is master.