[
https://issues.apache.org/jira/browse/CASSANDRA-11452?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15244465#comment-15244465
]
Benedict edited comment on CASSANDRA-11452 at 4/16/16 11:29 PM:
----------------------------------------------------------------
One more variant for you: instead of random admission, with a similar (or
slightly higher) rate, walk an LRU order iterator one step and use the next
key's frequency. After each step, reset the iterator with a 1% chance.
Basically it's the same as random admission but without its blindness. Could
have a bound on frequency, but could be very low, perhaps just 3 to ignore 100%
no doubt legit rejections.
Not suggesting you go and do it, just wanted to note it for posterity as I
think it's approximately optimal. Only risk is if your finger gets referenced
and bumped to MRU, which could be guarded against.
bq. Thanks a lot for all your help on this =)
My pleasure - this is my idea of fun.
Thanks for putting together an implementation of W-TinyLFU and the trace
simulators!
was (Author: benedict):
One more variant for you: instead of random admission, with a similar (or
slightly higher) rate, walk an LRU order iterator one step and use the next
key's frequency. After each step, reset the iterator with a 1% chance.
Basically it's the same as random admission but without its blindness. Could
have a bound on frequency, but could be very low, perhaps just 3 to ignore 100%
no doubt legit rejections.
Not suggesting you go and do it, just wanted to note it for posterity as I
think it's approximately optimal. Only risk is if your finger gets referenced
and bumped to MRU, which could be guarded against.
bq. Thanks a lot for all your help on this =)
My pleasure - this is my idea of fun.
> 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)