Info: Zenodo’s user support line is staffed on regular business days between Dec 23 and Jan 5. Response times may be slightly longer than normal.

Published April 27, 2017 | Version v1
Conference paper Open

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

  • 1. University of Innsbruck

Description

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.

Files

2017_pdp_multiversioning.pdf

Files (795.1 kB)

Name Size Download all
md5:288509855e8cb78525df5b93f441cbf9
795.1 kB Preview Download

Additional details

Related works

Is part of
978-1-5090-6058-0 (ISBN)

Funding

ALLScale – An Exascale Programming, Multi-objective Optimisation and Resilience Management Environment Based on Nested Recursive Parallelism 671603
European Commission