Skip to main content

An Empirical Study on the Energy Efficiency of Matrix Transposition Algorithms

  • Conference paper
  • First Online:
Composability, Comprehensibility and Correctness of Working Software (CEFP 2019)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 11950))

Included in the following conference series:

  • 102 Accesses

Abstract

Energy consumption is becoming a serious concern in the context of software development. Recent works have shown that energy consumption of an algorithm not only depends on its running-time but also on its number of memory accesses. In this work, we empirically analyse several algorithms for matrix transposition with different patterns of low-level cache access, and compare them in terms of energy consumption and running-time with respect to CPU instructions and memory accesses. Our results suggest that different memory access patterns have a strong influence on the energy consumption and on the cache performance of these algorithms.

Supported by the ERDF - European Regional Development Fund through the Operational Programme for Competitiveness and Internationalisation - COMPETE 2020 Programme and by National Funds through the Portuguese funding agency, Fundação para a Ciência e a Tecnologia within project POCI-01-0145-FEDER-016718.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 59.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 74.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

Institutional subscriptions

References

  1. Aggarwal, A., Vitter, J.S.: The input/output complexity of sorting and related problems. Commun. ACM 31(9), 1116–1127 (1988)

    Article  MathSciNet  Google Scholar 

  2. Aggarwal, K., Hindle, A., Stroulia, E.: Greenadvisor: a tool for analyzing the impact of software evolution on energy consumption. In: IEEE International Conference on Software Maintenance and Evolution, ICSME 2015. pp. 311–320 (2015)

    Google Scholar 

  3. Albers, S.: Energy-efficient algorithms. Commun. ACM 53(5), 86–96 (2010)

    Article  Google Scholar 

  4. Barroso, L.A.: The price of performance. ACM Queue 3(7), 48–53 (2005)

    Article  Google Scholar 

  5. Bose, B.K.: Global energy scenario and impact of power electronics in 21st century. IEEE Trans. Ind. Electron. 60(7), 2638–2651 (2013)

    Article  Google Scholar 

  6. Co, M., Weikle, D.A.B., Skadron, K.: Evaluating trace cache energy efficiency. ACM Trans. Archit. Code Optim. 3(4), 450–476 (2006)

    Article  Google Scholar 

  7. David, H., Gorbatov, E., Hanebutte, U.R., Khanna, R., Le, C.: RAPL: memory power estimation and capping. In: Proceedings of the 2010 International Symposium on Low Power Electronics and Design, pp. 189–194 (2010)

    Google Scholar 

  8. Desrochers, S., Paradis, C., Weaver, V.M.: A validation of DRAM RAPL power measurements. In: Proceedings of the Second International Symposium on Memory Systems, MEMSYS, pp. 455–470 (2016)

    Google Scholar 

  9. Gayde, W.: How CPUs are designed and built (2020). https://www.techspot.com/article/1821-how-cpus-are-designed-and-built/

  10. Guo, Y., Narayanan, P., Bennaser, M.A., Chheda, S., Moritz, C.A.: Energy-efficient hardware data prefetching. IEEE Trans. VLSI Systems 19(2), 250–263 (2011)

    Article  Google Scholar 

  11. Intel: Intel® 64 and ia-32 architectures - software developer’s manual complete (2019). https://software.intel.com/en-us/download/intel-64-and-ia-32-architectures-sdm-combined-volumes-1-2a-2b-2c-2d-3a-3b-3c-3d-and-4

  12. Kim, S., Vijaykrishnan, N., Kandemir, M.T., Sivasubramaniam, A., Irwin, M.J.: Partitioned instruction cache architecture for energy efficiency. ACM Trans. Embedded Comput. Syst. 2(2), 163–185 (2003)

    Article  Google Scholar 

  13. Kwon, Y., Tilevich, E.: Reducing the energy consumption of mobile apps. behind the scenes. In: 2013 IEEE International Conference on Software Maintenance, pp. 170–179 (2013)

    Google Scholar 

  14. Li, D., Halfond, W.G.J.: An investigation into energy-saving programming practices for android smartphone app development. In: Proceedings of the 3rd International Workshop on Green and Sustainable Software, GREENS 2014, pp. 46–53 (2014)

    Google Scholar 

  15. Li, D., Hao, S., Gui, J., Halfond, W.G.J.: An empirical study of the energy consumption of android applications. In: 30th IEEE International Conference on Software Maintenance and Evolution, 2014, pp. 121–130 (2014)

    Google Scholar 

  16. Lima, L.G., Soares-Neto, F., Lieuthier, P., Castor, F., Melfe, G., Fernandes, J.P.: Haskell in green land: analyzing the energy behavior of a purely functional language. In: IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering, SANER 2016, 2016, vol. 1, pp. 517–528 (2016)

    Google Scholar 

  17. Liu, K., Pinto, G., Liu, Y.D.: Data-oriented characterization of application-level energy optimization. In: Fundamental Approaches to Software Engineering - 18th International Conference, FASE 2015, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2015 Proceedings, pp. 316–331 (2015)

    Google Scholar 

  18. Melfe, G., Fonseca, A., Fernandes, J.P.: Helping developers write energy efficient Haskell through a data-structure evaluation. In: Proceedings of the 6th International Workshop on Green and Sustainable Software, GREENS@ICSE 2018, pp. 9–15 (2018)

    Google Scholar 

  19. Pang, C., Hindle, A., Adams, B., Hassan, A.E.: What do programmers know about software energy consumption? IEEE Softw. 33(3), 83–89 (2016)

    Article  Google Scholar 

  20. Pereira, R., Couto, M., Ribeiro, F., Rua, R., Cunha, J., Fernandes, J.P., Saraiva, J.: Energy efficiency across programming languages: how do energy, time, and memory relate? In: Proceedings of the 10th ACM SIGPLAN International Conference on Software Language Engineering, SLE 2017, pp. 256–267 (2017)

    Google Scholar 

  21. Pereira, R., Couto, M., Saraiva, J., Cunha, J., Fernandes, J.P.: The influence of the Java collection framework on overall energy consumption. In: Proceedings of the 5th International Workshop on Green and Sustainable Software, GREENS@ICSE, pp. 15–21 (2016)

    Google Scholar 

  22. Pinto, G., Castor, F., Liu, Y.D.: Mining questions about software energy consumption. In: 11th Working Conference on Mining Software Repositories, MSR 2014, Proceedings, pp. 22–31 (2014)

    Google Scholar 

  23. Rashid, M., Ardito, L., Torchiano, M.: Energy consumption analysis of algorithms implementations. In: 2015 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement, ESEM 2015, pp. 82–85 (2015)

    Google Scholar 

  24. Roy, S., Rudra, A., Verma, A.: An energy complexity model for algorithms. In: Innovations in Theoretical Computer Science, ITCS 2013, pp. 283–304 (2013)

    Google Scholar 

  25. Tibken, S.: Intel’s skylake chips to power pcs as thin as tablets, with big battery boost (2015). https://www.cnet.com/news/intels-skylake-chips-will-power-pcs-as-thin-as-tablets-compute-sticks/

  26. Tsifakis, D., Rendell, A.P., Strazdins, P.E.: Cache oblivious matrix transposition: simulation and experiment. In: Bubak, M., van Albada, G.D., Sloot, P.M.A., Dongarra, J. (eds.) ICCS 2004. LNCS, vol. 3037, pp. 17–25. Springer, Heidelberg (2004). https://doi.org/10.1007/978-3-540-24687-9_3

    Chapter  Google Scholar 

  27. Vitter, J.S., Shriver, E.A.M.: Algorithms for parallel memory I: two-level memories. Algorithmica 12(2/3), 110–147 (1994)

    Article  MathSciNet  MATH  Google Scholar 

  28. Will, D.: Head north for the data center gold rush (2017). https://blog.advaoptical.com/en/head-north-for-the-data-center-gold-rush

  29. Yuki, T., Rajopadhye, S.V.: Folklore confirmed: compiling for speed = compiling for energy. In: Languages and Compilers for Parallel Computing - 26th International Workshop, LCPC 2013. Revised Selected Papers, pp. 169–184 (2013)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to João Paulo Fernandes .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Lopes, G., Fernandes, J.P., Paquete, L. (2023). An Empirical Study on the Energy Efficiency of Matrix Transposition Algorithms. In: Porkoláb, Z., Zsók, V. (eds) Composability, Comprehensibility and Correctness of Working Software. CEFP 2019. Lecture Notes in Computer Science, vol 11950. Springer, Cham. https://doi.org/10.1007/978-3-031-42833-3_11

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-42833-3_11

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-42832-6

  • Online ISBN: 978-3-031-42833-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics