370 likes | 745 Views
VTune™ Performance Analyzer 6.0. 目标. 能够使用 VTune 分析 软件的性能瓶颈. AGENDA. Introduction Terminology Sampling Call Graph Counter Monitor VTune on Linux. VTune ™ Performance Analyzer. 帮助你找出性能方面问题 Bottlenecks in algorithms Bottlenecks due to data layout Application architecture bottlenecks
E N D
目标 能够使用VTune分析 软件的性能瓶颈
AGENDA • Introduction • Terminology • Sampling • Call Graph • Counter Monitor • VTune on Linux
VTune™ Performance Analyzer 帮助你找出性能方面问题 • Bottlenecks in algorithms • Bottlenecks due to data layout • Application architecture bottlenecks • System-Level and hardware bottlenecks
AGENDA • Introduction • Terminology • Sampling • Call Graph • Counter Monitor • VTune on Linux
什么是 Hotspot? • Where in an application/system where there is a significant amount of activity(有大量活动发生的地方) • Where = address in memory => OS process => OS thread => executable file or Module => user function (requires symbols) => line of source code (requires symbols with line numbers) or processor (assembly) instruction.(定位到指令) • Significant= if it doesn’t happen often it probably doesn’t have much impact on the system’s performance. • Activity= time spent or other internal processor event.
什么是Hotspot? • hotspot是你的代码花费很长时间执行的区域。 • 通过定位hotspot,VTune性能分析工具可以帮助你分析应用程序的性能。 • 但是简单的知道hotspot的位置是不够的,你必须知道什么导致hotspot的产生,怎样改进 • 通过对热区的进一步分析,你可以跟踪关键的函数调用,监控特殊的处理器事件,如cache miss
Hotspot与Bottleneck的区别 • Bottleneck是系统中性能受到约束的位置 • VTune™ Performance Analyzer帮助你找到并删除Bottlenecks. • 找到软件Hotspots是一个分析方法,帮助你定位Bottlenecks.
三种数据收集器 • sampling • call graph • counter monitor
Two Ways toTrack Location • Problem:我需要知道你在哪花费了多长时间 • Statistical Solution:我每30分钟呼叫你 • Instrumentation Solution:每个地方有一个特殊的电话点,你每到一个地点向我报告
The Statistical Solution: I Call You! • ADVANTAGES: • 低开销: 没有太多的中断 • 没有建站点的开销 • 无论你在那里都能精确定位 • DISADVANTAGES: • 如果你的双手拿满东西,我必须等待 • 你可能第一次没有听到铃声,所以我不能精确确定我呼叫你时,你在那里 由于你不经常去有一些地方,我可能根本不知道你去过
The Instrumentation Solution: You call me when you get there! • ADVANTAGES: • 你到达新的地方我能立刻知道 • 我知道你在一个地方呆了多长时间 • 我知道你到达同一个地方多少次 • DISADVANTAGES: • 不知道你在街道内做了什么 • 粒度:站点 • 浪费了大量时间打电话 • 建立站点扩大了街道空间
识别Hotspots • Sampling Data Collector – The Statistical Solution • 描述执行的一个侧面(柱状图) • 低开销 • Call Graph Data Collector– The Instrumentation Solution • 函数的时间信息 • 函数调用者和被调用者的关系 • 比sampling的开销高
VTune™Projects • 什么是 Project? • Project由一个或多个Activities组成 • 什么是Activity ? • 包含你应用程序的信息和希望运行的数据收集器信息
AGENDA • Introduction / What’s New in 6.0 • Terminology • Sampling • Call Graph • Counter Monitor • VTune on Linux
Sampling Technology • 打断处理器的执行,获得执行上下文 • 中断可以是周期性的, 如每秒1,000次采样 • 采样的触发 Event Based Sampling (EBS). • 采样事件:处理器相关事件,如 L2 Cache Misses, Branch Mispredictions, Floating-point instructions retired, etc.
Lab 1: gzip Sampling Analysis • Introduces EBS and Sampling UI • gzip is an open source file compression program
Select Win32*/Win64*/Linux* Profiling radio button and then OK
Remember each Activity has its own Application/Module Profile • Browse to the application: gzip.exe • The command line arguments are: -f testfile.dat • Check Modify default configuration • Click on Finish
Modify the Sampling Activity • Select the Sampling check box. • Click on Configure
Uncheck Calibrate Sample After Value checkbox Why do this?
AGENDA • Introduction / What’s New in 6.0 • Terminology • Sampling • Call Graph • Counter Monitor • VTune on Linux
AGENDA • Introduction / What’s New in 6.0 • Terminology • Sampling • Call Graph • Counter Monitor • VTune on Linu
AGENDA • Introduction / What’s New in 6.0 • Terminology • Sampling • Call Graph • Counter Monitor • VTune on Linux
VTune on Linux • 在Linux上安装Sampling Driver • 在Linux上启动VTune server • 在Windows上进行远程收集
链接 • http://www.intel.com/software/products/college/vtune/getstart/tutorial/index.htm