Data-Oriented Characterization of Application-Level Energy Optimization

  • Kenan LiuEmail author
  • Gustavo Pinto
  • Yu David Liu
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9033)


Empowering application programmers to make energy-aware decisions is a critical dimension of energy optimization for computer systems. In this paper, we study the energy impact of alternative data management choices by programmers, such as data access patterns, data precision choices, and data organization. Second, we attempt to build a bridge between application-level energy management and hardware-level energy management, by elucidating how various application-level data management features respond to Dynamic Voltage and Frequency Scaling (DVFS). Finally, we apply our findings to real-world applications, demonstrating their potential for guiding application-level energy optimization. The empirical study is particularly relevant in the Big Data era, where data-intensive applications are large energy consumers, and their energy efficiency is strongly correlated to how data are maintained and handled in programs.


Energy consumption Application-level data management 


  1. 1.
    Baek, W., Chilimbi, T.: Green: A framework for supporting energy-conscious programming using controlled approximation. In: PLDI (2010)Google Scholar
  2. 2.
    Cao, T., Blackburn, S., Gao, T., McKinley, K.: The yin and yang of power and performance for asymmetric hardware and managed software. In: ISCA (2012)Google Scholar
  3. 3.
    Carbin, M., Kim, D., Misailovic, S., Rinard, M.: Proving acceptability properties of relaxed nondeterministic approximate programs. In: PLDI (2012)Google Scholar
  4. 4.
    Cohen, M., Zhu, H., Emgin, S., Liu, Y.: Energy types. In: OOPSLA (2012)Google Scholar
  5. 5.
    David, H., Gorbatov, E., Hanebutte, U., Khanna, R., Le, C.: Rapl: Memory power estimation and capping. In: ISLPED (2010)Google Scholar
  6. 6.
    Dong, M., Zhong, L.: Self-constructive high-rate system energy modeling for battery-powered mobile systems. In: MobiSys (2011)Google Scholar
  7. 7.
    Farkas, K., Flinn, J., Back, G., Grunwald, D., Anderson, J.: Quantifying the energy consumption of a pocket computer and a java virtual machine. In: SIGMETRICS (2000)Google Scholar
  8. 8.
    Goldberg, D.: What every computer scientist should know about floating-point arithmetic. ACM Comput. Surv. 23(1), 5–48 (1991)CrossRefGoogle Scholar
  9. 9.
    Hähnel, M., Döbel, B., Völp, M., Härtig, H.: Measuring energy consumption for short code paths using rapl. SIGMETRICS Perform. Eval. Rev. 40(3), 13–17 (2012)CrossRefGoogle Scholar
  10. 10.
    Hao, S., Li, D., Halfond, W., Govindan, R.: Estimating mobile application energy consumption using program analysis. In: ICSE (2013)Google Scholar
  11. 11.
    Horowitz, M., Indermaur, T., Gonzalez, R.: Low-power digital design. In: IEEE Symposium Low Power Electronics (1994)Google Scholar
  12. 12.
    Kambadur, M., Kim, M.A.: An experimental survey of energy management across the stack. In: OOPSLA, pp. 329–344 (2014)Google Scholar
  13. 13.
    Kwon, Y., Tilevich, E.: Reducing the energy consumption of mobile applications behind the scenes. In: ICSM (2013)Google Scholar
  14. 14.
    Li, D., Hao, S., Halfond, W., Govindan, R.: Calculating source line level energy information for android applications. In: ISSTA (2013)Google Scholar
  15. 15.
    Liu, Y.D.: Energy-efficient synchronization through program patterns. In: Proceedings of GREENS 2012 (2012)Google Scholar
  16. 16.
    Pinto, G., Castor, F., Liu, Y.: Mining questions about software energy consumption. In: MSR (2014)Google Scholar
  17. 17.
    Pinto, G., Castor, F., Liu, Y.: Understanding energy behaviors of thread management constructs. In: OOPSLA (2014)Google Scholar
  18. 18.
    Ribic, H., Liu, Y.: Energy-efficient work-stealing language runtimes. In: ASPLOS (2014)Google Scholar
  19. 19.
    Sahin, C., Pollock, L., Clause, J.: How do code refactorings affect energy usage? In: ESEM (2014)Google Scholar
  20. 20.
    Seo, S.C., Malek, Medvidovic, N.: Estimating the energy consumption in pervasive java-based systems. In: PerCom (2008)Google Scholar
  21. 21.
    Subramaniam, B., Feng, W.-c.: Towards energy-proportional computing for enterprise-class server workloads. In: ICPE (2013)Google Scholar
  22. 22.
    Tiwari, V., Malik, S., Wolfe, A., Lee, M.: Instruction level power analysis and optimization of software. Journal of VLSI Signal Processing 13, 1–18 (1996)CrossRefGoogle Scholar
  23. 23.
    Zhu, H.S., Lin, C., Liu, Y.D.: A programming model for sustainable software. In: ICSE 2015 (May 2015)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2015

Authors and Affiliations

  1. 1.State University of New YorkBinghamtonUSA
  2. 2.Federal University of PernambucoRecifeBrazil

Personalised recommendations