一句话:提出 VClinic,一个可移植且高效的支持 X86 和 ARM 的细粒度值分析框架,简化值分析器开发并带来显著加速。
细粒度值剖析器利用二进制插桩准确检测与值相关的软件低效问题,但现有剖析器因二进制插桩的架构相关实现而可移植性差,且跨平台高效化需大量工程投入。本文提出 VClinic,一个面向 X86 和 ARM 平台、可分析高度优化二进制的可移植且高效的细粒度值剖析框架。VClinic 采用以操作数为中心的两层设计,为值剖析器提供通用构建模块。作者用 VClinic 构建了四个代表性值剖析器,证明其能简化跨平台开发并保证可移植性与效率。在真实程序上,基于 VClinic 的剖析器引导实现了 X86 最高 89.94%、ARM 最高 74.66% 的加速。
Fine-grained value profilers reveal a promising way to accurately detect value-related software inefficiencies with binary instrumentation. Due to the architecture-dependent implementation details of binary instrumentation, existing value profilers suffer from poor portability as well as high engineering efforts to achieve efficiency across platforms. In this paper, we propose VClinic, a portable and efficient fine-grained value profiling framework for analyzing highly optimized binaries on both X86 and ARM platforms. VClinic exploits operand-centric two-level designs in its implementation to provide the common building blocks required for value profilers. By constructing four representative value profilers with VClinic, we demonstrate that VClinic can ease the development of value profilers with portability and efficiency across platforms. Guided by the value profilers built upon VClinic, we can achieve up to 89.94% and 74.66% speedup for real-world programs on X86 and ARM platforms, respectively.
@inproceedings{paperbot10044,
title = {VClinic: A Portable and Efficient Framework for Fine-Grained Value Profilers},
author = {Xin You and Hailong Yang and Kelun Lei and Zhongzhi Luan and Depei Qian},
booktitle = {ASPLOS},
year = {2023},
doi = {10.1145/3575693.3576934}
}