本文已被:浏览 43次 下载 50次
Received:December 01, 2025 Revised:December 30, 2025
Received:December 01, 2025 Revised:December 30, 2025
中文摘要: 在大规模并行计算场景中, 节点异常或进程挂起等故障极易引起系统性能下降, 严重影响任务的执行效率与稳定性. 现有调用栈分析工具普遍存在开销大、侵入性强及无法持续采样等问题, 难以满足大规模并行计算场景的轻量化检测需求. 为了解决上述问题, 本文基于eBPF技术设计并实现一种轻量级、非侵入式的调用栈采样及分析工具: StackProfiler, 用于并行程序的调用栈采样及性能异常检测. StackProfiler无需修改应用程序源码, 能够以较低开销精准获取整个系统层面的函数调用关系; 通过对高频函数进行分析, 可快速定位故障节点及问题进程. 结合调用上下文信息, 可进一步深入分析异常原因. 在多个基准测试程序和典型并行应用上的实验评估表明, 该工具的运行时开销小于3%, 单节点持续采集数据量不超过6 MB, 具备优异的轻量化特征与实用性; 在节点计算效率下降、残留进程干扰以及程序逻辑错误等真实场景模拟中, 均能准确地识别异常现象. StackProfiler为大规模并行程序性能诊断分析与故障定位提供了一种高效的新方案.
Abstract:In large-scale parallel computing scenarios, failures such as node anomalies or process hangs can easily lead to a decline in system performance, seriously affecting the execution efficiency and stability of tasks. Existing call stack analysis tools often suffer from high overhead, strong intrusiveness, and inability to perform continuous sampling, making them difficult to meet the lightweight detection requirements of large-scale parallel computing scenarios. To address these challenges, this study designs and implements a lightweight, non-intrusive call stack sampling and analysis tool based on eBPF technology, named StackProfiler, for call stack sampling and performance anomaly detection in parallel programs. StackProfiler accurately captures system-wide function call relationships with low overhead, without modifying application source code. By analyzing high-frequency functions, anomalous nodes or problematic processes can be rapidly identified. Combined with call context information, deeper analysis of anomaly causes can be further conducted. Experimental evaluations on multiple benchmark programs and typical parallel applications show that the runtime overhead of the proposed tool is less than 3%, and the continuous data collection volume of a single node does not exceed 6 MB, demonstrating excellent lightweight characteristics and practicality. In simulated real-world scenarios including degraded node computational efficiency, interference from residual processes, and program logic errors, anomalies are accurately identified. StackProfiler provides an efficient new solution for performance diagnosis, analysis, and fault localization of large-scale parallel programs.
文章编号: 中图分类号: 文献标志码:
基金项目:国家重点研发计划(2023YFB3001803)
引用文本:
吴桐雨,孙斌,于灏,解西国,秦伟强.StackProfiler: 轻量级调用栈采样与分析工具.计算机系统应用,2026,35(8):247-259
WU Tong-Yu,SUN Bin,YU Hao,XIE Xi-Guo,QIN Wei-Qiang.StackProfiler: Lightweight Call Stack Sampling and Analysis Tool.COMPUTER SYSTEMS APPLICATIONS,2026,35(8):247-259
吴桐雨,孙斌,于灏,解西国,秦伟强.StackProfiler: 轻量级调用栈采样与分析工具.计算机系统应用,2026,35(8):247-259
WU Tong-Yu,SUN Bin,YU Hao,XIE Xi-Guo,QIN Wei-Qiang.StackProfiler: Lightweight Call Stack Sampling and Analysis Tool.COMPUTER SYSTEMS APPLICATIONS,2026,35(8):247-259

