Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to main content

Exploring the Energy Overhead of Reversible Programs Executed on Irreversible Hardware

  • Conference paper
  • First Online:
Reversible Computation (RC 2024)

Abstract

This paper investigates the energy efficiency of reversible programs executed on irreversible hardware. Motivated by Landauer’s principle, which suggests that information loss during program execution increases energy consumption, we employ Intel’s Running Average Power Limit (RAPL) technology to compare the energy consumption of “dereversibilised” reversible programs against that of straightforward irreversible implementations.

Preliminary results indicate that, while the memory handling of dereversibilised reversible programs does not necessarily improve overall energy efficiency, the energy overhead remains constant, ranging from 6% to around 240% over C depending on the abstraction level of the problem at hand. For dereversiblised Janus, one can expect an energy overhead of 100% or less when operating on data structures that are easily represented in the target language. One may expect an energy overhead of less than 30% for dereversibilised Hermes; however, its domain is more specific and thus resembles the target language more closely.

These findings indicate an interesting trade-off: dereversibilisation incurs a certain (constant) energy overhead, yet it uniquely produces two programs for the price of one. This will enable programmers to make informed decisions, balancing the energy overhead against the benefits of reversibility based on their specific needs. Future work will aim to further explore the impact of dereversibilisation on energy overhead and information security.

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

Access this chapter

Subscribe and save

Springer+ Basic
EUR 32.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or Ebook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

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

Notes

  1. 1.

    https://github.com/vadgaard/rc24-artefacts.

  2. 2.

    https://github.com/kirkedal/Jana-JanusInterp.

  3. 3.

    https://github.com/maltevelin/Hermes.

  4. 4.

    https://gcc.gnu.org/onlinedocs/gcc-11.4.0/gcc.pdf.

  5. 5.

    https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html.

  6. 6.

    https://www.spec.org/benchmarks.html.

References

  1. Andrae, A.S.G.: Hypotheses for primary energy use, electricity use and CO2 emissions of global computing and its shares of the total between 2020 and 2030. WSEAS Trans. Power Syst. 15, 50–59 (2020). https://doi.org/10.37394/232016.2020.15.6

    Article  Google Scholar 

  2. Andrae, A.S.G.: New perspectives on internet electricity use in 2030. Eng. Appl. Sci. Lett. 3(2), 19–31 (2020). https://doi.org/10.30538/psrp-easl2020.0038

    Article  Google Scholar 

  3. Axelsen, H.B.: Clean translation of an imperative reversible programming language. In: Knoop, J. (ed.) CC 2011. LNCS, vol. 6601, pp. 144–163. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-19861-8_9

    Chapter  Google Scholar 

  4. Axelsen, H.B., Glück, R.: A simple and efficient universal reversible turing machine. In: Dediu, A.-H., Inenaga, S., Martín-Vide, C. (eds.) LATA 2011. LNCS, vol. 6638, pp. 117–128. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-21254-3_8

    Chapter  Google Scholar 

  5. Axelsen, H.B., Glück, R.: Reversible representation and manipulation of constructor terms in the heap. In: Dueck, G.W., Miller, D.M. (eds.) RC 2013. LNCS, vol. 7948, pp. 96–109. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-38986-3_9

    Chapter  Google Scholar 

  6. Bennett, C.H.: Logical reversibility of computation. IBM J. Res. Dev. 17(6), 525–532 (1973)

    Article  MathSciNet  Google Scholar 

  7. Bérut, A., Arakelyan, A., Petrosyan, A., Ciliberto, S., Dillenschneider, R., Lutz, E.: Experimental verification of Landauer’s principle linking information and thermodynamics. Nature 483(7388), 187–189 (2012). https://doi.org/10.1038/nature10872

    Article  Google Scholar 

  8. Eder, K., et al.: ENTRA: Whole-systems energy transparency. Microprocess. Microsyst. 47, 278–286 (2016). https://doi.org/10.1016/j.micpro.2016.07.003

    Article  Google Scholar 

  9. Glück, R., Yokoyama, T.: Constructing a binary tree from its traversals by reversible recursion and iteration. Inf. Process. Lett. 147, 32–37 (2019). https://doi.org/10.1016/j.ipl.2019.03.002. https://www.sciencedirect.com/science/article/pii/S0020019019300523

  10. Glück, R., Yokoyama, T.: Reversible computing from a programming language perspective. Theor. Comput. Sci. 953, 113429 (2023). https://doi.org/10.1016/j.tcs.2022.06.010. https://www.sciencedirect.com/science/article/pii/S0304397522003619

  11. Hackenberg, D., Schöne, R., Ilsche, T., Molka, D., Schuchart, J., Geyer, R.: An energy efficiency feature survey of the Intel Haswell processor. In: Proceedings of the 2015 IEEE 29th International Parallel and Distributed Processing Symposium Workshops, IPDPSW 2015, pp. 896–904 (2015). https://doi.org/10.1109/IPDPSW.2015.70

  12. Hähnel, M., Döbel, B., Völp, M., Härtig, H.: Measuring energy consumption for short code paths using RAPL. Perform. Eval. Rev. 40(3), 13–17 (2012). https://doi.org/10.1145/2425248.2425252

    Article  Google Scholar 

  13. Intel Corporation: Running Average Power Limit Energy Reporting CVE-2020-8694, CVE-2020-8695 (2020). https://www.intel.com/content/www/us/en/developer/articles/technical/software-security-guidance/advisory-guidance/running-average-power-limit-energy-reporting.html. Accessed 29 Jan 2024

  14. Intel Corporation: Intel 64 and IA-32 Architectures Software Developer’s Manual (2023). https://www.intel.com/content/www/us/en/developer/articles/technical/intel-sdm.html. Accessed 29 Jan 2024

  15. Khan, K.N., Hirki, M., Niemi, T., Nurminen, J.K., Ou, Z.: RAPL in action: experiences in using RAPL for power measurements. ACM Trans. Model. Perform. Eval. Comput. Syst. (TOMPECS) 3(2), 1–26 (2018)

    Article  Google Scholar 

  16. Landauer, R.: Irreversibility and heat generation in the computing process. IBM J. Res. Dev. 5(3), 183–191 (1961)

    Article  MathSciNet  Google Scholar 

  17. linux.org: TURBOSTAT (2024). https://www.linux.org/docs/man8/turbostat.html. Accessed 08 Apr 2024

  18. Lipp, M., et al.: Platypus: Software-based power side-channel attacks on x86. In: 2021 IEEE Symposium on Security and Privacy (SP), pp. 355–371 (2021). https://doi.org/10.1109/SP40001.2021.00063

  19. Madsen, F.M., Poulsen, D.R.: Reversible matrix multiplication in Janus (2011). Unpublished manuscript, DIKU, Department of Computer Science, University of Copenhagen, Presented at the DIKU workshop on Topics in Programming Languages, June 2011

    Google Scholar 

  20. Mogensen, T.Æ.: Hermes: A reversible language for lightweight encryption. Sci. Comput. Program. 215, 102746 (2022)

    Article  Google Scholar 

  21. Pereira, R., et al.: Ranking programming languages by energy efficiency. Sci. Comput. Program. 205, 102609 (2021)

    Article  Google Scholar 

  22. Rotem, E., Naveh, A., Ananthakrishnan, A., Weissmann, E., Rajwan, D.: Power-management architecture of the Intel microarchitecture code-named Sandy Bridge. IEEE Micro 32(2), 20–27 (2012). https://doi.org/10.1109/MM.2012.12

    Article  Google Scholar 

  23. Táborský, D., Larsen, K.F., Thomsen, M.K.: Encryption and reversible computations. In: Kari, J., Ulidowski, I. (eds.) RC 2018. LNCS, vol. 11106, pp. 331–338. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-99498-7_23

    Chapter  Google Scholar 

  24. Thomsen, M.K., Axelsen, H.B.: Interpretation and programming of the reversible functional language RFUN. In: Proceedings of the 27th Symposium on the Implementation and Application of Functional Programming Languages, IFL 2015, pp. 8:1–8:13. ACM (2016). https://doi.org/10.1145/2897336.2897345

  25. Thomsen, M.K., Glück, R., Axelsen, H.B.: Towards designing a reversible processor architecture. In: Ulidowski, I. (ed.) Preliminary Proceedings of the Workshop on Reversible Computation, pp. 46–50 (2009)

    Google Scholar 

  26. Vieri, C.J.: Reversible computer engineering and architecture. Ph.D. thesis, MIT, EECS (1999)

    Google Scholar 

  27. Yokoyama, T., Glück, R.: A reversible programming language and its invertible self-interpreter. In: Partial Evaluation and Program Manipulation, PEPM 2007, pp. 144–153. ACM (2007). https://doi.org/10.1145/1244381.1244404

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Lars-Bo Husted Vadgaard .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2024 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

Vadgaard, LB.H., Kirkeby, M.H., Larsen, K.F., Thomsen, M.K. (2024). Exploring the Energy Overhead of Reversible Programs Executed on Irreversible Hardware. In: Mogensen, T.Æ., Mikulski, Ł. (eds) Reversible Computation. RC 2024. Lecture Notes in Computer Science, vol 14680. Springer, Cham. https://doi.org/10.1007/978-3-031-62076-8_6

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-62076-8_6

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-62075-1

  • Online ISBN: 978-3-031-62076-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics