Title
Characterizing Performance and Cache Impacts of Code Multi-versioning on Multicore Architectures
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.
Year
DOI
Venue
2017
10.1109/PDP.2017.77
2017 25th Euromicro International Conference on Parallel, Distributed and Network-based Processing (PDP)
Keywords
Field
DocType
multi-versioning,instruction cache,binary generation,code size,dynamic optimization
Categorization,Cache pollution,Computer science,Cache,Parallel computing,Cache algorithms,Cache coloring,Multi-core processor,Binary number,Software versioning,Distributed computing
Conference
ISSN
ISBN
Citations 
1066-6192
978-1-5090-6059-7
0
PageRank 
References 
Authors
0.34
9
3
Name
Order
Citations
PageRank
Peter Zangerl131.76
Peter Thoman27913.20
Thomas Fahringer32847254.09