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

Ben Manes commented on KUDU-613:
--------------------------------

[~mreddy] if you are able to capture workload traces (the key hash when 
querying the cache; item size if variable) then we can run it through a 
[simulator|https://github.com/ben-manes/caffeine/wiki/Simulator]. That would 
give you a rough expectation of hit rate, ability to try tuning options, etc. 
Let me know if I can help.

The authors of SLRU ([paper|https://ieeexplore.ieee.org/document/268884]) 
recommended a 20/80 split which does work out well in practice. ARC improved 
that by making it by adapting the region sizes. TinyLFU provided a better 
promotion mechanism, and hill climbing W-TinyLFU added in adaptivity in a more 
robust fashion. Those enhancements rely on maintaining historic knowledge, 
whereas SLRU is quite nice as a base structure without history. One can of 
course extend modify SLRU to use CLOCK regions instead for concurrency (avoid 
locking on access), so there is a lot of room to play based on your goals.

> Scan-resistant cache replacement algorithm for the block cache
> --------------------------------------------------------------
>
>                 Key: KUDU-613
>                 URL: https://issues.apache.org/jira/browse/KUDU-613
>             Project: Kudu
>          Issue Type: Improvement
>          Components: perf
>    Affects Versions: M4.5
>            Reporter: Andrew Wang
>            Assignee: Mahesh Reddy
>            Priority: Major
>              Labels: performance, roadmap-candidate
>
> The block cache currently uses LRU, which is vulnerable to large scan 
> workloads. It'd be good to implement something like 2Q.
> ARC (patent encumbered, but good for ideas):
> https://www.usenix.org/conference/fast-03/arc-self-tuning-low-overhead-replacement-cache
> HBase (2Q like):
> https://github.com/apache/hbase/blob/master/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/LruBlockCache.java



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to