PerfMemPlus: A Tool for Automatic Discovery of Memory Performance Problems

PerfMemPlus: A Tool for Automatic Discovery of Memory Performance Problems
复制标题

PerfMemPlus:自动发现内存性能问题的工具

DOI:
--
复制
发表时间:
2019
期刊:
Information Security Conference
影响因子:
--
通讯作者:
K. Taura
K. Taura
中科院分区:
--
文献类型:
--
作者:
Christian Helm;K. Taura

文献摘要

被引文献

相似文献

在高性能计算中,许多性能问题是由存储系统引起的。由于这些性能缺陷很难识别,因此分析工具在性能优化中起着重要作用。今天的处理器提供功能丰富的性能监控单元,支持指令采样。但现有的工具只部分使用这些数据。以前,性能计数器用于测量内存带宽。但是将高带宽归因于源代码一直是困难和不精确的。我们介绍了一种新的方法,用于识别性能降低带宽使用,并将其归因于特定的对象和源代码行。本文还介绍了一种新的错误共享检测方法。它可以区分假共享和真共享,识别对象和源代码行,其中发生了对错误共享对象的访问。它可以发现以前的工具所忽略的虚假共享。PerfMemPlus通过使用单次分析运行捕获的指令采样数据自动报告这些问题。这简化了在复杂代码中查找性能问题位置的繁琐搜索。该工具设计简单,为许多现有和即将推出的处理器提供支持,记录的数据可以很容易地用于未来的研究。我们表明,PerfMemPlus可以自动报告性能问题,而不会产生误报。此外,我们提出的案例研究,显示如何PerfMemPlus可以查明内存性能问题的PARSEC基准和机器学习应用程序。
In high-performance computing many performance problems are caused by the memory system. Because such performance bugs are hard to identify, analysis tools play an important role in performance optimization. Today’s processors offer feature-rich performance monitoring units with support for instruction sampling. But existing tools only partially use this data. Previously, performance counters were used to measure the memory bandwidth. But the attribution of high bandwidth to source code has been difficult and imprecise. We introduce a novel method for identifying performance degrading bandwidth usage and attributing it to specific objects and source code lines. This paper also introduces a new method for false sharing detection. It can differentiate false and true sharing, identify objects and source code lines where the accesses to falsely shared objects are happening. It can uncover false sharing, which has been overlooked by previous tools. PerfMemPlus automatically reports those issues by using instruction sampling data captured with a single profiling run. This simplifies the tedious search for the location of performance problems in complex code. The tool design is simple, provides support for many existing and upcoming processors and the recorded data can be easily used in future research. We show that PerfMemPlus can automatically report performance problems without producing false positives. Additionally, we present case studies that show how PerfMemPlus can pinpoint memory performance problems in the PARSEC benchmarks and machine learning applications.