Advertisement

Abstract

Software products are usually required to meet some static or dynamic properties. Well-known examples of dynamic properties are the program execution time and the related goal of software performance optimization. Because of the increasing importance of ecological and environmental issues, also the energy consumption of software products is a dynamic property of increasing importance. Modern computer systems already provide features, such as multicores and voltage-frequency scaling, to support the reduction of the energy consumption of software. However, a low program execution time and a good energy efficiency might be conflicting goals and it may be difficult so simultaneously reduce the program execution time and the energy consumption. In this article, the relation between energy effort and execution time of software is investigated and a software tuning method for task-based programs is proposed, which appraises different program versions and different task structures concerning their execution time and energy consumption with the objective to pick the most favorable solution.

Keywords

Software tuning Energy effort Execution time Task-based programs 

Notes

Acknowledgement

This work was performed within the Federal Cluster of Excellence EXC 1075 “MERGE Technologies for Multifunctional Lightweight Structures” and supported by the German Research Foundation (DFG). This work is also supported by the German Ministry of Science and Education (BMBF) under project number 01IH16012A/B. Financial support is gratefully acknowledged.

References

  1. 1.
    OpenMP Architecture Review Board: OpenMP Application Program Interface, Version 4.5. (2015)Google Scholar
  2. 2.
    Leijen, D., Schulte, W., Burckhardt, S.: The design of a task parallel library. In: Proceedings of the 24th ACM SIGPLAN Conference on Object Oriented Programming Systems Languages and Applications, OOPSLA 2009, pp. 227–242. ACM, New York (2009)Google Scholar
  3. 3.
    Blumofe, R., Joerg, C., Kuszmaul, B., Leiserson, C., Randall, K., Zhou, Y.: Cilk: an efficient multithreaded runtime system. J. Parallel Distrib. Comput. 37(1), 55–69 (1996)CrossRefGoogle Scholar
  4. 4.
    Kale, L., Bohm, E., Mendes, C., Wilmarth, T., Zheng, G.: Programming petascale applications with Charm++ and AMPI. In: Bader, D. (ed.) Petascale Computing: Algorithms and Applications, pp. 421–441. Chapman & Hall/CRC Press, Boca Raton (2008)Google Scholar
  5. 5.
    Rauber, T., Rünger, G.: Tlib - a library to support programming with hierarchical multi-processor tasks. J. Parallel Distrib. Comput. 65(3), 347–360 (2005)CrossRefGoogle Scholar
  6. 6.
    Zhuo, J., Chakrabarti, C.: Energy-efficient dynamic task scheduling algorithms for DVS systems. ACM Trans. Embed. Comput. Syst. 7(2), 1–25 (2008)CrossRefGoogle Scholar
  7. 7.
    Lee, Y., Zomaya, A.: minimizing energy consumption for precedence-constrained applications using dynamic voltage scaling. In: Proceedings of the 2009 9th IEEE/ACM International Symposium on Cluster Computing and the Grid, CCGRID 2009, pp. 92–99. IEEE Computer Society (2009)Google Scholar
  8. 8.
    Korthikanti, V., Agha, G.: Towards optimizing energy costs of algorithms for shared memory architectures. In: Proceedings of the 22nd ACM Symposium on Parallelism in Algorithms and Architectures, SPAA 2010, pp. 157–165. ACM, New York (2010)Google Scholar
  9. 9.
    Jejurikar, R., Pereira, C., Gupta, R.: Leakage aware dynamic voltage scaling for real-time embedded systems. In: Proceedings of the 41st Annual Design Automation Conference, DAC 2004, pp. 275–280. ACM (2004)Google Scholar
  10. 10.
    Kaxiras, S., Martonosi, M.: Computer Architecture Techniques for Power-Efficiency. Morgan & Claypool Publishers, Seattle (2008)Google Scholar
  11. 11.
    Butts, J., Sohi, G.: A static power model for architects. In: Proceedings of the 33rd International Symposium on Microarchitecture (MICRO-33) (2000)Google Scholar
  12. 12.
    Rauber, T., Rünger, G., Schwind, M., Xu, H., Melzner, S.: Energy measurement, modeling, and prediction for processors with frequency scaling. J. Supercomput. 70, 1451–1476 (2014)CrossRefGoogle Scholar
  13. 13.
    Leung, J., Kelly, L., Anderson, J.: Handbook of Scheduling: Algorithms, Models, and Performance Analysis. CRC Press, Inc., Boca Raton (2004)Google Scholar
  14. 14.
    Henning, J.: SPEC CPU2006 benchmark descriptions. SIGARCH Comput. Archit. News 34(4), 1–17 (2006)CrossRefGoogle Scholar
  15. 15.
    Rauber, T., Rünger, G.: Comparison of time and energy oriented scheduling for task-based programs. In: Proceedings of 12th International Conference on Parallel Processing and Applied Mathematics. LNCS. Springer (2017)Google Scholar
  16. 16.
    Rauber, T., Rünger, G.: Modeling and analyzing the energy consumption of fork-join-based task parallel programs. Concurrency Comput. Pract. Exp. 27(1), 211–236 (2015)CrossRefGoogle Scholar
  17. 17.
    Iosup, A., Ostermann, S., Yigitbasi, M.N., Prodan, R., Fahringer, T., Epema, D.: Performance analysis of cloud computing services for many-tasks scientific computing. IEEE Trans. Parallel Distrib. Syst. 22(6), 931–945 (2011)CrossRefGoogle Scholar
  18. 18.
    Saxe, E.: Power-efficient software. Commun. ACM 53(2), 44–48 (2010)CrossRefGoogle Scholar
  19. 19.
    Esmaeilzadeh, H., Blem, E., Amant, R., Sankaralingam, K., Burger, D.: Power challenges may end the multicore era. Commun. ACM 56(2), 93–102 (2013)CrossRefGoogle Scholar
  20. 20.
    Irani, S., Shukla, S., Gupta, R.: Algorithms for power savings. ACM Trans. Algorithms 3(4), 41 (2007)MathSciNetCrossRefzbMATHGoogle Scholar
  21. 21.
    Chrobak, M.: Algorithmic aspects of energy-efficient computing. In: Ahmad, I., Ranka, S. (eds.) Handbook of Energy-Aware and Green Computing, pp. 311–329. CRC Press, London (2012)Google Scholar
  22. 22.
    Kim, T.: Power saving by task-level dynamic voltage scaling: a theoretical aspect. In: Ahmad, I., Ranka, S. (eds.) Handbook of Energy-Aware and Green Computing, pp. 361–383. CRC Press, London (2012)Google Scholar
  23. 23.
    Zhang, Y., Hu, X., Chen, D.: Energy minimization for multiprocessor systems executing real-time tasks. In: Ahmad, I., Ranka, S. (eds.) Handbook of Energy-Aware and Green Computing. CRC Press, London (2012)Google Scholar
  24. 24.
    Chen, H., Shi, W.: Power measurement and profiling. In: Ahmad, I., Ranka, S. (eds.) Handbook of Energy-Aware and Green Computing, pp. 649–674. CRC Press, London (2012)Google Scholar

Copyright information

© Springer International Publishing AG 2018

Authors and Affiliations

  1. 1.University of BayreuthBayreuthGermany
  2. 2.Chemnitz University of TechnologyChemnitzGermany

Personalised recommendations