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
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsReferences
Chandrakasan, A.P., et al.: Low-power CMOS digital design. IEEE J. Solid State Circuits 27(4), 473–484 (1992)
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)
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)
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)
Flautner, K., et al.: Automatic performance setting for dynamic voltage scaling. Wirel. Netw. 8(5), 507–520 (2002)
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)
Flinn, J., Satyanarayanan, M.: Managing battery lifetime with energy-aware adaptation. ACM Trans. Comput. Syst. 22(2), 137–179 (2004)
Fritts, J.E., et al.: MediaBench II video: expediting the next generation of video systems research. Microprocess. Microsyst. 33(4), 301–318 (2009)
Hewlett-Packard Corp., Intel Corp., Microsoft Corp., Phoenix Technologies Ltd., Toshiba Corp., Advanced Configuration and Power Interface Specification (ACPI). Specification Revision 5.0. (2013)
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)
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)
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)
Li, D., et al.: Hybrid MPI/OpenMP power-aware computing. In: 2010 IEEE International Symposium on Parallel Distributed Processing (IPDPS), pp. 1–12 (2010)
Liu, X., et al.: Chameleon: application-level power management. IEEE Trans. Mob. Comput. 7(8), 995–1010 (2008)
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)
OpenMP Architecture Review Board. OpenMP Application Program Interface. Specification Version 4.0. (2013)
Pallipadi, V., Starikovskiy, A.: The ondemand governor. In: Proceedings of the Linux Symposium, vol. 2, pp. 215–230 (2006)
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)
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)
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)
Qiang, W., et al.: Dynamic-compiler-driven control for microprocessor energy and performance. IEEE Micro 26(1), 119–129 (2006)
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)
Acknowledgments
This research has been partially funded by the FWF Austrian Science Fund under contract I01079 (GEMSCLAIM).
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights 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)