StackProfiler: 轻量级调用栈采样与分析工具
作者:
作者单位:

作者简介:

通讯作者:

中图分类号:

基金项目:

国家重点研发计划(2023YFB3001803)


StackProfiler: Lightweight Call Stack Sampling and Analysis Tool
Author:
Affiliation:

Fund Project:

  • 摘要
  • |
  • 图/表
  • |
  • 访问统计
  • |
  • 参考文献
  • |
  • 相似文献
  • |
  • 引证文献
  • |
  • 资源附件
  • |
  • 文章评论
    摘要:

    在大规模并行计算场景中, 节点异常或进程挂起等故障极易引起系统性能下降, 严重影响任务的执行效率与稳定性. 现有调用栈分析工具普遍存在开销大、侵入性强及无法持续采样等问题, 难以满足大规模并行计算场景的轻量化检测需求. 为了解决上述问题, 本文基于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.

    参考文献
    相似文献
    引证文献
引用本文

吴桐雨,孙斌,于灏,解西国,秦伟强. StackProfiler: 轻量级调用栈采样与分析工具.计算机系统应用,2026,35(8):247-259

复制
分享
相关视频

文章指标
  • 点击次数:
  • 下载次数:
  • HTML阅读次数:
  • 引用次数:
历史
  • 收稿日期:2025-12-01
  • 最后修改日期:2025-12-30
  • 录用日期:
  • 在线发布日期: 2026-06-15
  • 出版日期:
文章二维码
您是第位访问者
版权所有:中国科学院软件研究所 京ICP备05046678号-3
地址:北京市海淀区中关村南四街4号,邮政编码:100190
电话:010-62661041 传真: Email:csa@iscas.ac.cn
技术支持:北京勤云科技发展有限公司

京公网安备 11040202500063号