-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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
Tiered caching, off-heap cache support #1211
Comments
Request admins to remove the BUG label, missed categorizing it |
The custom CacheBuilder is incredibly slow. A simple concurrency benchmark shows it to be worse than a synchronized LRU cache.
The hit rate of this cache is not very good, e.g. search workloads typically are frequency-biased.
Regardless of how you evolve the caches, ideally they should not themselves be a bottleneck. |
Thanks @ben-manes would you be able to share details on the set-up, the numbers are certainly interesting. |
This jmh benchmark uses a Zipfian distribution to emulate hotspots in the request pattern. That references The simulator provides a hit rate analysis, where the WebSearch traces can be downloaded from UMass. Of course different workloads favor different policies, so this summary of the most interesting variety demonstrates a policy can be robustly a top performer. The research papers include more scenarios. |
Hi @Bukhtawar, are you actively working on this? if yes, please assign it yourself. |
It's pretty clear that in isolation the cache used in OpenSearch is not particularly performant. I think the next steps here are to benchmark the performance in the full system, ensure we're capturing all the right cache-level metrics, and then prototype cache replacements and measure the impact. We're probably not going to pick this up in the short term but if there is more data suggesting that this is a more pressing problem please do provide that information here. |
@maosuhan opened elastic/elasticsearch#69646 which indicated a bottleneck due to this cache. It is not a theoretical problem, but there isn't a lot of details for how to reproduce so as to not blindly jump to the conclusion that the cache should be improved to resolve that lock contention. |
Describe the bug
The existing caches are based out of heap which suffers from
Proposal
As a result of these factors using the filesystem and relying on pagecache is superior to maintaining an in-memory cache or other structure. Furthermore, this cache will stay warm even if the service is restarted, whereas the in-process cache will need to be rebuilt in memory (which likely means terrible initial performance).
To Reproduce
Steps to reproduce the behavior:
Expected behavior
A clear and concise description of what you expected to happen.
Plugins
Please list all plugins currently enabled.
Screenshots
If applicable, add screenshots to help explain your problem.
Host/Environment (please complete the following information):
Additional context
Add any other context about the problem here.
The text was updated successfully, but these errors were encountered: