ADP: Automated diagnosis of performance pathologies using hardware events

Wucherl Yoo, Kevin Larson, Lee Baugh, Sangkyum Kim, Roy H. Campbell

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

Performance characterization of applications' hardware behavior is essential for making the best use of available hardware resources. Modern architectures offer access to many hardware events that are capable of providing information to reveal architectural performance bottlenecks throughout the core and memory hierarchy. These events can provide programmers with unique and powerful insights into the causes of the resource bottlenecks in their applications. However, interpreting these events has been a significant challenge. We present an automated system that uses machine learning to identify an application's performance problems. Our system provides programmers with insights about the performance of their applications while shielding them from the onerous task of digesting hardware events. It uses a decision tree algorithm, random forests on our micro-benchmarks to fingerprint the performance problems. Our system divides a profiled application into functions and automatically classifies each function by the dominant hardware resource bottlenecks. Using the classifications from the hotspot functions, we were able to achieve an average speedup of 1.73 from three applications in the PARSEC benchmark suite. Our system provides programmers with a guideline of where, what, and how to fix the detected performance problems in applications, which would have otherwise required considerable architectural knowledge.

Original languageEnglish (US)
Title of host publicationSIGMETRICS/Performance 2012 - Proceedings of the 2012 ACM SIGMETRICS/Performance, Joint International Conference on Measurement and Modeling of Computer Systems
Pages283-294
Number of pages12
Edition1 SPEC. ISS.
DOIs
StatePublished - Aug 13 2012
Event12th Joint International Conference on Measurement and Modeling of Computer Systems, ACM SIGMETRICS/Performance 2012 - London, United Kingdom
Duration: Jun 11 2012Jun 15 2012

Publication series

NamePerformance Evaluation Review
Number1 SPEC. ISS.
Volume40
ISSN (Print)0163-5999

Other

Other12th Joint International Conference on Measurement and Modeling of Computer Systems, ACM SIGMETRICS/Performance 2012
CountryUnited Kingdom
CityLondon
Period6/11/126/15/12

Fingerprint

Administrative data processing
Pathology
Hardware
Decision trees
Shielding
Learning systems
Data storage equipment

Keywords

  • fingerprint
  • hardware event
  • machine learning
  • micro-benchmark
  • performance analysis
  • resource bottleneck

ASJC Scopus subject areas

  • Software
  • Hardware and Architecture
  • Computer Networks and Communications

Cite this

Yoo, W., Larson, K., Baugh, L., Kim, S., & Campbell, R. H. (2012). ADP: Automated diagnosis of performance pathologies using hardware events. In SIGMETRICS/Performance 2012 - Proceedings of the 2012 ACM SIGMETRICS/Performance, Joint International Conference on Measurement and Modeling of Computer Systems (1 SPEC. ISS. ed., pp. 283-294). (Performance Evaluation Review; Vol. 40, No. 1 SPEC. ISS.). https://doi.org/10.1145/2254756.2254791

ADP : Automated diagnosis of performance pathologies using hardware events. / Yoo, Wucherl; Larson, Kevin; Baugh, Lee; Kim, Sangkyum; Campbell, Roy H.

SIGMETRICS/Performance 2012 - Proceedings of the 2012 ACM SIGMETRICS/Performance, Joint International Conference on Measurement and Modeling of Computer Systems. 1 SPEC. ISS. ed. 2012. p. 283-294 (Performance Evaluation Review; Vol. 40, No. 1 SPEC. ISS.).

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Yoo, W, Larson, K, Baugh, L, Kim, S & Campbell, RH 2012, ADP: Automated diagnosis of performance pathologies using hardware events. in SIGMETRICS/Performance 2012 - Proceedings of the 2012 ACM SIGMETRICS/Performance, Joint International Conference on Measurement and Modeling of Computer Systems. 1 SPEC. ISS. edn, Performance Evaluation Review, no. 1 SPEC. ISS., vol. 40, pp. 283-294, 12th Joint International Conference on Measurement and Modeling of Computer Systems, ACM SIGMETRICS/Performance 2012, London, United Kingdom, 6/11/12. https://doi.org/10.1145/2254756.2254791
Yoo W, Larson K, Baugh L, Kim S, Campbell RH. ADP: Automated diagnosis of performance pathologies using hardware events. In SIGMETRICS/Performance 2012 - Proceedings of the 2012 ACM SIGMETRICS/Performance, Joint International Conference on Measurement and Modeling of Computer Systems. 1 SPEC. ISS. ed. 2012. p. 283-294. (Performance Evaluation Review; 1 SPEC. ISS.). https://doi.org/10.1145/2254756.2254791
Yoo, Wucherl ; Larson, Kevin ; Baugh, Lee ; Kim, Sangkyum ; Campbell, Roy H. / ADP : Automated diagnosis of performance pathologies using hardware events. SIGMETRICS/Performance 2012 - Proceedings of the 2012 ACM SIGMETRICS/Performance, Joint International Conference on Measurement and Modeling of Computer Systems. 1 SPEC. ISS. ed. 2012. pp. 283-294 (Performance Evaluation Review; 1 SPEC. ISS.).
@inproceedings{1a4c6bf152ae4f879953a61b996e72bf,
title = "ADP: Automated diagnosis of performance pathologies using hardware events",
abstract = "Performance characterization of applications' hardware behavior is essential for making the best use of available hardware resources. Modern architectures offer access to many hardware events that are capable of providing information to reveal architectural performance bottlenecks throughout the core and memory hierarchy. These events can provide programmers with unique and powerful insights into the causes of the resource bottlenecks in their applications. However, interpreting these events has been a significant challenge. We present an automated system that uses machine learning to identify an application's performance problems. Our system provides programmers with insights about the performance of their applications while shielding them from the onerous task of digesting hardware events. It uses a decision tree algorithm, random forests on our micro-benchmarks to fingerprint the performance problems. Our system divides a profiled application into functions and automatically classifies each function by the dominant hardware resource bottlenecks. Using the classifications from the hotspot functions, we were able to achieve an average speedup of 1.73 from three applications in the PARSEC benchmark suite. Our system provides programmers with a guideline of where, what, and how to fix the detected performance problems in applications, which would have otherwise required considerable architectural knowledge.",
keywords = "fingerprint, hardware event, machine learning, micro-benchmark, performance analysis, resource bottleneck",
author = "Wucherl Yoo and Kevin Larson and Lee Baugh and Sangkyum Kim and Campbell, {Roy H.}",
year = "2012",
month = "8",
day = "13",
doi = "10.1145/2254756.2254791",
language = "English (US)",
isbn = "9781450310970",
series = "Performance Evaluation Review",
number = "1 SPEC. ISS.",
pages = "283--294",
booktitle = "SIGMETRICS/Performance 2012 - Proceedings of the 2012 ACM SIGMETRICS/Performance, Joint International Conference on Measurement and Modeling of Computer Systems",
edition = "1 SPEC. ISS.",

}

TY - GEN

T1 - ADP

T2 - Automated diagnosis of performance pathologies using hardware events

AU - Yoo, Wucherl

AU - Larson, Kevin

AU - Baugh, Lee

AU - Kim, Sangkyum

AU - Campbell, Roy H.

PY - 2012/8/13

Y1 - 2012/8/13

N2 - Performance characterization of applications' hardware behavior is essential for making the best use of available hardware resources. Modern architectures offer access to many hardware events that are capable of providing information to reveal architectural performance bottlenecks throughout the core and memory hierarchy. These events can provide programmers with unique and powerful insights into the causes of the resource bottlenecks in their applications. However, interpreting these events has been a significant challenge. We present an automated system that uses machine learning to identify an application's performance problems. Our system provides programmers with insights about the performance of their applications while shielding them from the onerous task of digesting hardware events. It uses a decision tree algorithm, random forests on our micro-benchmarks to fingerprint the performance problems. Our system divides a profiled application into functions and automatically classifies each function by the dominant hardware resource bottlenecks. Using the classifications from the hotspot functions, we were able to achieve an average speedup of 1.73 from three applications in the PARSEC benchmark suite. Our system provides programmers with a guideline of where, what, and how to fix the detected performance problems in applications, which would have otherwise required considerable architectural knowledge.

AB - Performance characterization of applications' hardware behavior is essential for making the best use of available hardware resources. Modern architectures offer access to many hardware events that are capable of providing information to reveal architectural performance bottlenecks throughout the core and memory hierarchy. These events can provide programmers with unique and powerful insights into the causes of the resource bottlenecks in their applications. However, interpreting these events has been a significant challenge. We present an automated system that uses machine learning to identify an application's performance problems. Our system provides programmers with insights about the performance of their applications while shielding them from the onerous task of digesting hardware events. It uses a decision tree algorithm, random forests on our micro-benchmarks to fingerprint the performance problems. Our system divides a profiled application into functions and automatically classifies each function by the dominant hardware resource bottlenecks. Using the classifications from the hotspot functions, we were able to achieve an average speedup of 1.73 from three applications in the PARSEC benchmark suite. Our system provides programmers with a guideline of where, what, and how to fix the detected performance problems in applications, which would have otherwise required considerable architectural knowledge.

KW - fingerprint

KW - hardware event

KW - machine learning

KW - micro-benchmark

KW - performance analysis

KW - resource bottleneck

UR - http://www.scopus.com/inward/record.url?scp=84864665235&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=84864665235&partnerID=8YFLogxK

U2 - 10.1145/2254756.2254791

DO - 10.1145/2254756.2254791

M3 - Conference contribution

AN - SCOPUS:84864665235

SN - 9781450310970

T3 - Performance Evaluation Review

SP - 283

EP - 294

BT - SIGMETRICS/Performance 2012 - Proceedings of the 2012 ACM SIGMETRICS/Performance, Joint International Conference on Measurement and Modeling of Computer Systems

ER -