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

Ben Manes commented on CASSANDRA-11452:
---------------------------------------

{{quote}}
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
{{quote}}

I'd expect the collision would be flushed out by the eviction when we detect 
that the victim's and candidates hash codes are equal. To me the victim means 
the item that the eviction policy selected, so the jittered LRU is selecting 
the guard. It might also be simpler code that method is long to handle the 
various edge cases.

{{quote}}
I don't recall that suggestion, and don't see a corresponding change in the 
codebase; remind me?
{{quote}}

Sorry this is existing code in the sketch, as suggested by Thomas Meuller (H2). 
That was to protect against hash collision attacks exploiting the hash 
function. I know this is a bit weak since Java originally tried that and 
switched to red-black tree bins instead. It provides a little unpredictability 
on the sketch which might be a good thing.

{{quote}}
There's a wealth of possible avenues to explore.
{{quote}}

I'm really interested to see what other avenues people take to exploit sketches 
in a cache policy. The two citations of the original paper were dismissive. I 
think the revision has more weight due to the comparative analysis. There seems 
to be a lot of optimization tricks to explore. Unfortunately good traces are 
also hard to find.

> 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)

Reply via email to