An Accurate Tool for Modeling, Fingerprinting, Comparison, and Clustering of Parallel Applications Based on Performance Counters

Vitor Ramos, C. Valderrama, S. X. D. Souza, P. Manneback
{"title":"An Accurate Tool for Modeling, Fingerprinting, Comparison, and Clustering of Parallel Applications Based on Performance Counters","authors":"Vitor Ramos, C. Valderrama, S. X. D. Souza, P. Manneback","doi":"10.1109/IPDPSW.2019.00130","DOIUrl":null,"url":null,"abstract":"The analysis of application performance is essential to better exploit its potential on High-Performance Computing (HPC) architectures. Access to performance counters, available in modern processors, allows collecting key information about program behavior to provide the most appropriate HPC execution strategy. In this context, we have developed an accurate tool based on performance counters, which facilitates modeling, fingerprinting, behavior comparison and clustering of applications. It provides a high-level Python API for accessing and configuring performance counters. While the execution and counters gathering is performed by a C++ module to reduce overheads. Moreover, the accuracy of this multiplatform tool was also compared to existing alternatives. Key features, such as performance counters collection, post-processing, and comparison, enable fingerprinting of applications, an important step in understanding program behavior for later classification and optimization according to the parameters characterizing the target HPC platform. For demonstration purposes, the tool was used in the clustering of Polybench applications, a frequently used benchmark set for kernels monitoring. This clustering helped the identification of applications with similar and comparable behaviors in terms of input size, data accesses and movements, resource utilization, and computation, which facilitates the creation of test sets for a given environment, according to specific measurement parameters.","PeriodicalId":292054,"journal":{"name":"2019 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2019-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"5","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2019 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/IPDPSW.2019.00130","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 5

Abstract

The analysis of application performance is essential to better exploit its potential on High-Performance Computing (HPC) architectures. Access to performance counters, available in modern processors, allows collecting key information about program behavior to provide the most appropriate HPC execution strategy. In this context, we have developed an accurate tool based on performance counters, which facilitates modeling, fingerprinting, behavior comparison and clustering of applications. It provides a high-level Python API for accessing and configuring performance counters. While the execution and counters gathering is performed by a C++ module to reduce overheads. Moreover, the accuracy of this multiplatform tool was also compared to existing alternatives. Key features, such as performance counters collection, post-processing, and comparison, enable fingerprinting of applications, an important step in understanding program behavior for later classification and optimization according to the parameters characterizing the target HPC platform. For demonstration purposes, the tool was used in the clustering of Polybench applications, a frequently used benchmark set for kernels monitoring. This clustering helped the identification of applications with similar and comparable behaviors in terms of input size, data accesses and movements, resource utilization, and computation, which facilitates the creation of test sets for a given environment, according to specific measurement parameters.
基于性能计数器的并行应用程序建模、指纹、比较和聚类的精确工具
对应用程序性能的分析对于更好地利用其在高性能计算(HPC)体系结构上的潜力至关重要。访问现代处理器中可用的性能计数器,允许收集有关程序行为的关键信息,以提供最合适的HPC执行策略。在这种情况下,我们开发了一个基于性能计数器的精确工具,它有助于应用程序的建模、指纹识别、行为比较和聚类。它提供了一个高级Python API来访问和配置性能计数器。而执行和计数器收集则由c++模块执行,以减少开销。此外,还将该多平台工具的精度与现有替代工具进行了比较。关键特性,如性能计数器收集、后处理和比较,支持应用程序的指纹识别,这是理解程序行为的重要步骤,以便稍后根据目标HPC平台的特征参数进行分类和优化。出于演示目的,在Polybench应用程序的集群中使用了该工具,Polybench是用于内核监视的常用基准集。这种聚类有助于识别在输入大小、数据访问和移动、资源利用和计算方面具有相似和可比较行为的应用程序,这有助于根据特定的度量参数为给定环境创建测试集。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信