Skip to Main content Skip to Navigation
Preprints, Working Papers, ...

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

Nicolas Derumigny 1 Fabian Gruber 1 Théophile Bastian 2 Guillaume Iooss 1 Christophe Guillon 3 Louis-Noel Pouchet 4 Fabrice Rastello 1
1 CORSE - Compiler Optimization and Run-time Systems
LIG - Laboratoire d'Informatique de Grenoble, Inria Grenoble - Rhône-Alpes
4 ALCHEMY - Architectures, Languages and Compilers to Harness the End of Moore Years
LRI - Laboratoire de Recherche en Informatique, UP11 - Université Paris-Sud - Paris 11, Inria Saclay - Ile de France, CNRS - Centre National de la Recherche Scientifique : UMR8623
Abstract : 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.
Document type :
Preprints, Working Papers, ...
Complete list of metadata
Contributor : Nicolas Derumigny <>
Submitted on : Tuesday, January 19, 2021 - 12:10:02 PM
Last modification on : Thursday, March 4, 2021 - 2:17:32 PM


Files produced by the author(s)


  • HAL Id : hal-03114933, version 1


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-03114933⟩



Record views


Files downloads