| 2009年06月25日 09:00 | |
英特尔® Parallel Amplifier 的三种分析类型旨在让您以不同角度深入了解程序性能。每个层面的分析都收集了相应的信息。具体说明如下。
热点
第一类分析,即热点 (Hotspots),是最初级的分析。运行它所需时间与正常运行应用程序(无英特尔® Parallel Amplifier)的时间相同。在执行应用程序时,英特尔 Parallel Amplifier 的数据收集器将定期采样。每次采样时,收集器与操作系统协作使程序中断,同时采集数据。它记录执行应用程序的各个 CPU 核心的指令指针 (IP) 和调用栈(保存为 O/S 数据结构的一部分)。一旦应用程序执行完毕,英特尔 Parallel Amplifier 获取全部 IP 采样,并使用它们计算出每个函数的运行时间,再用所有调用栈采样为整个程序创建一棵调用树。为创建热点列表和调用树,英特尔 Parallel Amplifier 还会使用存储在程序调试数据库(.pdb 文件)中的程序数据和指令空间的信息。
并发性
第二类分析,即并发性 (Concurrency),其工作方式与热点相似,但收集信息更多。它也记录应用程序各线程在各种状态下的数据,如运行、准备就绪和阻塞。一旦集齐所有采样,英特尔 Parallel Amplifier 将对数据进行分析,以确定应用程序各线程处于活动状态的时间的百分比。这叫做并行级别 (Concurrency Level),已分解至每个函数。理想情况下,应用程序的并行级别应该与系统的处理器数目一致,即英特尔 Parallel Amplifier 所谓的完全利用 (Fully Utilized)。
锁定和等待
最后一类分析称为锁定和等待 (Locks and Waits),是最消耗处理器时间的一种分析。应用程序在被基于锁定和等待的分析时可能需要较长的运行时间,这就是消耗处理器时间的原因。除收集上述数据之外,英特尔 Parallel Amplifier 还将向已编译的程序添加指令。这些指令将被置于程序中使用线程和同步 API 调用的位置,目的是测量线程处于非活跃状态时的等待时间。此计时信息与 .pdb 文件中的符号信息相结合,即可创建出应用程序等待位置和等待对象的图表。锁和其他可能造成线程等待的结构被称作同步对象 (Synchronization Objects)。运行此分析后,英特尔 Parallel Amplifier 将显示一张同步对象列表,包括各自等待时间以及在等待期间应用程序的并发性。
热点
第一类分析,即热点 (Hotspots),是最初级的分析。运行它所需时间与正常运行应用程序(无英特尔® Parallel Amplifier)的时间相同。在执行应用程序时,英特尔 Parallel Amplifier 的数据收集器将定期采样。每次采样时,收集器与操作系统协作使程序中断,同时采集数据。它记录执行应用程序的各个 CPU 核心的指令指针 (IP) 和调用栈(保存为 O/S 数据结构的一部分)。一旦应用程序执行完毕,英特尔 Parallel Amplifier 获取全部 IP 采样,并使用它们计算出每个函数的运行时间,再用所有调用栈采样为整个程序创建一棵调用树。为创建热点列表和调用树,英特尔 Parallel Amplifier 还会使用存储在程序调试数据库(.pdb 文件)中的程序数据和指令空间的信息。
并发性
第二类分析,即并发性 (Concurrency),其工作方式与热点相似,但收集信息更多。它也记录应用程序各线程在各种状态下的数据,如运行、准备就绪和阻塞。一旦集齐所有采样,英特尔 Parallel Amplifier 将对数据进行分析,以确定应用程序各线程处于活动状态的时间的百分比。这叫做并行级别 (Concurrency Level),已分解至每个函数。理想情况下,应用程序的并行级别应该与系统的处理器数目一致,即英特尔 Parallel Amplifier 所谓的完全利用 (Fully Utilized)。
锁定和等待
最后一类分析称为锁定和等待 (Locks and Waits),是最消耗处理器时间的一种分析。应用程序在被基于锁定和等待的分析时可能需要较长的运行时间,这就是消耗处理器时间的原因。除收集上述数据之外,英特尔 Parallel Amplifier 还将向已编译的程序添加指令。这些指令将被置于程序中使用线程和同步 API 调用的位置,目的是测量线程处于非活跃状态时的等待时间。此计时信息与 .pdb 文件中的符号信息相结合,即可创建出应用程序等待位置和等待对象的图表。锁和其他可能造成线程等待的结构被称作同步对象 (Synchronization Objects)。运行此分析后,英特尔 Parallel Amplifier 将显示一张同步对象列表,包括各自等待时间以及在等待期间应用程序的并发性。
如需了解英特尔软件产品相关的性能和优化选项,请参阅优化注意事项.
评论 (24) 
| 2009年04月24日 05:34
clark927
| 太大概了 还不如分析采集的数据 |
| 2009年04月25日 02:41
rong | 就是有些大概,建议再细点 |
| 2009年04月25日 23:25
livewarer2009
| 我安装后在VS2005里竟然没有Amplifier这个选项,郁闷啊! |
| 2009年04月29日 22:38
ml | 我的安装完后也是在2005中找不到 |
| 2009年05月05日 07:18
hbfbi
| me too!! |
| 2009年05月05日 18:17
北方苍狼 | 其实这是全国性的,是对咱们的学习考验,对咱们以后都很有好处的。 |
| 2009年05月07日 23:58
碧水蓝天 |
good tool! value it! |
| 2009年05月10日 07:21
吴海宇 | 我觉得能学到Intel的相关技术是最重要的,努力啊 |
| 2009年05月11日 05:32
huotui88
| 还好 |
| 2009年05月13日 04:26
finallaugh927
| Too simple |
| 2009年05月13日 07:49
Vincent
| 锁定和等待 (Locks and Waits)。我一直在找这么一个工具! |
| 2009年05月14日 07:08
lideling123 | 安装后,与视频中有些差别 |
| 2009年05月15日 07:44
刘阳 | ... |
| 2009年05月18日 01:18
whusunny
| 对“每次采样时,收集器与操作系统协作使程序中断,同时采集数据。”的技术细节比较感兴趣。不知道哪里可以找到相关资料。 |
| 2009年05月18日 21:53
gsunzju.edu.cn
| 写的太泛了 |
| 2009年05月21日 00:20
loo8yyyy
|
还可以吧 |
| 2009年05月25日 07:22
倪礼 | 哦 |
| 2009年05月25日 08:13
倪艳华 | 得到的 |
| 2009年05月27日 02:50
余伟建 | 一个软件,一项技术,越是复杂,就越是强大! |
| 2009年05月29日 17:04
阿磊 | 学习 |
| 2009年05月30日 19:19
段志飞 | good |
| 2010年01月02日 17:04
ml_frank
| spin lock很有效的 |
| 2010年01月14日 20:07
zhouxc | Intel Amplifier怎么有时候收集不了数据,是不是Cpu是AMD的缘故?? |
引用 (0)
写评论 
欲获得技术支持,请访问软件支持页面.
作者
穆丽虹 (Intel)
|


王颖