vix.ing · top · new · best · stats · spec

PALMED: Throughput Characterization for Superscalar Architectures --\n Extended Version

2020/12/21 by Nicolas Derumigny, Fabian Gruber, Fabian M. Gruber +12 · 1 voice
Computer Science · Engineering · #Parallel Computing and Optimization Techniques #Ferroelectric and Negative Capacitance Devices #Cloud Computing and Resource Management

paper · pdf · doi:10.48550/arxiv.2012.11473

Abstract

In a super-scalar architecture, the scheduler dynamically assigns\nmicro-operations (\μOPs) to execution ports. The port mapping of an\narchitecture describes how an instruction decomposes into \μOPs and lists\nfor each \μOP the set of ports it can be mapped to. It is used by compilers\nand performance debugging tools to characterize the performance throughput of a\nsequence of instructions repeatedly executed as the core component of a loop.\n This paper introduces a dual equivalent representation: The resource mapping\nof an architecture is an abstract model where, to be executed, an instruction\nmust use a set of abstract resources, themselves representing combinations of\nexecution ports. For a given architecture, finding a port mapping is an\nimportant but difficult problem. Building a resource mapping is a more\ntractable problem and provides a simpler and equivalent model. This paper\ndescribes Palmed, a tool that automatically builds a resource mapping for\npipelined, super-scalar, out-of-order CPU architectures. Palmed does not\nrequire hardware performance counters, and relies solely on runtime\nmeasurements.\n We evaluate the pertinence of our dual representation for throughput modeling\nby extracting a representative set of basic-blocks from the compiled binaries\nof the SPEC CPU 2017 benchmarks. We compared the throughput predicted by\nexisting machine models to that produced by Palmed, and found comparable\naccuracy to state-of-the art tools, achieving sub-10 % mean square error rate\non this workload on Intel's Skylake microarchitecture.\n

Discussions

Related