Betriebssysteme · Institut für Systemarchitektur · Fakultät Informatik · TU Dresden



27. 06. 2019

uops.info: Characterizing Latency, Throughput, and Port Usage of Instructions on Intel Microarchitectures


Andreas Abel

Universität des Saarlandes

Sondertermin (APB 31005 10:00)

Modern microarchitectures are some of the world's most complex man-made systems. As a consequence, it is increasingly difficult to predict, explain, let alone optimize the performance of software running on such microarchitectures. As a basis for performance predictions and optimizations, we would need faithful models of their behavior, which are, unfortunately, seldom available.

In this talk, we present the design and implementation of a tool to construct faithful models of the latency, throughput, and port usage of x86 instructions. To this end, we first discuss common notions of instruction throughput and port usage, and introduce a more precise definition of latency that, in contrast to previous definitions, considers dependencies between different pairs of input and output operands. We then develop novel algorithms to infer the latency, throughput, and port usage based on automatically-generated microbenchmarks that are more accurate and precise than existing work.

To facilitate the rapid construction of optimizing compilers and tools for performance prediction, the output of our tool is provided in a machine-readable format. We provide experimental results for processors of all generations of Intel's Core architecture, i.e., from Nehalem to Cannon Lake, and discuss various cases where the output of our tool differs considerably from prior work.

28. Aug 2019
· Copyright © 2001-2019 Operating Systems Group, TU Dresden | Impressum ·