Affiliation:
1. University of Kansas, USA
2. University of Tennessee, USA
Abstract
Managed language virtual machines (VM) rely on dynamic or just-in-time (JIT) compilation to generate optimized native code at run-time to deliver high execution performance. Many VMs and JIT compilers collect
profile
data at run-time to enable profile-guided optimizations (PGO) that customize the generated native code to different program inputs. PGOs are generally considered integral for VMs to produce high-quality and performant native code.
In this work, we study and quantify the performance benefits of PGOs, understand the importance of profiling data quantity and quality/accuracy to effectively guide PGOs, and assess the impact of individual PGOs on VM performance. The insights obtained from this work can be used to understand the current state of PGOs, develop strategies to more efficiently balance the cost and exploit the potential of PGOs, and explore the implications of and challenges for the alternative ahead-of-time (AOT) compilation model used by VMs.
Funder
National Science Foundation
Publisher
Association for Computing Machinery (ACM)
Subject
Hardware and Architecture,Software
Reference41 articles.
1. Github. [n.d.]. DaCapo Batik benchmark fails. Retrieved from https://github.com/RedlineResearch/OLD-OpenJDK8/issues/1. Github. [n.d.]. DaCapo Batik benchmark fails. Retrieved from https://github.com/RedlineResearch/OLD-OpenJDK8/issues/1.
2. Github [n.d.]. DaCapo Eclipse benchmark fails. Retrieved from https://github.com/RedlineResearch/OLD-OpenJDK8/issues/2. Github [n.d.]. DaCapo Eclipse benchmark fails. Retrieved from https://github.com/RedlineResearch/OLD-OpenJDK8/issues/2.
3. A survey of adaptive optimization in virtual machines;Arnold Matthew;Proc. IEEE,2005
4. Adaptive optimization in the Jalapeno JVM
5. Collecting and Exploiting High-Accuracy Call Graph Profiles in Virtual Machines
Cited by
2 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Diagnosing Compiler Performance by Comparing Optimization Decisions;Proceedings of the 20th ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes;2023-10-19
2. Detecting JVM JIT Compiler Bugs via Exploring Two-Dimensional Input Spaces;2023 IEEE/ACM 45th International Conference on Software Engineering (ICSE);2023-05