几句话说清楚15:Top-Down性能分析方法资料及Toplev使用

Top-down Microarchitecture Analysis Method(TMAM)资料

之前介绍过TMAM的具体内容,在这里对网络上相关的信息和资料做一个汇总:

Tuning Applications Using a Top-down Microarchitecture Analysis Method

Top-down Microarchitecture Analysis through Linux perf and toplev tools

A Top-Down method for performance analysis and counters architecture

Performance_Analysis_in_a_Nutshell

Top Down Analysis Never lost with Xeon® perf. counters

How TMA* Addresses Challenges in Modern Servers and Enhancements Coming in IceLake

当然还有一些其他的相关信息,不过上面几个都可以覆盖(其实已经有点过量了)。

Toplev使用

toplev是一个基于perf和TMAM方法的应用性能分析工具。从之前的介绍文章 中可以了解到TMAM本质上是对CPU Performance Counter的整理和加工。取得Performance Counter的读数需要perf来协助,对读数的计算进而明确是Frondend bound还是Backend bound等等。

在最终计算之前,你大概需要做三件事:

  • 明确CPU型号,因为不同的CPU,对应的PMU也不一样
  • 读取TMAM需要的perf event读数
  • 按TMAM规定的算法计算,具体算法在这个Excel表格

这三步可以自动化地由程序来做。本质上toplev就是在做这件事。

toplevGithub地址https://github.com/andikleen/pmu-tools

另外补充一下,TMAM作为一种Top-down方法,它一定是分级的。通过上一级的结果下钻,最终定位性能瓶颈。那么toplev在执行的时候,也一定是包含这个“等级”概念的。

下面是toplev使用方法的资料:

toplev manual

pmu-tools, part II: toplev

基本上都是由toplev的开发者自己写的,可以作为一个Quick Start Guide。

toplev仅针对系统瓶颈是CPU的场景,除此之外仍需要使用其他方法,如pcm tool。

© 2020 DecodeZ All Rights Reserved. 本站访客数人次 本站总访问量
Theme by hiero