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

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

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

https://hal.inria.fr/hal-03114933
Contributor : Nicolas Derumigny <>
Submitted on : Tuesday, January 19, 2021 - 12:10:02 PM
Last modification on : Tuesday, May 4, 2021 - 2:06:02 PM

File

main.pdf
Files produced by the author(s)

Identifiers

  • HAL Id : hal-03114933, version 1

Collections

Citation

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⟩

Share

Metrics

Record views

79

Files downloads

287