Hardware performance counters (HPCs) are facilities offered by most off-the-shelf CPU architectures. They are a vital support to post-mortem performance profiling and are exploited by standard tools such as Linux or Intel V-Tune. Nevertheless, an increasing number of application domains (e.g., simulation, task-based high-performance computing, or cybersecurity) are exploiting them to perform different activities, such as self-tuning, autonomic optimization, and/or system inspection. This repurposing of HPCs can be difficult, for example, because of the overhead for extracting relevant information. This overhead might render any online or self-tuning activity ineffective. This article discusses various practical strategies to exploit HPCs beyond post-mortem profiling, suitable for different application contexts. The presented strategies are accompanied by a general primer on HPCs usage on Linux. We also provide reference x86 (both Intel and AMD) implementations targeting the Linux kernel, upon which we present an experimental assessment of the viability of our proposals.

Carnà, S., Marotta, R., Pellegrini, A., Quaglia, F. (2023). Strategies and software support for the management of hardware performance counters. SOFTWARE-PRACTICE & EXPERIENCE, 53(10), 1928-1957 [10.1002/spe.3236].

Strategies and software support for the management of hardware performance counters

Marotta, Romolo;Pellegrini, Alessandro
;
Quaglia, Francesco
2023-01-01

Abstract

Hardware performance counters (HPCs) are facilities offered by most off-the-shelf CPU architectures. They are a vital support to post-mortem performance profiling and are exploited by standard tools such as Linux or Intel V-Tune. Nevertheless, an increasing number of application domains (e.g., simulation, task-based high-performance computing, or cybersecurity) are exploiting them to perform different activities, such as self-tuning, autonomic optimization, and/or system inspection. This repurposing of HPCs can be difficult, for example, because of the overhead for extracting relevant information. This overhead might render any online or self-tuning activity ineffective. This article discusses various practical strategies to exploit HPCs beyond post-mortem profiling, suitable for different application contexts. The presented strategies are accompanied by a general primer on HPCs usage on Linux. We also provide reference x86 (both Intel and AMD) implementations targeting the Linux kernel, upon which we present an experimental assessment of the viability of our proposals.
2023
Pubblicato
Rilevanza internazionale
Articolo
Esperti anonimi
Settore ING-INF/05
English
Autonomic computing
Hardware performance counters
Profiling
Self-tuning
Carnà, S., Marotta, R., Pellegrini, A., Quaglia, F. (2023). Strategies and software support for the management of hardware performance counters. SOFTWARE-PRACTICE & EXPERIENCE, 53(10), 1928-1957 [10.1002/spe.3236].
Carnà, S; Marotta, R; Pellegrini, A; Quaglia, F
Articolo su rivista
File in questo prodotto:
File Dimensione Formato  
Car23.pdf

solo utenti autorizzati

Tipologia: Documento in Post-print
Licenza: Copyright dell'editore
Dimensione 996.37 kB
Formato Adobe PDF
996.37 kB Adobe PDF   Visualizza/Apri   Richiedi una copia

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/2108/363223
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 0
  • ???jsp.display-item.citation.isi??? 0
social impact