Skip to main content

System Checkpointing Using Reflection and Program Analysis

  • Conference paper
  • First Online:
Metalevel Architectures and Separation of Crosscutting Concerns (Reflection 2001)

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

Included in the following conference series:

Abstract

This paper describes a technique for checkpointing a running system by a combination of reflective introspection and program analysis. By using an extension to Java’s Reflection API which allows activation frames and other aspects of execution state to be reflectively inspected and modified, we can halt at and restart from arbitrary points in the execution. We apply this checkpointing technique to an area that is not typically associated with reflection — optimization of memory footprint and startup time. We have successfully used this technique in the joeq virtual machine to reduce the heap size and the application startup time significantly.

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

Access this chapter

Subscribe and save

Springer+ Basic
$34.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

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. B. Alpern. Jalapeño virtual machine. IBM Systems Journal, 39(1):211–238, 2000.

    Article  Google Scholar 

  2. M. P. Atkinson, L. Daynes, M. J. Jordan, T. Printezis, and S. Spence. An orthogonally persistent Java. ACM SIGMOD Record, 25(4):68–75, Dec. 1996.

    Article  Google Scholar 

  3. G. Czajkowski. Application isolation in the Java virtual machine. In Proceedings of OOPSLA-00, pp. 354–366, Oct. 15-19 2000.

    Google Scholar 

  4. L. Gorrie. Echidna http://www.javagroup.org/echidna, 1998.

  5. E. Gun, S. Arthur, J. Gregory, and B. Bershad. A practical approach for improving startup latency in Java applications, In Proceedings of the Workshop on Compiler Support for Systems Software, Atlanta, Georgia, May 1999.

    Google Scholar 

  6. R. Heise. rheise.os. http://www.progsoc.uts.edu.au/~rheise/projects/rheise.os

  7. N. Jones, C. Gomard, and P. Sestoft. Partial evaluation and automatic program generation. Prentice Hall. 1993.

    Google Scholar 

  8. Tornado Labs. Java 3D benchmarkresults. http://www.tornadolabs.com/News/ BenchJ3d_Results/benchj3d_results.html, 2000.

  9. M. Litzkow and M. Livny. Making workstations a friendly environment for batch jobs. In Proc. 3rd Wks. on Work. Oper. Sys., April 1992.

    Google Scholar 

  10. M. Litzkow, T. Tannenbaum, J. Basney, and M. Livny. Checkpoint and migration of unix processes in the Condor distributed processing system, 1997.

    Google Scholar 

  11. J. S. Plank. An overview of checkpointing in uniprocessor and distributed systems, focusing on implementation and performance. Tech Report UT-CS-97-372, 1997.

    Google Scholar 

  12. J. S. Plank, Y. Kim, and J. J. Dongarra. Algorithm-based diskless checkpointing for fault-tolerant matrix operations. In FTCS-25: 25th International Symposium on Fault Tolerant Computing Digest of Papers, pp. 351–360, 1995.

    Google Scholar 

  13. Y. M. Wang, Y. Huang, and W. K. Fuchs. Progressive retry for software error recovery in distributed systems. In Proc. 23rd Int. Conf. on Fault-Tolerant Computing (FTCS-23), pp. 138–144, Toulouse, France, 1993.

    Google Scholar 

  14. J. Whaley. joeq virtual machine. http://joeq.sourceforge.net, 2001.

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2001 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Whaley, J. (2001). System Checkpointing Using Reflection and Program Analysis. In: Yonezawa, A., Matsuoka, S. (eds) Metalevel Architectures and Separation of Crosscutting Concerns. Reflection 2001. Lecture Notes in Computer Science, vol 2192. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45429-2_3

Download citation

  • DOI: https://doi.org/10.1007/3-540-45429-2_3

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-42618-9

  • Online ISBN: 978-3-540-45429-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics