迈向实时代码性能分析

《ACM Transactions on Software Engineering and Methodology》:Towards On-The-Fly Code Performance Profiling

【字体: 时间:2025年11月10日 来源:ACM Transactions on Software Engineering and Methodology

编辑推荐:

  软件性能优化研究提出PGProf方法,通过融合抽象语法树、数据流图和控制流图构建程序图,利用图神经网络学习代码语义和结构特征,在开发阶段预执行阶段自动预测CPU流水线利用率,相比传统Intel VTune Profiler方法,准确率提升8%-42.7%和7.8%-20.1%,显著减少人工分析和测试成本。

  

摘要

提高软件应用程序的性能是软件演进和维护中最重要的任务之一。在英特尔微架构中,CPU采用流水线技术来尽可能高效地利用资源。某些类型的软件模式或算法可能会对底层CPU流水线产生影响,从而导致效率低下。因此,在分析软件性能时,了解CPU流水线在运行应用程序时的使用情况非常重要。现有的技术(如Intel VTune Profiler)通常是在软件投入生产并运行期间,通过CPU流水线指标来检测软件性能问题。这些技术要求开发人员手动分析监控数据并执行额外的测试以获取有关性能问题的相关信息。对于开发人员来说,构建、部署、测试、执行和监控软件需要耗费大量的时间和人力。
为了解决这些问题,我们提出了一种名为PGProf的新方法,该方法可以在执行前预测CPU流水线的使用情况,并在开发过程中提供性能分析反馈。PGProf利用图神经网络来学习C函数的语义和结构表示,然后在开发过程中预测每个类别中流水线槽位的使用比例。给定一段代码,我们将不同类型的代码结构(例如抽象语法树(AST)、数据流图(DFG)和控制流图(CFG)融合成一个程序图。在离线学习阶段,我们首先使用门控图神经网络来捕获C函数的表示。之后,PGProf根据学习到的语义和结构特征自动估计最终的流水线值。对于在线预测,我们利用离线训练的模型来预测四个类别的流水线指标。我们的数据集来自GitHub上的C项目,并通过运行这些项目使用Intel VTune Profiler来获取性能分析信息。广泛的实验结果表明了我们模型的良好性能。在Acc@5%Acc@10%这两个指标上,我们的模型分别实现了8.0%-42.7%和7.8%-20.1%的改进幅度,优于一系列基线方法。
相关新闻
生物通微信公众号
微信
新浪微博
  • 搜索
  • 国际
  • 国内
  • 人物
  • 产业
  • 热点
  • 科普
  • 急聘职位
  • 高薪职位

知名企业招聘

热点排行

    今日动态 | 人才市场 | 新技术专栏 | 中国科学人 | 云展台 | BioHot | 云讲堂直播 | 会展中心 | 特价专栏 | 技术快讯 | 免费试用

    版权所有 生物通

    Copyright© eBiotrade.com, All Rights Reserved

    联系信箱:

    粤ICP备09063491号