You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Branimir Lambov (JIRA)" <ji...@apache.org> on 2016/03/31 18:46:25 UTC

[jira] [Commented] (CASSANDRA-11452) Cache implementation using LIRS eviction for in-process page cache

    [ https://issues.apache.org/jira/browse/CASSANDRA-11452?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15220189#comment-15220189 ] 

Branimir Lambov commented on CASSANDRA-11452:
---------------------------------------------

Work in progress attached [here|https://github.com/blambov/cassandra/tree/5863-cache-implementation]: 

Implements caches based on {{ConcurrentHashMap}} using FIFO, LRU and LIRS eviction strategies, implemented with lock-free queues. Also has version of the LIRS with some locking, as well as EHCache (too slow) for comparison.

LIRS does achieve better hit ratios, very obviously so for smaller cache-to-data ratios. Its latencies and throughput are similar to the Guava cache.
[Sample hit rates (using the included {{CachingBench}}) and varying the cache size)|https://docs.google.com/spreadsheets/d/1FlOFIMidbRXIXbu6wAEDBsyCiFE95XiwVz9aE7iYuh4/edit?usp=sharing]
[cstar_perf|http://cstar.datastax.com/tests/id/a7389154-f756-11e5-82e5-0256e416528f]


Next step: try an alternative for the concurrent hash map.


> Cache implementation using LIRS eviction for in-process page cache
> ------------------------------------------------------------------
>
>                 Key: CASSANDRA-11452
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-11452
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Local Write-Read Paths
>            Reporter: Branimir Lambov
>            Assignee: Branimir Lambov
>
> Following up from CASSANDRA-5863, to make best use of caching and to avoid having to explicitly marking compaction accesses as non-cacheable, we need a cache implementation that uses an eviction algorithm that can better handle non-recurring accesses.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)