[
https://issues.apache.org/jira/browse/CASSANDRA-11452?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15242109#comment-15242109
]
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 me?
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: 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)