Download presentation
Published byZion Millage Modified over 10 years ago
1
ARC: A self-tuning, low overhead Replacement Cache
Nimrod Megiddo and Dharmendra S. Modha Presented by Gim Tcaesvk
2
Cache Cache is expensive.
The replacement policy is the only algorithm of interest.
3
Cache management problem
Maximize the hit rate. Minimize the overhead. Computation Space
4
Belady’s MIN Replaces the furthest referenced page.
Optimum for every case. Provides upper bound of hit ratio. But, Who knows the future?
5
LRU (Least Recently Used)
Replaces the least recently used page. Optimum policy for SDD (Stack Depth Distribution). Captures recency but not frequency. 2 3 2 1 3 2 2 3 2 2 3 1 1 2 3 2 3 2 1 1 3
6
LFU (Least Frequently Used)
Replaces the least frequently used page. Optimum policy for IRM (Independent Reference Model). Captures frequency but not recency. 1 1 1 2 3 3 2 1
7
Drawbacks of LFU Logarithmic complexity in cache size
High frequently used page is hardly to paged out. Even if it is no longer useful.
8
LRU-2 Replaces the least 2nd recently used page.
Optimum online policy which knows at most 2 most recent reference for IRM.
9
Limitations of LRU-2 Logarithmic complexity Tunable parameter,
Due to priority queue Tunable parameter, CIP (Correlated Information Period) 2(2,4) 1(1,3) 0(-∞,0)
10
2Q (modified LRU-2) Uses simple LRU list instead of the priority queue. Two parameter, Kin and Kout Kin=Correlated Information Period Kout=Retained Information Period
11
LIRS (Low Inter-reference Recency Set)
Maintains 2 LRU stacks of different size. Llirs maintains LRU page at least twice recently seen. Lhirs maintains LRU page only once recently seen. Works well for IRM, but not for SDD.
12
FBR (Frequency-Base Replacement)
Divide LRU list into 3 sections; New Reference count in new section is not incremented. Middle Old Replaces page in old section with smallest reference count.
13
LRFU (Least Recently/Frequently Used)
Exponential smoothing. λ is hard to tune.
14
MQ (Multi-Queue) Uses m LRU queues Q0, Q1, … Qm-1
Qi contains page that have been seen [2i,2i+1) times recently.
15
Introducing a Class of Replacement Policies
16
DBL(2c): DouBLe Maintains 2 variable-sized lists. Holds 2c pages.
17
DBL(2c) flow True False True False
Most recent c page will always be contained.
18
: A new class of policy
19
FRCp(Fixed Replacement Cache)
FRCp(c) is tuned We define a parameter p such that. 0≤p≤c.
20
FRCp(c) flow True False Delete Delete Replace Replace
21
ARC (Adaptive Replacement Cache)
US Patent Assignee Name: IBM Corp.
22
ARC (Adaptive RC) Adaptation parameter p∈[0,c]
For a given (fixed) value of p, Exactly same as FRCp. But it learns! ARC continuously adapts and tunes p.
23
Learning We should
24
ARC flow True False Delete Delete Replace Replace
25
Scan-Resistant Long sequence of 1-time-only reads will pass through L1. Less hits will be encountered in B1 compared to B2. If hit in B1, T2 will grow by learning.
26
ARC example 2 1 p=2 p=2 p=3 1 B2 2 1 T2 1 2 1 3 4 2 5 6 7 T1 6 1 2 3 4 7 5 5 4 3 2 B1 4 6 3 2 5 1 2 4 3 3
27
Experiment Various traces used in this paper.
28
Experiment: Hit ratio of OLTP
ARC Outperforms online parameter algorithms. Performs as well as offline parameter algorithms.
29
Experiment: Hit ratio (cont.)
MQ outperforms LRU, while ARC outperforms all.
30
Experiment: Hit ratio (cont.)
Comparison for various workloads shows ARC outperforms.
31
Experiment: Cache size of P1
ARC performs always better than LRU.
32
Experiment: parameter p
“Dances to the tune being played by workload.”
33
Summary ARC Is online and self-tuning.
Is robust for a wider range of workloads. Has less overhead Is scan-resistant. Outperforms LRU.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.