From micro-OPs to abstract resources: constructing a simpler CPU performance model through microbenchmarking - Systèmes Répartis, Calcul Parallèle et Réseaux Accéder directement au contenu
Pré-Publication, Document De Travail Année : 2021

From micro-OPs to abstract resources: constructing a simpler CPU performance model through microbenchmarking

Résumé

This paper describes Palmed, a tool that automatically builds a resource mapping, a performance model for pipelined, super-scalar, out-of-order CPU architectures. Resource mappings describe the execution of a program by assigning instructions in the program to abstract resources. They can be used to predict the throughput of basic blocks or as a machine model for the backend of an optimizing compiler. Palmed does not require hardware performance counters, and relies solely on runtime measurements to construct resource mappings. This allows it to model not only execution port usage, but also other limiting resources, such as the frontend or the reorder buffer. Also, thanks to a dual representation of resource mappings, our algorithm for constructing mappings scales to large instruction sets, like that of x86. We evaluate the algorithmic contribution of the paper in two ways. First by showing that our approach can reverse engineering an accurate resource mapping from an idealistic performance model produced by an existing port-mapping. We also evaluate the pertinence of our dual representation, as opposed to the standard port-mapping, for throughput modeling by extracting a representative set of basic-blocks from the compiled binaries of the Spec CPU 2017 benchmarks and comparing the throughput predicted by existing machine models to that produced by Palmed.
Fichier principal
Vignette du fichier
main.pdf (1.8 Mo) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)

Dates et versions

hal-03114933 , version 1 (19-01-2021)
hal-03114933 , version 2 (17-01-2022)
hal-03114933 , version 3 (18-01-2022)

Identifiants

  • HAL Id : hal-03114933 , version 1

Citer

Nicolas Derumigny, Fabian Gruber, Théophile Bastian, Guillaume Iooss, Christophe Guillon, et al.. From micro-OPs to abstract resources: constructing a simpler CPU performance model through microbenchmarking. 2021. ⟨hal-03114933v1⟩

Collections

ENS-PARIS PSL
271 Consultations
170 Téléchargements

Partager

Gmail Facebook X LinkedIn More