Title
CollectionSwitch: a framework for efficient and dynamic collection selection.
Abstract
Selecting collection data structures for a given application is a crucial aspect of the software development. Inefficient usage of collections has been credited as a major cause of performance bloat in applications written in Java, C++ and C#. Furthermore, a single implementation might not be optimal throughout the entire program execution. This demands an adaptive solution that adjusts at runtime the collection implementations to varying workloads. We present CollectionSwitch, an application-level framework for efficient collection adaptation. It selects at runtime collection implementations in order to optimize the execution and memory performance of an application. Unlike previous works, we use workload data on the level of collection allocation sites to guide the optimization process. Our framework identifies allocation sites which instantiate suboptimal collection variants, and selects optimized variants for future instantiations. As a further contribution we propose adaptive collection implementations which switch their underlying data structures according to the size of the collection. We implement this framework in Java, and demonstrate the improvements in terms of time and memory behavior across a range of benchmarks. To our knowledge, it is the first approach which is capable of runtime performance optimization of Java collections with very low overhead.
Year
DOI
Venue
2018
10.1145/3168825
CGO
Keywords
Field
DocType
data structure, performance, optimization, adaptive algorithms
Collection selection,Data structure,Java collections framework,Computer science,Workload,Parallel computing,Implementation,Java,Software development,Distributed computing
Conference
ISSN
ISBN
Citations 
2164-2397
978-1-4503-5617-6
0
PageRank 
References 
Authors
0.34
0
2
Name
Order
Citations
PageRank
Diego Costa141.78
Artur Andrzejak224527.47