Search-Based Energy Optimization of Some Ubiquitous Algorithms

被引:9
作者
Brownlee, Alexander Edward Ian [1 ]
Burles, Nathan [2 ]
Swan, Jerry [3 ]
机构
[1] Univ Stirling, Div Comp Sci & Math, Stirling FK9 4LA, Scotland
[2] IBM United Kingdom Ltd, York YO10 5GA, N Yorkshire, England
[3] Univ York, York Ctr Complex Syst Anal, York YO10 5DD, N Yorkshire, England
来源
IEEE TRANSACTIONS ON EMERGING TOPICS IN COMPUTATIONAL INTELLIGENCE | 2017年 / 1卷 / 03期
基金
英国工程与自然科学研究理事会;
关键词
Energy; !text type='Java']Java[!/text; search based software engineering;
D O I
10.1109/TETCI.2017.2699193
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
Reducing computational energy consumption is of growing importance, particularly at the extremes (i.e., mobile devices and datacentres). Despite the ubiquity of the Java virtual machine (JVM), very little work has been done to apply search-based software engineering (SBSE) to minimize the energy consumption of programs that run on it. We describe OPACITOR, a tool for measuring the energy consumption of JVM programs using a bytecode level model of energy cost. This has several advantages over time-based energy approximations or hardware measurements. It is 1) deterministic, 2) unaffected by the rest of the computational environment, 3) able to detect small changes in execution profile, making it highly amenable to metaheuristic search, which requires locality of representation. We show how generic SBSE approaches coupled with OPACITOR achieve substantial energy savings for three widely used software components. Multilayer perceptron implementations minimizing both energy and error were found, and energy reductions of up to 70% and 39.85% were obtained over the original code for Quicksort and object-oriented container classes, respectively. These highlight three important considerations for automatically reducing computational energy: tuning software to particular distributions of data; trading off energy use against functional properties; and handling internal dependencies that can exist within software that render simple sweeps over program variants sub-optimal. Against these, global search greatly simplifies the developer's job, freeing development time for other tasks.
引用
收藏
页码:188 / 201
页数:14
相关论文
共 69 条
[1]  
Aggarwal K, 2015, PROC IEEE INT CONF S, P311, DOI 10.1109/ICSM.2015.7332477
[2]  
Agostinelli F., 2014, arXiv preprint arXiv:1412.6830
[3]  
[Anonymous], 2015, P INT WORKSH SOFTW D
[4]  
[Anonymous], 2003, P INT C COMP INT NAT
[5]  
[Anonymous], 2013, ESSENTIALS METAHEURI
[6]  
[Anonymous], 2009, Using code perforation to improve performance, reduce energy consumption, and respond to failures
[7]  
[Anonymous], 2015, P COMP PUBL ANN C GE
[8]  
[Anonymous], 2014, 11 WORKING C MINING
[9]   A Practical Guide for Using Statistical Tests to Assess Randomized Algorithms in Software Engineering [J].
Arcuri, Andrea ;
Briand, Lionel .
2011 33RD INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE), 2011, :1-10
[10]  
Atallah M., 2009, ALGORITHMS THEORY CO, V1, P3