arXivDaily arXiv每日学术速递 周一至周五更新
arXiv周末暂无论文更新,休息一下吧,周末愉快~~
arXiv 2201.13056cs.ARcs.CCcs.FLcs.PL
收藏

如果添加过程调用,则缓存访问的静态分析中的复杂性差距会增大

The complexity gap in the static analysis of cache accesses grows if procedure calls are added

David Monniaux

摘要:

高速缓存访问的静态分析包括正确地预测哪些访问是命中或未命中。虽然有很好的精确和近似分析的缓存实现最近最少使用(LRU)的替换策略,这样的分析是很难找到其他替换策略。一个理论上的解释是:对于一个适当的设置的分析控制流图,缓存分析是PSPACE完全的所有常见的替换策略(FIFO,PLRU,NMRU),除了LRU,它只是NP完全的。在本文中,我们表明,如果过程调用添加到控制流,那么差距扩大:分析仍然是NP完全的LRU,但成为EXPTIME完全的其他三个政策。为此,我们改进了早期的结果的复杂性,可达性问题的布尔程序与过程调用。此外,对于LRU策略,我们推导出一个回溯算法,以及使用它作为最后的手段后,其他分析都未能得出结论的方法。

英文摘要:

The static analysis of cache accesses consists in correctly predicting which accesses are hits or misses. While there exist good exact and approximate analyses for caches implementing the least recently used (LRU) replacement policy, such analyses were harder to find for other replacement policies. A theoretical explanation was found: for an appropriate setting of analysis over control-flow graphs, cache analysis is PSPACE-complete for all common replacement policies (FIFO, PLRU, NMRU) except for LRU, for which it is only NP-complete. In this paper, we show that if procedure calls are added to the control flow, then the gap widens: analysis remains NP-complete for LRU, but becomes EXPTIME-complete for the three other policies. For this, we improve on earlier results on the complexity of reachability problems on Boolean programs with procedure calls. In addition, for the LRU policy we derive a backtracking algorithm as well as an approach for using it as a last resort after other analyses have failed to conclude.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑