Abstract
While the design of garbage collection algorithms has come of age, the analysis of these algorithms is still in its infancy. Current analyses are limited to merely documenting costs of individual collector executions; conclusive results, measuring across entire programs, require a theoretical foundation from which proofs can be offered. A theoretical foundation also allows abstract examination of garbage collection, enabling new designs without worrying about implementation details. We propose a theoretical framework for analyzing garbage collection algorithms and show how our framework could compute the efficiency (time cost) of garbage collectors. The central novelty of our proposed framework is its capacity to analyze costs of garbage collection over an entire program execution.
In work on garbage collection, one frequently uses heap traces, which require determining the exact point in program execution at which each heap allocated object “dies” (becomes unreachable). The framework inspired a new trace generation algorithm, Merlin, which runs more than 800 times faster than previous methods for generating accurate traces [7]. The central new result of this paper is using the framework to prove that Merlin’s asymptotic running time is optimal for trace generation.
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
A version of this paper including the proofs, related works, and proposed refinements to the framework can be found as UMass CMPSCI Tech Report TR-02-016 at http://www.cs.umass.edu/pub/techrept/techreport/2002/UM-CS-2002-016.ps
This work is supported by NSF ITR grant CCR-0085792, NSF CCR-9877078, and IBM. Any opinions, findings, conclusions, or recommendations expressed in this material are the authors’ and do not necessarily reflect those of the sponsors.
Download to read the full chapter text
Chapter PDF
References
Barrett, D. A., and Zorn, B. G. Using lifetime predictors to improve memory allocation performance. In Proceedings of SIGPLAN 1993 Conference on Programming Language Design and Implementation (Albuquerque, NM, June 1993), vol. 28(6) of ACM SIGPLAN Notices,ACM Press, pp. 187–196.
Blanchet, B. Escape analysis for object oriented languages. applications to Java. In Proceedings of SIGPLAN 1999 Conference on Object-Oriented Programming, Languages, fi Applications (Denver, CO, Oct. 1999), vol. 34(10) of ACM SIGPLAN Notices,ACM Press, pp. 20–34.
Cannarozzi, D. J., Plezbert, M. P., and Cytron, R. K. Contaminated garbage collection. In Proceedings of SIGPLAN 2000 Conference on Programming Language Design and Implementation (Vancouver, Canada, June 2000), vol. 35(5) of ACM SIGPLAN Notices,ACM Press, pp. 264–273.
Chilimbi, T., Jones, R. E., and Zorn, B. Designing a trace format for heap allocation events. In ISMM 2000 Proceedings of the Second International Symposium on Memory Management (Minneapolis, MN, Oct. 2000), vol. 36(1) of ACM SIGPLAN Notices,ACM Press, pp. 35–49.
Cormen, T. H., Leiserson, C. E., and Rivest, R. L. Introduction to algorithms. MIT Press, Cambridge, MA, 1990.
Hayes, B. Using key object opportunism to collect old objects. In Proceedings of SIGPLAN 1991 Conference on Object-Oriented Programming, Languages, Applications (Phoenix, AZ, Oct. 1991), vol. 26(11) of ACM SIGPLAN Notices,ACM Press, pp. 33–40.
Hertz, M., Blackburn, S. M., Moss, J. E. B., Mckinley, K. S., and Stefanovic, D. Error-free garbage collection traces: How to cheat and not get caught. To Appear at Sigmetrics 2002. Available at ftp: http://www.cs.umass.edu/pub/osl/papers/sigmetrics-2002-merlin.ps.gz.
Hudson, R. L., and Moss, J. E. B. Incremental garbage collection for mature objects. In Proceedings of the International Workshop on Memory Management (St. Mato, France, Sept. 1992), vol. 637 of Lecture Notes in Computer Science,Springer-Verlag, pp. 388–403.
Shaham, R., Kolodner, E. K., and Sagiv, M. On the effectiveness of GC in Java. In ISMM 2000 Proceedings of the Second International Symposium on Memory Management (Minneapolis, MN, Oct. 2000), vol. 36(1) of ACM SIG-PLAN Notices,ACM Press, pp. 12–17.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2002 Springer Science+Business Media New York
About this chapter
Cite this chapter
Hertz, M., Immerman, N., Moss, J.E.B. (2002). Framework for Analyzing Garbage Collection. In: Baeza-Yates, R., Montanari, U., Santoro, N. (eds) Foundations of Information Technology in the Era of Network and Mobile Computing. IFIP — The International Federation for Information Processing, vol 96. Springer, Boston, MA. https://doi.org/10.1007/978-0-387-35608-2_20
Download citation
DOI: https://doi.org/10.1007/978-0-387-35608-2_20
Publisher Name: Springer, Boston, MA
Print ISBN: 978-1-4757-5275-5
Online ISBN: 978-0-387-35608-2
eBook Packages: Springer Book Archive