《OpenACC并行程序设计:性能优化实践指南》一 3.1 性能分析技术和术语

简介: 本节书摘来自华章出版社《OpenACC并行程序设计:性能优化实践指南》一 书中的第3章,第3.1节,作者:[美] 罗布·法伯(Rob Farber),更多章节内容可以访问云栖社区“华章计算机”公众号查看。

3.1 性能分析技术和术语

“性能分析”通常作为一个整体用于描述应用性能分析,在技术上它仅指性能测量和分析技术的子集。图3-1显示了不同技术之间的比较。

screenshot

性能测量和可视化由三部分组成:数据采集、记录和呈现。性能监视器想要分析应用程序行为,可以中断原始的应用程序,并在应用程序中断(采样)时“拉出”应用程序正在做什么的信息;或者修改应用程序为“推送”活动信息给性能监视器(基于事件的分析)。在数据采集过程中,所有活动的数据或完整日志以时间戳条目的形式被立即汇总。可以以时间轴或任意时间间隔的形式来展现完整的日志文件,而汇总的数据只能作为整个应用程序的形式来呈现。
所有分析技术都有利有弊。例如,以固定采样频率中断应用的采样,在测量应用程序运行时会有常量扰动。然而,测量精度依赖于采样频率。基于事件的插入可以记录所有目标活动,即通过手动或编译器事件触发器增强的所有函数或代码段,但是运行时扰动取决于编译时未知的事件,并且在最坏情况下有几个数量级的差别。立即汇总使得性能记录器保持低内存占用,并且不增加额外的输入/输出(I/O)开销。但是它会降低记录活动的时间上下文,而用于记录时它会增加时间上下文。立即性能分析显示活动对应用程序的影响(通常是函数的运行时分布),而忽略时间上下文。时间轴恰恰相反,它显示了程序的时间演变,这使得立即隔离最耗时的活动变得更加困难 。
基于事件的追踪可以记录应用程序执行期间的所有活动图,但是可能需要非常高的运行时扰动代价。幸运的是,折中使用这些技术,可以在尽可能低的开销下产生尽可能多的分析信息。Score-P甚至支持同时使用之前提出的所有性能分析技术,这使得它成为一个独一无二的性能监视器。

相关文章
|
7月前
|
Linux API 调度
技术笔记:Linux内核跟踪和性能分析
技术笔记:Linux内核跟踪和性能分析
|
8月前
|
Dart 前端开发 开发者
【Flutter前端技术开发专栏】Flutter中的性能分析工具Profiler
【4月更文挑战第30天】Flutter Profiler是用于性能优化的关键工具,提供CPU、GPU、内存和网络分析。它帮助开发者识别性能瓶颈,如CPU过度使用、渲染延迟、内存泄漏和网络效率低。通过实时监控和分析,开发者能优化代码、减少内存占用、改善渲染速度和网络请求,从而提升应用性能和用户体验。定期使用并结合实际场景与其它工具进行综合分析,是实现最佳实践的关键。
365 0
【Flutter前端技术开发专栏】Flutter中的性能分析工具Profiler
|
Web App开发 监控 应用服务中间件
04 性能分析之常用术语
04 性能分析之常用术语
|
算法 5G
m基于MATLAB的上行链路MIMO关键技术的研究与性能分析
m基于MATLAB的上行链路MIMO关键技术的研究与性能分析
170 0
m基于MATLAB的上行链路MIMO关键技术的研究与性能分析
|
SQL Java 测试技术
项目技术点-MybatisPlus 性能分析插件 | 学习笔记
快速学习 项目技术点-MybatisPlus 性能分析插件
142 0
|
算法 搜索推荐
《算法技术手册》一2.3 最好、最坏和平均情况下的性能分析
本节书摘来华章计算机《算法技术手册》一书中的第2章 ,第2.3节, George T.Heineman Gary Pollice Stanley Selkow 著 杨晨 曹如进 译 译更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1151 0
|
算法 C++
背景建模技术(二):BgsLibrary的框架、背景建模的37种算法性能分析、背景建模技术的挑战
<h1 style="text-align:center">背景建模技术(二):BgsLibrary的框架、背景建模的37种算法性能分析、背景建模技术的挑战</h1> <p style="text-align:center"><br></p> <h2>1、基于MFC的BgsLibrary软件下载</h2> <p><br></p> <p>下载地址:<a target="_blank"
1928 0
|
2月前
|
缓存 监控 Linux
Linux性能分析利器:全面掌握perf工具
【10月更文挑战第18天】 在Linux系统中,性能分析是确保软件运行效率的关键步骤。`perf`工具,作为Linux内核自带的性能分析工具,为开发者提供了强大的性能监控和分析能力。本文将全面介绍`perf`工具的使用,帮助你成为性能优化的高手。
198 1
|
2月前
|
缓存 监控 Linux
掌握Linux性能分析:深入探索perf工具
【10月更文挑战第26天】
98 1
|
3月前
|
Web App开发 监控 JavaScript
一些常用的 Vue 性能分析工具
【10月更文挑战第2天】
192 1