【24h】

Software-Defined Events through PAPI

机译:通过PAPI软件定义的事件

获取原文
获取外文期刊封面目录资料

摘要

PAPI has been used for almost two decades as an abstraction and standardization layer for profiling hardware-specific performance metrics. However, application developers-and profiling software packages-are quite often interested in information beyond hardware counters, such as the behavior of libraries used by the software that is being profiled. So far, accessing this information has required interfacing directly with the libraries on a case-by-case basis, or low-level binary instrumentation. In this paper, we introduce the new Software-Defined Event (SDE) component of PAPI which aims to enable PAPI to serve as an abstraction and standardization layer for events that originate in software layers as well. Extending PAPI to include SDEs enables monitoring of both types of performance events-hardware-and software-related events-in a uniform way, through the same consistent PAPI interface. Furthermore, implementing SDE as a PAPI component means that the new API is aimed only at the library developers who wish to export events from within their libraries. The API for reading PAPI events-both hardware and software-remains the same, so all legacy codes and tools that use PAPI will not only continue to work, but they will automatically be able to read SDEs wherever those are available. The goal of this paper is threefold. First, we outline our design decisions regarding the functionality we offer through the new SDE interface, and offer simple examples of usage. Second, we illustrate how those events can be utilized by different software packages, specifically, by showcasing their use in the task-based runtime PaRSEC, and the HPCG supercomputing benchmark. Third, we provide a thorough performance analysis of the overhead that results from monitoring different types of SDEs, and showcase the negligible overhead of using PAPI SDE even in cases of extremely heavy use.
机译:PAPI已被使用近二十年作为抽象和标准化层,用于分析特定于硬件的性能指标。但是,应用程序开发人员和分析软件包 - 通常对超出硬件计数器的信息感兴趣,例如正在配置的软件使用的库的行为。到目前为止,访问此信息需要在逐个案例的基础上直接与库连接,或低级别二进制仪器。在本文中,我们介绍了PAPI的新软件定义的事件(SDE)组件,该组件旨在使PAPI能够作为起源于软件层的事件的抽象和标准化层。扩展PAPI包括SDES,通过相同的一致性PAPI接口,可以以统一的方式监控两种类型的性能事件和软件相关的事件。此外,实现SDE作为PAPI组件意味着新API仅在希望在其库中导出事件的库开发人员。阅读PAPI事件的API - 硬件和软件 - 仍然是相同的,因此所有使用PAPI的传统代码和工具都不仅会继续工作,而且它们将在任何可用的地方读取SDES。本文的目标是三倍。首先,我们概述了我们通过新的SDE界面提供的功能的设计决策,并提供了简单的用法示例。其次,我们说明了如何通过不同的软件包使用这些事件,具体地,通过展示它们在基于任务的运行时Parsec和HPCG超级计算基准测试中使用。第三,我们提供了对监测不同类型的SDES产生的开销的彻底性能分析,并且展示了即使在极其沉重的情况下使用PAPI SDE的可忽略的开销。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号