Model-Driven Automatic Tiling with Cache Associativity Lattices
David Adjiashvili, Utz-Uwe Haus, Adrian Tate

TL;DR
This paper introduces a novel cache tiling method based on cache associativity lattices, focusing on conflict misses, which improves cache performance and can lead to significant speedups and automatic parallelism.
Contribution
It develops a mathematical framework using associativity lattices for cache tiling, emphasizing conflict misses, and demonstrates practical speedups over unoptimized code.
Findings
Achieves over 10x speedup compared to unoptimized code
Competitive with GCC and ICC optimizations
Enables reasonable automatic parallelism
Abstract
Traditional compiler optimization theory distinguishes three separate classes of cache miss -- Cold, Conflict and Capacity. Tiling for cache is typically guided by capacity miss counts. Models of cache function have not been effectively used to guide cache tiling optimizations due to model error and expense. Instead, heuristic or empirical approaches are used to select tilings. We argue that conflict misses, traditionally neglected or seen as a small constant effect, are the only fundamentally important cache miss category, that they form a solid basis by which caches can become modellable, and that models leaning on cache associatvity analysis can be used to generate cache performant tilings. We develop a mathematical framework that expresses potential and actual cache misses in associative caches using Associativity Lattices. We show these lattices to possess two theoretical…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Ferroelectric and Negative Capacitance Devices · Advanced Data Storage Technologies
