Predicting data structures for energy efficient computing

Dynamic data structures in software applications have been shown to have a large impact on system performance. In this paper, we explore energy saving opportunities of interface-based dynamic data structures. Our results suggest that opportunities do exist in the C5 Collection, at least 16.95% and up to 97.50%. We propose an architecture for building adaptive green data structures by applying machine learning tools to build a model for predicting energy efficient data structures. Our neural network model can classify energy efficient data structures based on features such as the number of elements, frequency of operations, interface and set/bag semantics. The 10-fold cross validation results show 96.01% accuracy on the training data and 95.80% on the training validation data. Our n-gram model can accurately predict the most energy efficient data structure sequence in 19 simulated and real-world programs-on average, with more than 50% accuracy and up to 98% using a bigram predictor.

[1]  Ron Kohavi,et al.  A Study of Cross-Validation and Bootstrap for Accuracy Estimation and Model Selection , 1995, IJCAI.

[2]  Todd King Dynamic data structures: theory and application , 1992 .

[3]  Norman P. Jouppi,et al.  Single-ISA Heterogeneous Multi-Core Architectures: The Potential for Processor Power Reduction , 2003, MICRO.

[4]  Bruce Jacob,et al.  The Performance and Energy Consumption of Embedded Real-Time Operating Systems , 2003, IEEE Trans. Computers.

[5]  Peter Sestoft,et al.  The C5 Generic Collection Library for C# and CLI , 2006 .

[6]  Josep-Lluís Larriba-Pey,et al.  Dynamic adaptive data structures for monitoring data streams , 2008, Data Knowl. Eng..

[7]  Friedrich Steimann,et al.  Patterns of Interface-Based Programming , 2005, J. Object Technol..

[8]  Francky Catthoor,et al.  Memory-access-aware data structure transformations for embedded software with dynamic data accesses , 2004, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[9]  Jonathan Eastep,et al.  Smart data structures: an online machine learning approach to multicore data structures , 2011, ICAC '11.

[10]  J. Flinn,et al.  Energy-aware adaptation for mobile applications , 1999, SOSP.

[11]  Junya Michanan,et al.  Understanding the power-performance tradeoff through Pareto analysis of live performance data , 2014, International Green Computing Conference.

[12]  Jim McGregor,et al.  Simple C , 1997 .

[13]  Jason Ansel,et al.  Autotuning programs with algorithmic choice , 2014 .