Skip to main content
Log in

Program reversals for evolutions with non-uniform step costs

  • Published:
Acta Informatica Aims and scope Submit manuscript

Abstract.

The reversal of a program execution can be helpful for several purposes. The reverse mode of automatic differentiation, parameter estimation, and debugging represent some of the tasks that may require the intermediate values of a calculation in reverse order. The recording of a complete execution log forms the simplest approach to providing the data required for the reversal. However, this “store-everything” method causes an enormous demand for memory. The generation of the execution log piece by piece offers the possibility to reduce the storage requirement. To that end the forward calculation is restarted from suitably placed checkpoints leading to a more or less complicated reversal schedule.

This paper deals with the reversal of evaluation procedures that consist of a sequence of time steps with varying computational complexity. We present a new search algorithm for determining a reversal schedule that minimizes the runtime of the reversal process for a given number of checkpoints. By exploiting a certain monotonicity property, the search algorithm based on dynamic programming can be made to grow only quadratically with the number of time steps to be reverted. We report the runtime savings that can be achieved performing the reversal with an optimal, i.e. time-minimal, reversal schedule for a test problem based on Burgers’ equation.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Aho A, Hopcroft J, Ullman J (1974) The Design and Analysis of Computer Algorithms. Addison-Wesley, Reading, MA

  2. Bennett Ch (1973) Logical reversibility of computation. IBM J. Research and Development 17: 525-532

    MATH  Google Scholar 

  3. Berz M, Bischof Ch, Corliss G, Griewank A (eds) (1996) Computational differentiation - Techniques, Applications, and Tools. SIAM, Philadelphia

  4. Griewank A, Walther A (2000) Revolve: An implementation of checkpointing for the reverse or adjoint mode of differentiation. ACM Trans. Math. Software 26: 19-45.

    Article  Google Scholar 

  5. Griewank A (2000) Evaluating Derivatives, Principles and Techniques of Algorithmic Differentiation. Frontiers in Appl. Math. 19, SIAM, Philadelphia

  6. Grimm J, Potter L, Rostaing-Schmidt N (1996) Optimal time and minimum space-time product for reversing a certain class of programs. In: Berz M, Bischof Ch, Corliss G, Griewank A (eds) (1996) Computational differentiation - Techniques, Applications, and Tools, pp 95-106. SIAM, Philadelphia

  7. Hairer E, Wanner G (1996) Solving Ordinary Differential Equations II. Stiff and Differential-Algebraic Problems. Computational Mathematics, 14. Springer, Berlin Heidelberg New York

  8. Kaltenbach H-J, Jürgens W, Spille A (2001) Numerische Simulation, Beeinflussung und Eigenmoden-Analyse einer abgelösten Strömung mit Querkomponente. Ergebnisberichte SFB 557 TP A6

  9. Knuth D E (1976) The Art of Computer Programming. Computer Science and Information Processing 3. Addison-Wesley, Reading, MA

  10. van de Snepscheut J L A (1993) What computing is all about. Texts and Monographs in Computer Science, Suppl. 2. Springer, Berlin Heidelberg New York

  11. Volin Y M, Ostrovskii G M (1985) Automatic computation of derivatives with the use of the multilevel differentiation technique. Computers and Mathematics with Applications 11: 1099-1114

    Article  MATH  Google Scholar 

  12. Walther A (1999) Program Reversal Schedules for Single- and Multi-processor Machines. Ph.D. thesis, Institute of Scientific Computing, TU Dresden

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Andrea Walther.

Additional information

Received: 30 November 2001, Revised: 13 October 2003, Published online: 16 December 2003

Rights and permissions

Reprints and permissions

About this article

Cite this article

Walther, A. Program reversals for evolutions with non-uniform step costs. Acta Informatica 40, 235–263 (2004). https://doi.org/10.1007/s00236-003-0131-x

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00236-003-0131-x

Keywords

Navigation