首页> 外文期刊>Operating systems review >A Quantitative Analysis of Loop Nest Locality
【24h】

A Quantitative Analysis of Loop Nest Locality

机译:Loop巢局部性的定量分析

获取原文
获取原文并翻译 | 示例
           

摘要

This paper analyzes and quantifies the locality characteristics of numerical loop nests in order to suggest future directions for architecture and software cache optimizations. Since most programs spend the majority of their time in nests, the vast majority of cache optimization techniques target loop nests. In contrast, the locality characteristics that drive these optimizations are usually collected across the entire application rather than the nest level. Indeed, researchers have studied numerical codes for so long that a number of commonly held assertions have emerged on their locality characteristics. In light of these assertions, we use the Perfect Benchmarks to take a new look at measuring locality on numerical codes based on references, loop nests, and program locality properties. Our results show that several popular assertions are at best overstatements. For example, we find that temporal and spatial reuse have balanced roles within a loop nest and most reuse across nests and the entire program is temporal. These results are consistent with high hit rates, but go against the commonly held assumption that spatial reuse dominates. Another result contrary to popular assumption is that misses within a nest are overwhelmingly conflict misses rather than capacity misses. Capacity misses are a significant source of misses for the entire program, but mostly correspond to potential reuse between different loop nests. Our locality measurements reveal important differences between loop nests and programs; refute some popular assertions; and provide new insights for the compiler writer and the architect.
机译:本文分析并量化了数字循环嵌套的局部性特征,以便为体系结构和软件缓存优化建议未来的方向。由于大多数程序将大部分时间都花在嵌套上,因此绝大多数缓存优化技术都将目标放在了循环嵌套上。相反,通常在整个应用程序而不是嵌套级别中收集驱动这些优化的局部性特征。实际上,研究人员研究数字代码的时间已经很久了,以至于出现了许多关于其局部性特征的普遍主张。根据这些断言,我们使用“完美基准”对基于引用,循环嵌套和程序局部性属性的数字代码的局部性进行重新评估。我们的结果表明,几个流行的断言充其量不过是夸大其词。例如,我们发现时间和空间重用在循环嵌套中具有均衡的作用,并且大多数嵌套之间的重用是整个程序都是时间的。这些结果与高命中率是一致的,但与通常认为空间复用占主导地位的假设背道而驰。与流行的假设相反的另一个结果是,嵌套内的丢失绝大多数是冲突丢失而不是容量丢失。容量丢失是整个程序丢失的重要原因,但大多数情况下对应于不同循环嵌套之间的潜在重用。我们的局部性测量揭示了循环嵌套和程序之间的重要区别;驳斥一些流行的主张;并为编译器作者和架构师提供新的见解。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号