Check out our new technical report, which presents a thought-experiment on the question of whether engineering an algorithm to optimize time differs from doing so with respect to energy (e.g., Joules).

We describe an energy-based analogue of the time-based roofline model of Williams, Waterman, and Patterson (Comm. ACM, 2009). Our goal is to explain—in simple, analytic terms accessible to algorithm designers and performance tuners—how the time, energy, and power to execute an algorithm relate. The model considers an algorithm in terms of operations, concurrency, and memory traffic; and a machine in terms of the time and energy costs per operation or per word of communica- tion. We confirm the basic form of the model experimentally. From this model, we suggest under what conditions we ought to expect an algorithmic time-energy trade-off, and show how algorithm properties may help inform power management.

Note (January 14, 2013): The above link to the PDF now points to the official version on the Georgia Tech Library’s report repository. If you downloaded an earlier version (dated December 24, 2012), you may wish to re-download this newer version. (The only difference is the addition of Appendix B, made on December 31, 2012.)