首页> 外文会议>High Performance Computing and Communications; Lecture Notes in Computer Science; 4208 >Discovery of Locality-Improving Refactorings by Reuse Path Analysis
【24h】

Discovery of Locality-Improving Refactorings by Reuse Path Analysis

机译:通过重用路径分析发现改进地方性的重构

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

摘要

Due to the huge speed gaps in the memory hierarchy of modern computer architectures, it is important that programs maintain a good data locality. Improving temporal locality implies reducing the distance of data reuses that are far apart. The best existing tools indicate locality bottlenecks by highlighting both the source locations generating the use and the subsequent cache-missing reuse. Even with this knowledge of the bottleneck locations in the source code, it often remains hard to find an effective code refactoring that improves temporal locality, due to the unclear interaction of function calls and loop iterations occurring between use and reuse. The contributions in this paper are two-fold. First, the locality analysis is enhanced to not only pinpoint the cache bottlenecks, but to also suggest code refactorings that may resolve them. The refactorings are found by analyzing the dynamic hierarchy of function calls and loops on the code path between reuses, called reuse paths. Secondly, reservoir sampling of the reuse paths results in a significant reduction of the execution time and memory requirements during profiling, enabling the analysis of realistic programs. An interactive GUI, called SLO (Suggestions for Locality Optimizations), has been used to explore the most appropriate refactorings in a number of SPEC2000 programs. After refactoring, the execution time of the selected programs was halved, on the average.
机译:由于现代计算机体系结构的内存层次结构中存在巨大的速度差距,因此程序必须保持良好的数据局部性很重要。改善时间局部性意味着减少相距甚远的数据重用的距离。最好的现有工具通过突出显示产生使用的源位置和随后的缺少缓存的重用,来指示位置瓶颈。即使知道了源代码中的瓶颈位置,由于使用和重用之间发生的函数调用和循环迭代的不清楚的交互作用,通常仍然很难找到有效的代码重构来改善时间局部性。本文的贡献有两个方面。首先,增强了位置分析,不仅可以查明缓存瓶颈,而且还建议可以解决这些瓶颈的代码重构。通过分析重用之间的代码路径(称为重用路径)上函数调用和循环的动态层次结构,可以找到重构。其次,对重用路径的存储库采样可显着减少性能分析过程中的执行时间和内存需求,从而能够分析实际程序。一个交互式的GUI,称为SLO(位置优化建议),已被用来探索许多SPEC2000程序中最合适的重构。重构后,所选程序的执行时间平均减少了一半。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号