Characterizing Performance and Cache Impacts of Code Multi-Versioning on Multicore Architectures

Authors:
Peter Zangerl, Peter Thoman, Thomas Fahringer

Abstract: Code multi-versioning is an increasingly widely adopted tool for
implementing optimizations which respond to unknown or dynamically
changing runtime conditions, without the performance overhead of
just-in-time compilation. A common concern in its use is instruction
cache performance, due to larger binary sizes increasing cache pressure
on the one hand and more unpredictable branching on the other.

------

Not published yet. Here is the link to the conference program:
http://pdp2017.org/program.html

Authors:
Peter Zangerl, Peter Thoman, Thomas Fahringer

Abstract: Code multi-versioning is an increasingly widely adopted tool for
implementing optimizations which respond to unknown or dynamically
changing runtime conditions, without the performance overhead of
just-in-time compilation. A common concern in its use is instruction
cache performance, due to larger binary sizes increasing cache pressure
on the one hand and more unpredictable branching on the other.

Despite this ongoing interest, there has been no comprehensive study of
the impact of multi-versioning so far -- particularly in a
multi-threaded setting. In this paper, we present a categorization of
the parameter space potentially affecting multi-versioned performance, a
toolset for exploring this space, and an in-depth characterization of
three hardware platforms using this toolset.
------

Not published yet. Here is the link to the conference program:
http://pdp2017.org/program.html

This project has received funding from the European Union’s Horizon 2020 research and innovation programme under grant agreement No 671603

Contact Details

General Coordinator

Thomas Fahringer

Scientific Coordinator

Herbert Jordan