1 / 36

VTune™ Performance Analyzer 6.0

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

kert
Download Presentation

VTune™ Performance Analyzer 6.0

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. VTune™ Performance Analyzer 6.0

  2. 目标 能够使用VTune分析 软件的性能瓶颈

  3. AGENDA • Introduction • Terminology • Sampling • Call Graph • Counter Monitor • VTune on Linux

  4. VTune™ Performance Analyzer 帮助你找出性能方面问题 • Bottlenecks in algorithms • Bottlenecks due to data layout • Application architecture bottlenecks • System-Level and hardware bottlenecks

  5. AGENDA • Introduction • Terminology • Sampling • Call Graph • Counter Monitor • VTune on Linux

  6. 什么是 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.

  7. 什么是Hotspot? • hotspot是你的代码花费很长时间执行的区域。 • 通过定位hotspot,VTune性能分析工具可以帮助你分析应用程序的性能。 • 但是简单的知道hotspot的位置是不够的,你必须知道什么导致hotspot的产生,怎样改进 • 通过对热区的进一步分析,你可以跟踪关键的函数调用,监控特殊的处理器事件,如cache miss

  8. Hotspot与Bottleneck的区别 • Bottleneck是系统中性能受到约束的位置 • VTune™ Performance Analyzer帮助你找到并删除Bottlenecks. • 找到软件Hotspots是一个分析方法,帮助你定位Bottlenecks.

  9. 性能优化方法

  10. 三种数据收集器 • sampling • call graph • counter monitor

  11. Two Ways toTrack Location • Problem:我需要知道你在哪花费了多长时间 • Statistical Solution:我每30分钟呼叫你 • Instrumentation Solution:每个地方有一个特殊的电话点,你每到一个地点向我报告

  12. The Statistical Solution: I Call You! • ADVANTAGES: • 低开销: 没有太多的中断 • 没有建站点的开销 • 无论你在那里都能精确定位 • DISADVANTAGES: • 如果你的双手拿满东西,我必须等待 • 你可能第一次没有听到铃声,所以我不能精确确定我呼叫你时,你在那里 由于你不经常去有一些地方,我可能根本不知道你去过

  13. The Instrumentation Solution: You call me when you get there! • ADVANTAGES: • 你到达新的地方我能立刻知道 • 我知道你在一个地方呆了多长时间 • 我知道你到达同一个地方多少次 • DISADVANTAGES: • 不知道你在街道内做了什么 • 粒度:站点 • 浪费了大量时间打电话 • 建立站点扩大了街道空间

  14. 识别Hotspots • Sampling Data Collector – The Statistical Solution • 描述执行的一个侧面(柱状图) • 低开销 • Call Graph Data Collector– The Instrumentation Solution • 函数的时间信息 • 函数调用者和被调用者的关系 • 比sampling的开销高

  15. 三种性能监控方式的比较

  16. VTune™Projects • 什么是 Project? • Project由一个或多个Activities组成 • 什么是Activity ? • 包含你应用程序的信息和希望运行的数据收集器信息

  17. Projects are organized like this:

  18. AGENDA • Introduction / What’s New in 6.0 • Terminology • Sampling • Call Graph • Counter Monitor • VTune on Linux

  19. Sampling Technology • 打断处理器的执行,获得执行上下文 • 中断可以是周期性的, 如每秒1,000次采样 • 采样的触发 Event Based Sampling (EBS). • 采样事件:处理器相关事件,如 L2 Cache Misses, Branch Mispredictions, Floating-point instructions retired, etc.

  20. Lab 1: gzip Sampling Analysis • Introduces EBS and Sampling UI • gzip is an open source file compression program

  21. Select New Project

  22. Select Sampling Wizard and then OK

  23. Select Win32*/Win64*/Linux* Profiling radio button and then OK

  24. 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

  25. Modify the Sampling Activity • Select the Sampling check box. • Click on Configure

  26. Uncheck Calibrate Sample After Value checkbox Why do this?

  27. Click OK to run the activity

  28. 根据采样次数找到hotspot

  29. AGENDA • Introduction / What’s New in 6.0 • Terminology • Sampling • Call Graph • Counter Monitor • VTune on Linux

  30. 根据总时间找到关键路径

  31. AGENDA • Introduction / What’s New in 6.0 • Terminology • Sampling • Call Graph • Counter Monitor • VTune on Linu

  32. 根据占处理器时间找hotspot

  33. 修改代码进行优化

  34. AGENDA • Introduction / What’s New in 6.0 • Terminology • Sampling • Call Graph • Counter Monitor • VTune on Linux

  35. VTune on Linux • 在Linux上安装Sampling Driver • 在Linux上启动VTune server • 在Windows上进行远程收集

  36. 链接 • http://www.intel.com/software/products/college/vtune/getstart/tutorial/index.htm

More Related