计算机科学
架空(工程)
仪表(计算机编程)
规格#
编译程序
采样(信号处理)
优化编译器
事件(粒子物理)
启发式
计算机硬件
块(置换群论)
实时计算
嵌入式系统
计算机工程
探测器
操作系统
物理
电信
程序设计语言
量子力学
数学
几何学
作者
Dehao Chen,Neil Vachharajani,Robert Hundt,Xinliang David Li,Stéphane Eranian,Wenguang Chen,Weimin Zheng
摘要
Feedback-directed optimization (FDO) is effective in improving application runtime performance, but has not been widely adopted due to the tedious dual-compilation model, the difficulties in generating representative training data sets, and the high runtime overhead of profile collection. The use of hardware-event sampling overcomes these drawbacks by providing a lightweight approach to collect execution profiles in the production environment, which naturally consumes representative input. Yet, hardware event samples are typically not precise at the instruction or basic-block granularity. These inaccuracies lead to missed performance when compared to instrumentation-based FDO. In this paper, we use Performance Monitoring Unit (PMU)-based sampling to collect the instruction frequency profiles. By collecting profiles using multiple events, and applying heuristics to predict the accuracy, we improve the accuracy of the profile. We also show how emerging techniques can be used to further improve the accuracy of the sample-based profile. Additionally, these emerging techniques are used to collect value profiles, as well as to assist a lightweight interprocedural optimizer. All these profiles are represented in a portable form, thus they can be used across different platforms. We demonstrate that sampling-based FDO can achieve an average of 92 percent of the performance gains obtained using instrumentation-based exact profiles for both SPEC CINT2000 and CINT2006 benchmarks. The overhead of collection is only 0.93 percent on average, while compiler-based instrumentation incurs 2.0-351.5 percent overhead (and 10x overhead on an industrial web search application).
科研通智能强力驱动
Strongly Powered by AbleSci AI