cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Benedict (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-11452) Cache implementation using LIRS eviction for in-process page cache
Date Thu, 14 Apr 2016 23:15:25 GMT


Benedict commented on CASSANDRA-11452:

Breaking out of nesting hell...

bq. I'd probably jitter when as the selection of the victim near the top of the loop

I think it's better for the jitter to not affect the victim, since if there is a collision
that doesn't get flushed out that would permit the cache efficiency to remain degraded indefinitely
(with far fewer admissions, so lower adaptation of the cache and greater reliance on the smaller
LRU and the access behaviours there).

As far as I can tell the actual value used for determining admission doesn't in any way need
to be coupled to the victim.  It's possible there are plenty of other ways of arriving at
a good threshold, and perhaps they should even be explored.  For instance, just riffing here,
if one were to massively increase the size of the sketches, lengthen their lifecycle, and
shrink the main LRU, raising the threshold may raise the efficiency of the cache overall by
only admitting elements with a very high chance of reuse, even if they have less available
space.  Obviously highly dependent on the data distribution.  It's possible but the best strategies
could even be calculated by the statistics one could infer from the sketches.  There's a wealth
of possible avenues to explore.

bq. Do you think the random seed used by the sketch is still a good addition?

I don't recall that suggestion, and don't see a corresponding change in the codebase; remind

bq.  I won't have the bandwidth to test this until the evening.

No worries - I'm certainly not rushing you.  This is just a fun little distraction for me.

> Cache implementation using LIRS eviction for in-process page cache
> ------------------------------------------------------------------
>                 Key: CASSANDRA-11452
>                 URL:
>             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

View raw message