arrow
返回

Towards On-the-Fly Code Performance Profiling

delete2026-01-01
delete1
PRE
AI
X
Xing Hu
W
W.C. Lin
Z
Zhuang Liu
M
Michael Ling
X
Xin Xia *
Y
Yuan Wang
D
David Lo
DOI:10.1145/3725212delete
delete原文链接
delete原文求助
delete分享
delete收藏
摘要

摘要

En 中文
提升软件应用程序性能是软件演进和维护中最重要的任务之一。在Intel微架构中,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%指标上分别达到了49.90%和79.44%的绝对结果,相较于一系列基线方法,改进幅度分别为8.0%-42.7%和7.8%-20.1%。
Keyword:
pipeline utilization
software performance analysis
graph neural networks
code profiling
machine learning for software engineering

期刊

A
ACM Transactions on Software Engineering and Methodology
IF:
6.2
论文数:
1.2K
被引数:
3.4K

机构

H
huawei technologies
学者数:
3.3K
论文数: 2.9K
被引数: 1
S
singapore management university
学者数:
371
论文数: 278
被引数: 0
Z
zhejiang university
学者数:
17.7W
论文数: 12.1W
被引数: 152
学者 查看更多机构
引用论文

引用论文

Performance profiling of virtual machines
err2011-03-09
err0
errOAAI
errJiaqing Du; Nipun Sehrawat; Willy Zwaenepoel
err分享
err收藏
Long Short-Term Memory长短期记忆
err1997-11-01
err0
PREAI
errSepp Hochreiter; Jürgen Schmidhuber
err分享
err收藏
LineVD
err2022-10-17
err0
errOAAI
errDavid Hin; Andrey Kan; Huaming Chen; M. Ali Babar
err分享
err收藏
PerformanceHat
err2018-05-27
err0
PREAI
errJürgen Cito; Philipp Leitner; Christian Bosshard; Markus Knecht; Genc Mazlami; Harald C. Gall
err分享
err收藏
Optuna
err2019-07-25
err0
PREAI
errTakuya Akiba; Shotaro Sano; Toshihiko Yanase; Takeru Ohta; Masanori Koyama
err分享
err收藏
学者 查看更多内容