Josh Elser updated ACCUMULO-4177:
Status: Resolved (was: Patch Available)
Committed! Thanks so much, [~ben.manes]. This is nice work.
I did run some trivial "benchmarks" locally with YCSB's workloadA (one
iteration for LRU, and one for TinyLFU): https://paste.apache.org/xPrh. TinyLFU
appears to have brought down average latency on reads which is nice (although
p99 did increase), but these are far from definitive benchmarks. I think we
should run some better tests and see if we want to make tinylfu the default.
Inspecting the logs, I did notice that the logging you added could be improved
slightly for clarity. I filed ACCUMULO-4465 for that task.
And finally, in recognition of your contribution, I'd be happy to add you to
our [contributor's page|http://accumulo.apache.org/people]. If you'd like to be
added, (optionally) let me know of an org/TZ you'd like included in addition to
your name. Thanks!
> TinyLFU-based BlockCache
> Key: ACCUMULO-4177
> URL: https://issues.apache.org/jira/browse/ACCUMULO-4177
> Project: Accumulo
> Issue Type: Improvement
> Reporter: Ben Manes
> Assignee: Ben Manes
> Fix For: 2.0.0
> Attachments: ACCUMULO-4177.patch
> Time Spent: 10m
> Remaining Estimate: 0h
> appears to be based on HBase's. I currently have a patch being reviewed in
> [HBASE-15560|https://issues.apache.org/jira/browse/HBASE-15560] that replaces
> the pseudo Segmented LRU with the TinyLFU eviction policy. That should allow
> the cache to make [better
> predictions|https://github.com/ben-manes/caffeine/wiki/Efficiency] based on
> frequency and recency, such as improved scan resistance. The implementation
> uses [Caffeine|https://github.com/ben-manes/caffeine], the successor to
> Guava's cache, to provide concurrency and keep the patch small.
> Full details are in the JIRA ticket. I think it should be easy to port if
> there is interest.
This message was sent by Atlassian JIRA