Skip to main content

Application-Level Energy Awareness for OpenMP

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 9342))

Abstract

Power, and consequently energy, has recently attained first-class system resource status, on par with conventional metrics such as CPU time. To reduce energy consumption, many hardware- and OS-level solutions have been investigated. However, application-level information - which can provide the system with valuable insights unattainable otherwise - was only considered in a handful of cases. We introduce OpenMPE, an extension to OpenMP designed for power management. OpenMP is the de-facto standard for programming parallel shared memory systems, but does not yet provide any support for power control. Our extension exposes (i) per-region multi-objective optimization hints and (ii) application-level adaptation parameters, in order to create energy-saving opportunities for the whole system stack. We have implemented OpenMPE support in a compiler and runtime system, and empirically evaluated its performance on two architectures, mobile and desktop. Our results demonstrate the effectiveness of OpenMPE with geometric mean energy savings across 9 use cases of 15 % while maintaining full quality of service.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

References

  1. Chandrakasan, A.P., et al.: Low-power CMOS digital design. IEEE J. Solid State Circuits 27(4), 473–484 (1992)

    Article  Google Scholar 

  2. Chen, H., et al.: Anole: a case for energy-aware mobile application design. In: 2012 41st International Conference on Parallel Processing Workshops (ICPPW), pp. 232–238 (2012)

    Google Scholar 

  3. Curtis-Maury, M., et al.: Prediction models for multi-dimensional power-performance optimization on many cores. In: Proceedings of the 17th International Conference on Parallel Architectures and Compilation Techniques (PACT 2008), pp. 250–259. ACM, Toronto, Ontario, Canada (2008)

    Google Scholar 

  4. Dhodapkar, A.S., Smith, J.E.: Comparing program phase detection techniques. In: Proceedings of the 36th IEEE/ACM International Symposium on Microarchitecture (MICRO 36). IEEE Computer Society, Washington, DC, USA (2003)

    Google Scholar 

  5. Flautner, K., et al.: Automatic performance setting for dynamic voltage scaling. Wirel. Netw. 8(5), 507–520 (2002)

    Article  MATH  Google Scholar 

  6. Flinn, J., Satyanarayanan, M.: Energy-aware adaptation for mobile applications. In: Proceedings of the Seventeenth ACM Symposium on Operating Systems Principles (SOSP 1999), pp. 48–63. ACM, Charleston, South Carolina, USA (1999)

    Google Scholar 

  7. Flinn, J., Satyanarayanan, M.: Managing battery lifetime with energy-aware adaptation. ACM Trans. Comput. Syst. 22(2), 137–179 (2004)

    Article  Google Scholar 

  8. Fritts, J.E., et al.: MediaBench II video: expediting the next generation of video systems research. Microprocess. Microsyst. 33(4), 301–318 (2009)

    Article  Google Scholar 

  9. Hewlett-Packard Corp., Intel Corp., Microsoft Corp., Phoenix Technologies Ltd., Toshiba Corp., Advanced Configuration and Power Interface Specification (ACPI). Specification Revision 5.0. (2013)

    Google Scholar 

  10. Hsu, C.-H., Feng, W.-C.: A power-aware run-time system for high-performance computing. In: Proceedings of the 2005 ACM/IEEE Conference on Supercomputing (SC 2005), pp. 1. IEEE Computer Society, Washington, DC, USA (2005)

    Google Scholar 

  11. Hsu, C.-H., Kremer, U.: The design, implementation, and evaluation of a compiler algorithm for CPU energy reduction. In: Proceedings of the ACM SIGPLAN 2003 Conference on Programming Language Design and Implementation (PLDI 2003), pp. 38–48. ACM, San Diego, California, USA (2003)

    Google Scholar 

  12. Jordan, H., et al.: A multi-objective auto-tuning framework for parallel codes. In: Proceedings of the International Conference on High Performance Computing, Networking, Storage and Analysis (SC 2012), pp. 10:1–10:12. IEEE Computer Society Press, Salt Lake City, Utah (2012)

    Google Scholar 

  13. Li, D., et al.: Hybrid MPI/OpenMP power-aware computing. In: 2010 IEEE International Symposium on Parallel Distributed Processing (IPDPS), pp. 1–12 (2010)

    Google Scholar 

  14. Liu, X., et al.: Chameleon: application-level power management. IEEE Trans. Mob. Comput. 7(8), 995–1010 (2008)

    Article  Google Scholar 

  15. Lorch, J.R., Smith, A.J.: Operating system modifications for task-based speed and voltage. In: Proceedings of the 1st International Conference on Mobile Systems, Applications and Services (MobiSys 2003), pp. 215–229. ACM, San Francisco, California (2003)

    Google Scholar 

  16. OpenMP Architecture Review Board. OpenMP Application Program Interface. Specification Version 4.0. (2013)

    Google Scholar 

  17. Pallipadi, V., Starikovskiy, A.: The ondemand governor. In: Proceedings of the Linux Symposium, vol. 2, pp. 215–230 (2006)

    Google Scholar 

  18. Pettis, N., et al.: Automatic run-time selection of power policies for operating systems. In: Proceedings of the Design, Automation and Test in Europe (DATE 2006), vol. 1, pp. 1–6 (2006)

    Google Scholar 

  19. Rajovic, N., et al.: Supercomputing with commodity CPUs: are mobile SoCs ready for HPC? In: Proceedings of the International Conference on High Performance Computing, Networking, Storage and Analysis (SC 2013), pp. 40:1–40:12. ACM, Denver, Colorado (2013)

    Google Scholar 

  20. Rountree, B., et al.: Adagio: making DVS practical for complex HPC applications. In: Proceedings of the 23rd International Conference on Supercomputing (ICS 2009), pp. 460–469. ACM, Yorktown Heights, NY, USA (2009)

    Google Scholar 

  21. Qiang, W., et al.: Dynamic-compiler-driven control for microprocessor energy and performance. IEEE Micro 26(1), 119–129 (2006)

    Article  Google Scholar 

  22. Yuan, W., Nahrstedt, K.: Practical voltage scaling for mobile multimedia devices. In: Proceedings of the 12th ACM International Conference on Multimedia (MULTIMEDIA 2004), pp. 924–931. ACM, New York, NY, USA (2004)

    Google Scholar 

Download references

Acknowledgments

This research has been partially funded by the FWF Austrian Science Fund under contract I01079 (GEMSCLAIM).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Peter Thoman .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2015 Springer International Publishing Switzerland

About this paper

Cite this paper

Alessi, F., Thoman, P., Georgakoudis, G., Fahringer, T., Nikolopoulos, D.S. (2015). Application-Level Energy Awareness for OpenMP. In: Terboven, C., de Supinski, B., Reble, P., Chapman, B., Müller, M. (eds) OpenMP: Heterogenous Execution and Data Movements. IWOMP 2015. Lecture Notes in Computer Science(), vol 9342. Springer, Cham. https://doi.org/10.1007/978-3-319-24595-9_16

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-24595-9_16

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-24594-2

  • Online ISBN: 978-3-319-24595-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics