Safe and flexible adaptation via alternate data structure representations
Document Type
Conference Proceeding
Publication Date
3-17-2016
Abstract
The choice of data structures is crucial for achieving high performance. For applications that are long-running and/or operate on large data sets, the best choice for main data structures can change multiple times over the course of a single execution. For example, in a graph-processing application where the graph evolves over time, the best data structure for representing the graph may change as the program executes. Similarly, in a database or a key-value store application, with changes in relative frequencies of different types of queries over time, the most efficient data structure changes as well. We introduce an approach that allows applications to adapt to current conditions (input characteristics, operations on data, state) by switching their data structures on-the-fly with little overhead and without the developer worrying about safety or specifying adaptation points (this is handled by our compiler infrastructure). We use our approach on different classes of problems that are computeand memory-intensive: graph algorithms, database indexing, and two real-world applications, the Memcached object cache and the Space Tyrant online game server. Our results show that off-the-shelf applications can be transformed into adaptive applications with modest programmer effort; that the adaptive versions outperform the original, fixed-representation versions; and that adaptation can be performed on-the-fly safely and with very little runtime overhead.
Identifier
84966667757 (Scopus)
ISBN
[9781450342414]
Publication Title
Proceedings of Cc 2016 the 25th International Conference on Compiler Construction
External Full Text Location
https://doi.org/10.1145/2892208.2892220
First Page
34
Last Page
44
Recommended Citation
Kusum, Amlan; Neamtiu, Iulian; and Gupta, Rajiv, "Safe and flexible adaptation via alternate data structure representations" (2016). Faculty Publications. 10623.
https://digitalcommons.njit.edu/fac_pubs/10623
