JPortal: precise and efficient control-flow tracing for JVM programs with Intel processor trace

JPortal: precise and efficient control-flow tracing for JVM programs with Intel processor trace
复制标题

DOI:
10.1145/3453483.3454096
复制
发表时间:
2021-06
期刊:
Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation
影响因子:
--
通讯作者:
Zhiqiang Zuo;Kai Ji;Yifei Wang;W. Tao;Linzhang Wang;Xuandong Li;G. Xu
Zhiqiang Zuo;Kai Ji;Yifei Wang;W. Tao;Linzhang Wang;Xuandong Li;G. Xu
中科院分区:
其他
文献类型:
--
作者:
Zhiqiang Zuo;Kai Ji;Yifei Wang;W. Tao;Linzhang Wang;Xuandong Li;G. Xu

文献摘要

被引文献

相似文献

硬件跟踪模块(如英特尔处理器跟踪)以超低的开销执行端到端程序执行的连续控制流跟踪。PT已用于各种环境中,以支持测试、调试和性能诊断等应用程序。然而,到目前为止,这些硬件模块仅用于跟踪本机程序,而本机程序会被直接编译成机器代码。随着Java和Go等高级语言(HLL)变得越来越流行,迫切需要将这些好处扩展到HLL社区。本文介绍了一个基于JVM的分析工具JPortal.它通过使用一组算法来精确地从PT跟踪恢复HLL程序的控制流,从而在HLL应用程序和底层硬件跟踪之间架起了一座桥梁.使用DaCapo基准测试对JPortal进行的评估表明,JPortal端到端控制流分析的总体准确率为80%,运行时开销仅为4%-16%。
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.