accumulo-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Josh Elser (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (ACCUMULO-4177) TinyLFU-based BlockCache
Date Fri, 16 Sep 2016 20:57:20 GMT

     [ https://issues.apache.org/jira/browse/ACCUMULO-4177?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Josh Elser updated ACCUMULO-4177:
---------------------------------
    Resolution: Fixed
        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
>
> [LruBlockCache|https://github.com/apache/accumulo/blob/master/core/src/main/java/org/apache/accumulo/core/file/blockfile/cache/LruBlockCache.java]
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
(v6.3.4#6332)

Mime
View raw message