Proceedings of the 41st ACM SIGPLAN Conference on Programming Language Design and Implementation 2020
DOI: 10.1145/3385412.3386008
|View full text |Cite
|
Sign up to set email alerts
|

CacheQuery: learning replacement policies from hardware caches

Abstract: We show how to infer deterministic cache replacement policies using off-the-shelf automata learning and program synthesis techniques. For this, we construct and chain two abstractions that expose the cache replacement policy of any set in the cache hierarchy as a membership oracle to the learning algorithm, based on timing measurements on a silicon CPU. Our experiments demonstrate an advantage in scope and scalability over prior art and uncover 2 previously undocumented cache replacement policies.

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2
1

Citation Types

0
24
0

Year Published

2020
2020
2024
2024

Publication Types

Select...
4
3
1

Relationship

0
8

Authors

Journals

citations
Cited by 30 publications
(24 citation statements)
references
References 29 publications
0
24
0
Order By: Relevance
“…Another relevant issue is investigating a learned strategy [33][34][35] to implement the adaptive mechanism in AMG-Buffer. It has been a hot topic in recent years to use machine learning models for optimizing database components [36].…”
Section: Discussionmentioning
confidence: 99%
“…Another relevant issue is investigating a learned strategy [33][34][35] to implement the adaptive mechanism in AMG-Buffer. It has been a hot topic in recent years to use machine learning models for optimizing database components [36].…”
Section: Discussionmentioning
confidence: 99%
“…As a consequence, eviction-based side channels such as Evict+ Reload, Evict+Time, Prime+Probe, or Reload+Refresh are not detected. However, related work [34,94,95] showed that eviction strategies can also be found automatically. Moreover, for specific problems, the search space can be reduced by mutating existing instruction sequences (similar to Medusa [65]) or instruction operands instead of randomly generating them.…”
Section: Discussionmentioning
confidence: 99%
“…Recent measurement-based approaches [1,2,65] to automatically derive cache models are also naturally limited to models satisfying data independence. Our warping cache simulator supports LRU, FIFO, PLRU [3], and Quad-age LRU [39,40], which allows to model the L1 and L2 caches of most recent Intel microarchitectures [2,65]. Other policies can be added as long as they satisfy data independence.…”
Section: Cache Setsmentioning
confidence: 99%
“…Traditional cache simulators, such as Dinero IV [20] or CASPER [38], simulate a program's cache behavior by explicitly iterating over the trace of memory accesses generated by the program. The advantage of this approach is that it is applicable to arbitrary workloads and it is possible to precisely model modern memory hierarchies, including sophisticated cache replacement policies, such as Pseudo-LRU [3] or Quad-age LRU [39,40] found in real-world microarchitectures [2,65]. The main drawback of traditional simulators is that their runtime is proportional to the number of memory accesses a program performs.…”
Section: Introductionmentioning
confidence: 99%