Feature #4781
openAdd Adaptive Replacement Cache (ARC) algorithm
0%
Description
I would like to suggest the implementation of the Adaptive Replacement Cache (ARC) in NFD.
Paper: https://www.usenix.org/conference/fast-03/arc-self-tuning-low-overhead-replacement-cache
ARC was developed by IBM in 2006 and keeps track of both frequently and recently used. It has shown better performance than LRU.
There are C++ implementations available.
Updated by Junxiao Shi almost 6 years ago
ARC tracks 2c pages in four lists T1, B1, T2, B2, where pages contained in T1 and T2 are stored in the cache, and pages in B1 and B2 are tracked but not stored in the cache.
In NFD 0.6, a cs::Entry
represents an entry that is stored in the cache. It cannot identify an entry that is tracked but not stored. Therefore, ARC is not implementable as a cs::Policy
subclass in current architecture.
Updated by Davide Pesavento over 3 years ago
- Subject changed from Add Adaptive Replacement Cache to NFD to Add Adaptive Replacement Cache (ARC) algorithm
- Start date deleted (
11/29/2018)
Updated by Davide Pesavento over 3 years ago
- Description updated (diff)
A potential problem is that ARC seems to be patented.
Often-cited alternatives include Clock with Adaptive Replacement (CAR), Low Inter-reference Recency Set (LIRS), and Window TinyLfu.