Dynamic memoization for energy efficiency in financial applications

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 and to automatically store the results corresponding to the most frequent invocations. We implemented a prototype software system to apply memoization and tested it on a set of financial functions. Empirical results show average energy savings of 74% and time performance savings of 79%.

[1]  Peter Norvig,et al.  Techniques for Automatic Memoization with Applications to Context-Free Parsing , 1991, CL.

[2]  Guy E. Blelloch,et al.  Selective memoization , 2003, POPL '03.

[3]  F. Black,et al.  The Pricing of Options and Corporate Liabilities , 1973, Journal of Political Economy.

[4]  Mahmut T. Kandemir,et al.  A special-purpose compiler for look-up table and code generation for function evaluation , 2010, 2010 Design, Automation & Test in Europe Conference & Exhibition (DATE 2010).

[5]  Chiara Francalanci,et al.  The Impact of MIS Software on IT Energy Consumption , 2010, ECIS.

[6]  Martin D. Westhead,et al.  A methodology for benchmarking Java Grande applications , 1999, JAVA '99.

[7]  David A. Wagner,et al.  Verifiable functional purity in java , 2008, CCS.

[8]  Haiying Xu,et al.  Dynamic purity analysis for java programs , 2007, PASTE '07.

[9]  E. Stanford,et al.  Environmental Trends and Opportunities for Computer System Power Delivery , 2008, 2008 20th International Symposium on Power Semiconductor Devices and IC's.