一句话:提出跨流分析 XFA 与 Scaler 剖析器,低开销、高精度地揭示跨组件/API 交互的时间开销与性能问题。
复杂系统中不同库与应用会相互交互,现有性能分析工具很少关注此类跨组件交互,导致性能问题难以定位。本文提出 Cross Flow Analysis (XFA),监控跨组件/API 的交互与流,并实现 Scaler 剖析器,给出各组件及其内部 API 时间开销的整体视图。为降低开销并提升精度,作者设计 Universal Shadow Table、Relation-Aware Data Folding 等技术。实验表明 Scaler 运行时与内存开销低、剖析精度高,并在常用应用中检测到多个未知性能问题,可补充现有工具。
Performance analysis is challenging as different components (e.g., different libraries, and applications) of a complex system can interact with each other. However, few existing tools focus on understanding such interactions. To bridge this gap, we propose a novel analysis method-"Cross Flow Analysis (XFA)"- that monitors the interactions/flows across these components. We also built the Scaler profiler that provides a holistic view of the time spent on each component (e.g., library or application) and every API inside each component. This paper proposes multiple new techniques, such as Universal Shadow Table, and Relation-Aware Data Folding. These techniques enable Scaler to achieve low runtime overhead, low memory overhead, and high profiling accuracy. Based on our extensive experimental results, Scaler detects multiple unknown performance issues inside widely-used applications, and therefore will be a useful complement to existing work.
@inproceedings{paperbot8316,
title = {Scaler: Efficient and Effective Cross Flow Analysis},
author = {Steven (Jiaxun) Tang and Mingcan Xiang and Yang Wang and Bo Wu and Jianjun Chen and Tongping Liu},
booktitle = {ASE},
year = {2024},
doi = {10.1145/3691620.3695473}
}