Strong scan resistance by using inter-reference recency (distance between repeated touches) rather than simple last-touch recency.
Classify blocks as:
- LIR: low inter-reference recency (frequently reused) ⇒ protected
- HIR: high inter-reference recency (infrequently reused) ⇒ candidates for eviction
Maintain:
Sstack: tracks recency information to estimate inter-reference recencyQqueue: resident HIR blocks; eviction occurs fromQ
- Hash index
K -> EntryMeta S: stack (often an intrusive list) with pruning rules to keep it meaningfulQ: queue (often an intrusive list) for resident HIR entries
- More complex than LRU/2Q; requires careful maintenance of
Spruning invariants.
- Jiang, Zhang (2002): “LIRS: An Efficient Low Inter-reference Recency Set Replacement Policy...”.
- Wikipedia: https://en.wikipedia.org/wiki/Cache_replacement_policies