Corpus ID: 220250203

An Imitation Learning Approach for Cache Replacement

@article{Liu2020AnIL,
  title={An Imitation Learning Approach for Cache Replacement},
  author={Evan Zheran Liu and Milad Hashemi and Kevin Swersky and Parthasarathy Ranganathan and Junwhan Ahn},
  journal={ArXiv},
  year={2020},
  volume={abs/2006.16239}
}
Program execution speed critically depends on increasing cache hits, as cache hits are orders of magnitude faster than misses. To increase cache hits, we focus on the problem of cache replacement: choosing which cache line to evict upon inserting a new line. This is challenging because it requires planning far ahead and currently there is no known practical solution. As a result, current replacement policies typically resort to heuristics designed for specific common access patterns, which fail… Expand
Machine Learning-Based Cache Replacement Policies: A Survey
Despite extensive developments in improving cache hit rates, designing an optimal cache replacement policy that mimics Belady’s algorithm still remains a challenging task. Existing standard staticExpand
DEAP Cache: Deep Eviction Admission and Prefetching for Cache
TLDR
This work uses an online reinforcement learning technique to learn the optimal policy distribution between two orthogonal eviction strategies based on frequency and recency, and model the distribution of the data in an online fashion using Kernel Density Estimation to deal with the problem of caching non-stationary data. Expand
Pythia: A Customizable Hardware Prefetching Framework Using Online Reinforcement Learning
TLDR
Pythia is proposed, which formulates the prefetcher as a reinforcement learning agent and outperforms two state-of-the-art prefetchers by 3.4% and 3.8% over a wide range of workloads and system configurations. Expand
Robust Learning-Augmented Caching: An Experimental Study
TLDR
This work is the first to comprehensively evaluate learning-augmented algorithms on real-world caching datasets and state-of-theart machine-learned predictors and shows that a straightforward method has only a low overhead over a wellperforming predictor, while competing with classical methods when the coupled predictor fails, thus providing a cheap worst-case insurance. Expand
Ripple: Profile-Guided Instruction Cache Replacement for Data Center Applications
TLDR
Ripple, a novel software-only technique that profiles programs and uses program context to inform the underlying replacement policy about efficient replacement decisions, is proposed and demonstrated that Ripple enables any replacement policy to achieve speedup that is closer to that of an ideal I-cache. Expand
Phoebe: Reuse-Aware Online Caching with Reinforcement Learning for Emerging Storage Models
TLDR
Phoebe is proposed, a reuse-aware reinforcement learning framework for the optimal online caching that is applicable for a wide range of emerging storage models and is able to close the gap of cache miss rate from LRU and a state-of-the-art online learning based cache policy to the Belady's optimal policy. Expand
DATA CENTER STORAGE SYSTEMS
Storage services in data centers continuously make decisions, such as for cache admission, prefetching, and block allocation. These decisions are typically driven by heuristics based on statisticalExpand
GRAPHSPY: Fused Program Semantic-Level Embedding via Graph Neural Networks for Dead Store Detection
TLDR
This work presents a novel, hybrid program embedding approach so that to derive unnecessary memory operations through the embedding, which achieves 90% of accuracy and incurs only around a half of time overhead of the state-of-art tool. Expand
Online Paging with a Vanishing Regret
TLDR
This paper considers a variant of the online paging problem, where the online algorithm has access to multiple predictors, each producing a sequence of predictions for the page arrival times, and states that this assumption suffices for the design of a randomized online algorithm whose time-average regret with respect to the optimal offline algorithm tends to zero as the time tends to infinity. Expand
Imitation Learning: Progress, Taxonomies and Opportunities
TLDR
This survey provides a systematic review on imitation learning, introducing the background knowledge from development history and preliminaries, followed by presenting different taxonomies within Imitation Learning and key milestones of the field. Expand
...
1
2
...

References

SHOWING 1-10 OF 51 REFERENCES
Back to the Future: Leveraging Belady's Algorithm for Improved Cache Replacement
  • Akanksha Jain, Calvin Lin
  • Computer Science
  • 2016 ACM/IEEE 43rd Annual International Symposium on Computer Architecture (ISCA)
  • 2016
TLDR
This paper explains how a cache replacement algorithm can nonetheless learn from Belady's algorithm by applying it to past cache accesses to inform future cache replacement decisions, and shows that the implementation is surprisingly efficient. Expand
Adaptive insertion policies for high performance caching
TLDR
A Dynamic Insertion Policy (DIP) is proposed to choose between BIP and the traditional LRU policy depending on which policy incurs fewer misses, and shows that DIP reduces the average MPKI of the baseline 1MB 16-way L2 cache by 21%, bridging two-thirds of the gap between LRU and OPT. Expand
A Case for MLP-Aware Cache Replacement
TLDR
Evaluations with the SPEC CPU2000 benchmarks show that MLP-aware cache replacement can improve performance by as much as 23% and a novel, low-hardware overhead mechanism called sampling based adaptive replacement (SBAR) is proposed, to dynamically choose between an MLp-aware and a traditional replacement policy, depending on which one is more effective at reducing the number of memory related stalls. Expand
SHiP: Signature-based Hit Predictor for high performance caching
TLDR
This paper proposes a novel Signature-based Hit Predictor (SHiP) to learn the re-reference behavior of cache lines belonging to each signature, and finds that SHiP offers substantial improvements over the baseline LRU replacement and state-of-the-art replacement policy proposals. Expand
Applying Deep Learning to the Cache Replacement Problem
TLDR
This paper shows that for cache replacement, a powerful LSTM learning model can in an offline setting provide better accuracy than current hardware predictors, and designs a simple online model that matches the offline model's accuracy with orders of magnitude lower cost. Expand
High performance cache replacement using re-reference interval prediction (RRIP)
TLDR
This paper proposes Static RRIP that is scan-resistant and Dynamic RRIP (DRRIP) that is both scan- resistant and thrash-resistant that require only 2-bits per cache block and easily integrate into existing LRU approximations found in modern processors. Expand
Learning Memory Access Patterns
TLDR
The potential of deep learning to address the von Neumann bottleneck of memory performance is demonstrated, and contemporary prefetching strategies to n-gram models in natural language processing are related, and recurrent neural networks can serve as a drop-in replacement. Expand
Sampling Dead Block Prediction for Last-Level Caches
TLDR
This paper introduces sampling dead block prediction, a technique that samples program counters (PCs) to determine when a cache block is likely to be dead, and shows how this technique can reduce the number of LLC misses over LRU and be used to significantly improve a cache with a default random replacement policy. Expand
Maximizing Cache Performance Under Uncertainty
TLDR
These results show that formalizing cache replacement yields practical benefits, and propose that practical policies should replace lines based on their economic value added (EVA), the difference of their expected hits from the average. Expand
Improving direct-mapped cache performance by the addition of a small fully-associative cache and prefetch buffers
  • N. Jouppi
  • Computer Science
  • [1990] Proceedings. The 17th Annual International Symposium on Computer Architecture
  • 1990
TLDR
Hardware techniques for improving the performance of caches are presented and stream buffers prefetch cache lines starting at a cache miss address, which are useful in removing capacity and compulsory cache misses, as well as some instruction cache conflict misses. Expand
...
1
2
3
4
5
...