中文

用 EDPM 增强 C/C++ 程序性能监控:一种面向性能监控的领域特定语言

性能 2023-11-08 v1 编程语言

摘要

使用性能监控探针是程序员收集性能数据的有价值工具。然而,手动插入这些探针会导致代码规模增大、代码混淆,以及学习不同性能监控工具相关 API 的额外负担。为缓解这些问题,开发了嵌入式领域特定语言 EDPM,为标注 C 和 C++ 程序中需要插桩的代码区域提供更高层次的抽象。本文介绍 EDPM 的设计与实现,并在所需代码行数、区域配置灵活性和性能开销方面与知名工具 PAPI 进行比较。本研究结果表明,EDPM 是一种低分辨率剖析工具,可减少所需代码行数,并使程序员能够表达各种区域配置。此外,EDPM 的设计使其编译指示被标准编译器忽略,从而无缝集成到现有软件流程中,而不破坏构建系统或增大可执行文件大小。另外,EDPM 预编译器的设计允许扩展可用性能计数器,同时保持对程序员的高层次抽象。因此,EDPM 为简化和优化 C/C++ 程序性能监控提供了一种有前景的解决方案。

关键词

引用

@article{arxiv.2311.03535,
  title  = {Enhancing Performance Monitoring in C/C++ Programs with EDPM: A Domain-Specific Language for Performance Monitoring},
  author = {David Weisskopf Holmqvist and Suejb Memeti},
  journal= {arXiv preprint arXiv:2311.03535},
  year   = {2023}
}

备注

This is a preprint of the article scheduled for publication in the proceedings of the First Workshop on Tools for Data Locality, Power and Performance (TDLPP 2023), published by Springer