cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ben Manes (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-10855) Use Caffeine (W-TinyLFU) for on-heap caches
Date Sun, 07 Feb 2016 08:25:40 GMT


Ben Manes commented on CASSANDRA-10855:

I think Weibull should be fine, too.

I rebased the pull request. I don't have permissions to schedule a run on cstar (nor do I
think they should they be granted). It would be nice if Robert or another team member ran
another round of performance tests. My expectation is that in a scenario similar to a realistic
workload there will be a less I/O due to fewer cache misses. If there is a slight degredation
(or gain) in other aspects of the new cache that should have a negligible impact, as reduced
I/O will be the dominant effect. This would then provide a good argument for OHC to revisit
its eviction policy.

> Use Caffeine (W-TinyLFU) for on-heap caches
> -------------------------------------------
>                 Key: CASSANDRA-10855
>                 URL:
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Ben Manes
>              Labels: performance
> Cassandra currently uses [ConcurrentLinkedHashMap|]
for performance critical caches (key, counter) and Guava's cache for non-critical (auth, metrics,
security). All of these usages have been replaced by [Caffeine|],
written by the author of the previously mentioned libraries.
> The primary incentive is to switch from LRU policy to W-TinyLFU, which provides [near
optimal|] hit rates. It performs particularly
well in database and search traces, is scan resistant, and as adds a very small time/space
overhead to LRU.
> Secondarily, Guava's caches never obtained similar [performance|]
to CLHM due to some optimizations not being ported over. This change results in faster reads
and not creating garbage as a side-effect.

This message was sent by Atlassian JIRA

View raw message