Non-blocking object copy for real-time garbage collection
2008, Proceedings of the 6th international workshop on Java technologies for real-time and embedded systems - JTRES '08
https://doi.org/10.1145/1434790.1434802Abstract
A real-time garbage collector has to fulfill two conflicting properties: avoid heap fragmentation and provide short blocking time. The heap needs to be compacted to avoid probably unbounded fragmentation. During compaction all objects are copied; copying is usually performed atomically to avoid interference with mutator threads. Copying of large objects and especially large arrays introduces long blocking times that are unacceptable for real-time systems.
References (27)
- REFERENCES
- D. F. Bacon, P. Cheng, and V. T. Rajan. A real-time garbage collector with low overhead and consistent utilization. In POPL '03: Proceedings of the 30th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, pages 285-298, New York, NY, USA, 2003. ACM Press.
- H. G. Baker. List processing in real time on a serial computer. Commun. ACM, 21(4):280-294, 1978.
- G. Bollella, J. Gosling, B. Brosgol, P. Dibble, S. Furr, and M. Turnbull. The Real-Time Specification for Java. Java Series. Addison-Wesley, June 2000.
- R. A. Brooks. Trading data space for reduced time and code space in real-time garbage collection on stock hardware. In P. C. G. L. Steele, Jr., editor, LISP and Functional Programming. Conference Record of the 1984 ACM Symposium, Austin, Texas, August 6-8, 1984, number ISBN 0-89791-142-3, New York, 1984. ACM.
- E. W. Dijkstra, L. Lamport, A. J. Martin, C. S. Scholten, and E. F. M. Steffens. On-the-fly garbage collection: an exercise in cooperation. Commun. ACM, 21(11):966-975, 1978.
- L. Huelsbergen and J. R. Larus. A concurrent copying garbage collector for languages that distinguish (im)mutable data. In Fourth Annual ACM Symposium on Principles and Practice of Parallel Programming, volume 28(7), pages 73-82, San Diego, CA, May 1993.
- R. E. Jones and R. Lins. Garbage Collection: Algorithms for Automatic Dynamic Memory Management. Wiley, Chichester, July 1996. With a chapter on Distributed Garbage Collection by R. Lins.
- M. Meyer. A true hardware read barrier. In E. Petrank and J. E. B. Moss, editors, Proceedings of the 5th International Symposium on Memory Management (ISMM 2006), pages 3-16. ACM, June 2006.
- S. Nettles and J. O'Toole. Real-time replication garbage collection. In PLDI '93: Proceedings of the ACM SIGPLAN 1993 conference on Programming language design and implementation, pages 217-226, New York, NY, USA, 1993. ACM Press.
- K. D. Nilsen and W. J. Schmidt. Cost-effective object space management for hardware-assisted real-time garbage collection. ACM Letters on Programming Languages and Systems, 1(4):338-354, Dec. 1992.
- S. C. North and J. H. Reppy. Concurrent garbage collection on stock hardware. In G. Kahn, editor, Functional Programming Languages and Computer Architecture, pages 113-133. Springer-Verlag, 1987. Lecture Notes in Computer Science 274; Proceedings of Conference held at Portland, OR.
- C. Pitter and M. Schoeberl. Performance evaluation of a Java chip-multiprocessor. In Proceedings of the 3rd IEEE Symposium on Industrial Embedded Systems (SIES 2008), Jun. 2008.
- F. Pizlo, D. Frampton, E. Petrank, and B. Steensgaard. Stopless: a real-time garbage collector for multiprocessors. In ISMM '07: Proceedings of the 6th symposium on Memory management, pages 159-172, New York, NY, USA, 2007. ACM.
- W. Puffitsch and M. Schoeberl. Non-blocking root scanning for real-time garbage collection. In Proceedings of the 6th International Workshop on Java Technologies for Real-time and Embedded Systems (JTRES 2008), 2008.
- M. Schoeberl. Real-time garbage collection for Java. In Proceedings of the 9th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC 2006), pages 424-432, Gyeongju, Korea, April 2006.
- M. Schoeberl. A time predictable Java processor. In Proceedings of the Design, Automation and Test in Europe Conference (DATE 2006), pages 800-805, Munich, Germany, March 2006.
- M. Schoeberl. Architecture for object oriented programming languages. In Proceedings of the 5th International Workshop on Java Technologies for Real-time and Embedded Systems (JTRES 2007), pages 57-62, Vienna, Austria, September 2007. ACM Press.
- M. Schoeberl. A Java processor architecture for embedded real-time systems. Journal of Systems Architecture, 54/1-2:265-286, 2008.
- M. Schoeberl and R. Pedersen. WCET analysis for a Java processor. In Proceedings of the 4th International Workshop on Java Technologies for Real-time and Embedded Systems (JTRES 2006), pages 202-211, New York, NY, USA, 2006. ACM Press.
- M. Schoeberl and J. Vitek. Garbage collection for safety critical Java. In Proceedings of the 5th International Workshop on Java Technologies for Real-time and Embedded Systems (JTRES 2007), pages 85-93, Vienna, Austria, September 2007. ACM Press.
- F. Siebert. Eliminating external fragmentation in a non-moving garbage collector for Java. In Proceedings of the 2000 international conference on Compilers, architecture, and synthesis for embedded systems (CASES 2000), pages 9-17, New York, NY, USA, 2000. ACM.
- F. Siebert. Hard Realtime Garbage Collection in Modern Object Oriented Programming Languages. Number ISBN: 3-8311-3893-1. aicas Books, 2002.
- G. L. Steele. Multiprocessing compactifying garbage collection. Commun. ACM, 18(9):495-508, 1975.
- P. R. Wilson. Uniprocessor garbage collection techniques. Technical report, University of Texas, Jan. 1994. Expanded version of the IWMM92 paper.
- T. Yuasa. Real-time garbage collection on general-purpose machines. Journal of Systems and Software, 11(3):181-198, 1990.
- M. Zabel, T. B. Preusser, P. Reichel, and R. G. Spallek. Secure, real-time and multi-threaded general-purpose embedded java microarchitecture. In Prceedings of the 10th Euromicro Conference on Digital System Design Architectures, Methods and Tools (DSD 2007), pages 59-62, Aug. 2007.