Published January 27, 2021 | Version v1
Journal article Open

Minimizing Energy and Computation in Long-Running Software

  • 1. IITIS (Institute of Theoretical and Applied Informatics), Polish Academy of Sciences, ul. Baltycka 5, 44100 Gliwice, Poland
  • 2. Information Technologies Institute, Centre for Research and Technology Hellas, 6th km Harilaou-Thermi, 57001 Thessaloniki, Greece


Long-running software may operate on hardware platforms with limited energy resources such as batteries or photovoltaic, or on high-performance platforms that consume a large amount of energy. Since such systems may be subject to hardware failures, checkpointing is often used to assure the reliability of the application. Since checkpointing introduces additional computation time and energy consumption, we study how checkpoint intervals need to be selected so as to minimize a cost function that includes the execution time and the energy. Expressions for both the program’s energy consumption and execution time are derived as a function of the failure probability per instruction. A first principle based analysis yields the checkpoint interval that minimizes a linear combination of the average energy consumption and execution time of the program, in terms of the classical “Lambert function”. The sensitivity of the checkpoint to the importance attributed to energy consumption is also derived. The results are illustrated with numerical examples regarding programs of various lengths and showing the relation between the checkpoint interval that minimizes energy consumption and execution time, and the one that minimizes a weighted sum of the two. In addition, our results are applied to a popular software benchmark, and posted on a publicly accessible web site, together with the optimization software that we have developed.



Files (852.2 kB)

Name Size Download all
852.2 kB Preview Download

Additional details


SDK4ED – Software Development toolKit for Energy optimization and technical Debt elimination 780572
European Commission