Abstract
Over the past two decades, the number of memory-managed programming languages has proliferated. Such languages use uniprocessormemorymanagement techniques to allocate and reclaim storage on behalf of programs. Multicores and other forms of multiprocessor systems have evolved to become common place. However, deployed memory management techniques largely have not taken advantage of the benefits ofmultiprocessor systems.We present a fully concurrent garbage collector that offers negligible synchronization cost and leverages the power, speed, and potential of multicores and other multiprocessor systems. This collector makes its best effort to avoid suspending application threads as many concurrent (and other on-the-fly) collectors do. Instead, it retrieves requisite data opportunistically from each thread to compute its view of the heap and perform garbage collection work. Our collector is an efficient, high performance garbage collector that yields features that are desirable for multiprocessor real-time systems.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Aho, A.V., Kernighan, B.W., Weinberger, P.J.: The AWK Programming Language. Addison-Wesley (1988)
Appel, A.W., Ellis, J.R., Li, K.: Real-time concurrent collection on stock multiprocessors. SIGPLAN Notices 23(7), 11–20 (1988)
Azatchi, H., Levanoni, Y., Paz, H., Petrank, E.: An on-the-fly mark and sweep garbage collector based on sliding views. SIGPLAN Notices 38, 269–281 (2003)
Bacon, D.F., Richard Attanasio, C., Lee, H., Rajan, V.T., Smith, S.: Java without the coffee breaks: A nonintrusive multiprocessor garbage collector. In: SIGPLAN Conference on Programming Language Design and Implementation, pp. 92–103 (2001)
Bacon, D.F., Rajan, V.T.: Concurrent Cycle Collection in Reference Counted Systems. In: Lee, S.H. (ed.) ECOOP 2001. LNCS, vol. 2072, pp. 207–235. Springer, Heidelberg (2001)
Collins, G.E.: A method for overlapping and erasure of lists. Communications of the ACM 3(12), 655–657 (1960)
DeTreville, J.: Experience with concurrent garbage collectors for Modula-2+. Technical Report 64, Digital Equipment Corporation Systems Research Center (August 1990)
Peter Deutsch, L., Bobrow, D.G.: An efficient incremental automatic garbage collector. Communications of the ACM 19(9), 522–526 (1976)
Dieckmann, S., Hölzle, U.: A study of the Allocation Behavior of the SPECjvm98 Java Benchmarks. The MIT Press (2001)
Doligez, D., Leroy, X.: A concurrent generational garbage collector for a multi-threaded implementation of ML. In: Conference Record of the Twentieth Annual ACM Symposium on Principles of Programming Languages, SIGPLAN Notices, pp. 113–123. Association for Computing Machinery (1993)
Free Software Foundation. GCC, the GNU Compiler Collection - GNU Project - Free Software Foundation, FSF (2007), http://gcc.gnu.org/
Goldberg, A., Robson, D.: Smalltalk-80: the language and its implementation. Addison-Wesley Longman Publishing Co., Inc., Boston (1983)
Hartel, P.H.: Performance Analysis of Storage Management in Combinator Graph Reduction. PhD thesis, Department of Computer Systems, University of Amsterdam, Amsterdam (1988)
Jones, R., Lins, R.: Garbage collection: algorithms for automatic dynamic memory management. John Wiley & Sons, Ltd. (1996)
Levanoni, Y., Petrank, E.: An on-the-fly reference counting garbage collector for Java. In: Proceedings of the 16th ACM SIGPLAN Conference on Object Oriented Programming, Systems, Languages, and Applications, pp. 367–380. ACM Press (2001)
O’Toole, J.W., Nettles, S.M.: Concurrent replicating garbage collection. Technical Report MIT–LCS–TR–570 and CMU–CS–93–138, MIT and CMU (1993); Also LFP94 and OOPSLA93 Workshop on Memory Management and Garbage Collection
Steele, G.L.: Multiprocessing compactifying garbage collection. Communications of the ACM 18(9), 495–508 (1975)
Wall, L., Schwartz, R.L.: Programming Perl. O’Reilly and Associates, Inc. (1991)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2012 Springer-Verlag GmbH Berlin Heidelberg
About this chapter
Cite this chapter
Defoe, D., Deters, M., Cytron, R.K. (2012). A Fully Concurrent Garbage Collector. In: Qian, Z., Cao, L., Su, W., Wang, T., Yang, H. (eds) Recent Advances in Computer Science and Information Engineering. Lecture Notes in Electrical Engineering, vol 125. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-25789-6_50
Download citation
DOI: https://doi.org/10.1007/978-3-642-25789-6_50
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-25788-9
Online ISBN: 978-3-642-25789-6
eBook Packages: EngineeringEngineering (R0)