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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
B. Alpern. Jalapeño virtual machine. IBM Systems Journal, 39(1):211–238, 2000.
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.
G. Czajkowski. Application isolation in the Java virtual machine. In Proceedings of OOPSLA-00, pp. 354–366, Oct. 15-19 2000.
L. Gorrie. Echidna http://www.javagroup.org/echidna, 1998.
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.
R. Heise. rheise.os. http://www.progsoc.uts.edu.au/~rheise/projects/rheise.os
N. Jones, C. Gomard, and P. Sestoft. Partial evaluation and automatic program generation. Prentice Hall. 1993.
Tornado Labs. Java 3D benchmarkresults. http://www.tornadolabs.com/News/ BenchJ3d_Results/benchj3d_results.html, 2000.
M. Litzkow and M. Livny. Making workstations a friendly environment for batch jobs. In Proc. 3rd Wks. on Work. Oper. Sys., April 1992.
M. Litzkow, T. Tannenbaum, J. Basney, and M. Livny. Checkpoint and migration of unix processes in the Condor distributed processing system, 1997.
J. S. Plank. An overview of checkpointing in uniprocessor and distributed systems, focusing on implementation and performance. Tech Report UT-CS-97-372, 1997.
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.
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.
J. Whaley. joeq virtual machine. http://joeq.sourceforge.net, 2001.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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