@inproceedings{da8b956d48a947b9af559a0ac689702a,
title = "Increment - and - Freeze: Every Cache, Everywhere, All of the Time",
abstract = "One of the most basic algorithmic problems concerning caches is to compute the LRU hit-rate curve on a given trace. Unfortunately, the known algorithms exhibit poor data locality and fail to scale to large caches. It is widely believed that the LRU hit-rate curve cannot be computed efficiently enough to be used in online production settings. This has led to a large literature on heuristics that aim to approximate the curve efficiently. In this paper, we show that the poor data locality of past algorithms can be avoided. We introduce a new algorithm, called Increment-and-Freeze, for computing exact LRU hit-rate curves. The algorithm achieves RAM-model complexity O(n log n), external-memory complexity O(n over B log n), and parallelism (log n). We also present two theoretical extensions of Increment-and-Freeze, one that achieves SORT complexity in the external-memory model, and one that achieves a parallel span of O(log2 n) which is near linear parallelism, while maintaining work efficiency. We implement Increment-and-Freeze and obtain a speedup of up to 9x over the classical augmented-tree algorithm on a single processor. On 16 threads, the speedup becomes as large as 60x. In comparison to the previous state-of-the-art parallel algorithm, Increment-and-Freeze achieves a speedup of up to 10x when both algorithms use the same number of threads.",
keywords = "caching, divide-and-conquer, external-memory, hit-rate curves, io-optimal, lru, miss-ratio curves, parallelism, reuse distance, stack distance, success function, working set",
author = "Bender, \{Michael A.\} and Daniel Delayo and Kuszmaul, \{Bradley C.\} and William Kuszmaul and Evan West",
note = "Publisher Copyright: {\textcopyright} 2023 ACM.; 35th ACM Symposium on Parallelism in Algorithms and Architectures, SPAA 2023 ; Conference date: 17-06-2023 Through 19-06-2023",
year = "2023",
month = jun,
day = "17",
doi = "10.1145/3558481.3591085",
language = "English",
series = "Annual ACM Symposium on Parallelism in Algorithms and Architectures",
publisher = "Association for Computing Machinery",
pages = "129--139",
booktitle = "SPAA 2023 - Proceedings of the 35th ACM Symposium on Parallelism in Algorithms and Architectures",
}