Tech report: Energy rooflines

Rooflines in time vs. "archlines" in energy

Rooflines in time vs. “archlines” in energy

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).

  • Jee Whan Choi, Richard Vuduc. “A roofline model of energy.” Technical report no. GT-CSE-12-01, Georgia Institute of Technology, School of Computational Science and Engineering, Atlanta, GA, USA, December 2012. [PDF (452 KiB)]

Abstract

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.

Subject area: High-Performance Computing
Keywords: performance analysis; power and energy modeling; computational intensity; machine balance; roofline model

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.)

Add Your Comments

Disclaimer
Your email is never published nor shared.
Required
Required
Tips

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <ol> <ul> <li> <strong>

Ready?