Linux 应最大化哪种类型的POWER8 PMU事件?
我对运行在IBMPOWER8服务器上的应用程序执行以下性能分析 我知道我需要减少由缓存未命中(Linux 应最大化哪种类型的POWER8 PMU事件?,linux,perf,oprofile,Linux,Perf,Oprofile,我对运行在IBMPOWER8服务器上的应用程序执行以下性能分析 我知道我需要减少由缓存未命中(PM\u CMPLU\u STALL\u DCACHE\u MISS)或分支预测失误(PM\u CMPLU\u STALL\u BRU)等原因造成的暂停百分比。说明编写良好的应用程序具有较高的最终指令完成百分比(PM\u 1PLUS\u PPC\u CMPL) 我是否正确理解,对于POWER8,我需要最大化PM\u GRP\u CMPL指标的百分比?我还应该尝试最大化其他基于PMU的指标吗?指出显而易见
PM\u CMPLU\u STALL\u DCACHE\u MISS
)或分支预测失误(PM\u CMPLU\u STALL\u BRU
)等原因造成的暂停百分比。说明编写良好的应用程序具有较高的最终指令完成百分比(PM\u 1PLUS\u PPC\u CMPL
)
我是否正确理解,对于POWER8,我需要最大化
PM\u GRP\u CMPL
指标的百分比?我还应该尝试最大化其他基于PMU的指标吗?指出显而易见的一点:您需要优化您的源代码
要最大限度地减少软件任务完成所需的周期数,请执行以下操作:
您提供的参考将PM\u RUN\u CYC
分解为PM\u CMPLU\u STALL
+PM\u GCT\u NOSLOT\u CYC
+PM\u GRP\u CMPL
您希望减少三个组件中最大的贡献者。最小化暂停,例如通过重新组织代码来减少缓存未命中。“无插槽”周期与分支预测失误和指令缓存未命中有关
PM\u GRP\u CMPL
是“微码指令”
跨越多个组的事件将在每个组中生成一次此事件”。不清楚这说明了什么。在任何情况下,您都希望最小化而不是最大化这些计数