Abstract
Hardware tracing modules such as Intel Processor Trace perform continuous control-flow tracing of an end-to-end program execution with an ultra-low overhead. PT has been used in a variety of contexts to support applications such as testing, debugging, and performance diagnosis. However, these hardware modules have so far been used only to trace native programs, which are directly compiled down to machine code. As high-level languages (HLL) such as Java and Go become increasingly popular, there is a pressing need to extend these benefits to the HLL community. This paper presents JPortal, a JVM-based profiling tool that bridges the gap between HLL applications and low-level hardware traces by using a set of algorithms to precisely recover an HLL program's control flow from PT traces. An evaluation of JPortal with the DaCapo benchmark shows that JPortal achieves an overall 80% accuracy for end-to-end control flow profiling with only a 4-16% runtime overhead.
Author supplied keywords
Cite
CITATION STYLE
Zuo, Z., Ji, K., Wang, Y., Tao, W., Wang, L., Li, X., & Xu, G. H. (2021). JPortal: Precise and efficient control-flow tracing for JVM programs with Intel processor trace. In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI) (pp. 1080–1094). Association for Computing Machinery. https://doi.org/10.1145/3453483.3454096
Register to see more suggestions
Mendeley helps you to discover research relevant for your work.