【24h】

Whole-program optimization of global variable layout

机译:全程优化全局变量布局

获取原文

摘要

On machines with high-performance processors, the memory system continues to be a performance bottleneck. Compilers insert prefetch operations and reorder data accesses to improve locality, but increasingly seek to modify an application's data layout to reduce cache miss and page fault penalties. In this paper we discuss Global Variable Layout (GVL), an optimization of the placement of entire static global data objects in the binary. We describe two practical methods for GVL in the HP-UX Integrity optimizing compiler for the Itanium ? architecture. The first layout strategy relies on profile feedback, collaboratively employing the compiler, the linker and a pre-link tool to facilitate reordering. The second strategy uses whole-program analysis to drive data layout decisions, and does not require the use of a dynamic profile. We give a detailed description of our implementation and evaluate its performance for the SPEC integer benchmark programs, as well as for a large commercial database application.
机译:在具有高性能处理器的机器上,内存系统仍然是性能瓶颈。编译器插入预取操作并重新排序数据访问以提高临时性,但越来越多地寻求修改应用程序的数据布局以减少缓存未命中和页面故障惩罚。在本文中,我们讨论全局变量布局(gvl),优化了二进制中整个静态全局数据对象的放置。我们在itanium的HP-UX Integrity优化编译器中描述了两种实用方法。建筑学。第一个布局策略依赖于个人资料反馈,协作使用编译器,链接器和预先链接工具,以便于重新排序。第二策略使用全程分析来驱动数据布局决策,并且不需要使用动态配置文件。我们详细说明了我们的实现,并评估了其对规范整数基准程序的性能,以及大型商业数据库应用程序。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号