cassandra-commits mailing list archives

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


Ben Manes commented on CASSANDRA-11452:

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

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.

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

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.

There's a wealth of possible avenues to explore.

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