Affiliation:
1. Facebook, USA
2. Facebook, USA / University of Sydney, Australia
Abstract
Profile-guided optimization (PGO) is an important component in modern compilers. By allowing the compiler to leverage the program’s dynamic behavior, it can often generate substantially faster binaries. Sampling-based profiling is the state-of-the-art technique for collecting execution profiles in data-center environments. However, the lowered profile accuracy caused by sampling fully optimized binary often hurts the benefits of PGO; thus, an important problem is to overcome the inaccuracy in a profile after it is collected. In this paper we tackle the problem, which is also known as
profile inference
and
profile rectification
.
We investigate the classical approach for profile inference, based on computing minimum-cost maximum flows in a control-flow graph, and develop an extended model capturing the desired properties of real-world profiles. Next we provide a solid theoretical foundation of the corresponding optimization problem by studying its algorithmic aspects. We then describe a new efficient algorithm for the problem along with its implementation in an open-source compiler. An extensive evaluation of the algorithm and existing profile inference techniques on a variety of applications, including Facebook production workloads and SPEC CPU benchmarks, indicates that the new method outperforms its competitors by significantly improving the accuracy of profile data and the performance of generated binaries.
Publisher
Association for Computing Machinery (ACM)
Subject
Safety, Risk, Reliability and Quality,Software
Reference39 articles.
1. Ravindra K Ahuja , Thomas L Magnanti , and James B Orlin . 1993 . Network Flows: Theory, Algorithms, and Applications . Prentice-Hall, Inc. , USA. Ravindra K Ahuja, Thomas L Magnanti, and James B Orlin. 1993. Network Flows: Theory, Algorithms, and Applications. Prentice-Hall, Inc., USA.
2. Optimally profiling and tracing programs
3. On a routing problem
4. Evidence-based static branch prediction using machine learning
5. Efficient parameterized algorithms for data packing
Cited by
9 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. GraalSP: Polyglot, efficient, and robust machine learning-based static profiler;Journal of Systems and Software;2024-07
2. Reordering Functions in Mobiles Apps for Reduced Size and Faster Start-Up;ACM Transactions on Embedded Computing Systems;2024-06-10
3. Revamping Sampling-Based PGO with Context-Sensitivity and Pseudo-instrumentation;2024 IEEE/ACM International Symposium on Code Generation and Optimization (CGO);2024-03-02
4. Ergodic Capacity of Multi-Tag Ambient Backscatter Systems With Hardware Impairments;IEEE Communications Letters;2024-03
5. Stale Profile Matching;Proceedings of the 33rd ACM SIGPLAN International Conference on Compiler Construction;2024-02-17