Article ID Journal Published Year Pages File Type
494091 Sustainable Computing: Informatics and Systems 2012 11 Pages PDF
Abstract

Software applications directly impact on IT energy consumptions as they indirectly guide hardware operations. Optimizing algorithms has a direct beneficial impact on energy efficiency, but it requires domain knowledge and an accurate analysis of the code, which may be infeasible and too costly to perform for large code bases. In this paper we present an approach based on dynamic memoization to increase software energy efficiency. This implies to identify a subset of pure functions that can be tabulated, to automatically store the results corresponding to the most frequent invocations and to dynamically manage the tabulation memory to adapt to workload variation. We implemented a prototype software system to apply memoization and tested it on a set of financial functions. Empirical results on a specific set of computation intensive pure functions show average energy savings of 96.8% and time performance savings of 97%.

Related Topics
Physical Sciences and Engineering Computer Science Computer Science (General)
Authors
, , , ,