论文标题
多面体程序的翘曲缓存模拟
Warping Cache Simulation of Polyhedral Programs
论文作者
论文摘要
评估程序的缓存性能的技术属于两个训练营:1。基于痕量的缓存模拟器精确地说明了现实世界中的高速缓存模型并支持任意工作负载,但它们的运行时与该程序在分析中执行的内存访问数量成正比。 2。依靠隐式工作负载特征(例如多面体模型),分析方法通常实现与问题大小无关的运行时间,但到目前为止,它仅限于理想化的高速缓存模型。 我们介绍了一种混合方法,即翘曲缓存模拟,旨在实现对现实世界中的缓存模型和与问题无关的运行时间的适用性。正如先前的分析方法一样,我们专注于多面体模型中的程序,该程序可以通过分析来理解内存访问的顺序。将此分析推理与有关从显式缓存模拟获得的缓存行为的信息相结合,使我们能够快速地向前进行仿真。通过这种扭曲过程,我们加速了模拟,以使其成本通常独立于内存访问的数量。
Techniques to evaluate a program's cache performance fall into two camps: 1. Traditional trace-based cache simulators precisely account for sophisticated real-world cache models and support arbitrary workloads, but their runtime is proportional to the number of memory accesses performed by the program under analysis. 2. Relying on implicit workload characterizations such as the polyhedral model, analytical approaches often achieve problem-size-independent runtimes, but so far have been limited to idealized cache models. We introduce a hybrid approach, warping cache simulation, that aims to achieve applicability to real-world cache models and problem-size-independent runtimes. As prior analytical approaches, we focus on programs in the polyhedral model, which allows to reason about the sequence of memory accesses analytically. Combining this analytical reasoning with information about the cache behavior obtained from explicit cache simulation allows us to soundly fast-forward the simulation. By this process of warping, we accelerate the simulation so that its cost is often independent of the number of memory accesses.