arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 2103.04933cs.SE
收藏

DepGraph:使用等待依赖图和软件跟踪定位多核应用中的性能瓶颈

DepGraph: Localizing Performance Bottlenecks in Multi-Core Applications Using Waiting Dependency Graphs and Software Tracing

Naser Ezzati-Jivan, Quentin Fournier, Michel R. Dagenais, Abdelwahab Hamou-Lhadj

摘要:

本文解决的挑战,了解等待之间的依赖关系的线程和硬件资源完成任务所需的。其目标是通过检测系统级阻塞依赖引起的潜在瓶颈来提高软件性能。在本文中,我们使用一个系统级的跟踪方法来提取一个等待依赖图,显示了所有交错的线程和资源之间的任务执行的故障。该方法允许开发人员和系统管理员快速发现总执行时间如何在其交互线程和资源之间分配。最终,该方法有助于检测瓶颈并突出其可能的原因。我们的实验表明,所提出的方法在几个行业级用例的有效性。三个性能异常进行了分析和解释,使用所提出的方法。对方法效率的评估表明,强加的开销从未超过10.1%,因此使其适用于生产环境。

英文摘要:

This paper addresses the challenge of understanding the waiting dependencies between the threads and hardware resources required to complete a task. The objective is to improve software performance by detecting the underlying bottlenecks caused by system-level blocking dependencies. In this paper, we use a system level tracing approach to extract a Waiting Dependency Graph that shows the breakdown of a task execution among all the interleaving threads and resources. The method allows developers and system administrators to quickly discover how the total execution time is divided among its interacting threads and resources. Ultimately, the method helps detecting bottlenecks and highlighting their possible causes. Our experiments show the effectiveness of the proposed approach in several industry-level use cases. Three performance anomalies are analysed and explained using the proposed approach. Evaluating the method efficiency reveals that the imposed overhead never exceeds 10.1%, therefore making it suitable for in-production environments.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑