Academia.eduAcademia.edu

Outline

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.1434802

Abstract

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)

  1. REFERENCES
  2. 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.
  3. H. G. Baker. List processing in real time on a serial computer. Commun. ACM, 21(4):280-294, 1978.
  4. 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.
  5. 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.
  6. 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.
  7. 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.
  8. 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.
  9. 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.
  10. 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.
  11. 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.
  12. 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.
  13. 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.
  14. 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.
  15. 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.
  16. 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.
  17. 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.
  18. 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.
  19. M. Schoeberl. A Java processor architecture for embedded real-time systems. Journal of Systems Architecture, 54/1-2:265-286, 2008.
  20. 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.
  21. 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.
  22. 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.
  23. F. Siebert. Hard Realtime Garbage Collection in Modern Object Oriented Programming Languages. Number ISBN: 3-8311-3893-1. aicas Books, 2002.
  24. G. L. Steele. Multiprocessing compactifying garbage collection. Commun. ACM, 18(9):495-508, 1975.
  25. P. R. Wilson. Uniprocessor garbage collection techniques. Technical report, University of Texas, Jan. 1994. Expanded version of the IWMM92 paper.
  26. T. Yuasa. Real-time garbage collection on general-purpose machines. Journal of Systems and Software, 11(3):181-198, 1990.
  27. 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.