Abstract
Memory management is a critical issue for correctness and performance in real-time embedded systems. Recent work on real-time garbage collectors has shown that it is possible to provide guarantees on worst-case pause times and minimum mutator utilization time. This paper presents a new hierarchical real-time garbage collection algorithm for mixed-priority and mixed-criticality environments. With hierarchical garbage collection, real-time programmers can partition the heap into a number of heaplets and for each partition choose to run a separate collector with a schedule that matches the allocation behavior and footprint of the real-time task using it. This approach lowers worst-case response times of real-time applications by 26%, while almost doubling mutator utilization -- all with only minimal changes to the application code.
- Laurent Amsaleg, Olivier Gruber, and Michael Franklin. Efficient incremental garbage collection for workstation-server database systems. In Proceedings of the International Conference on Very Large Data Bases, pages 42--53. Morgan Kaufmann, 1995. Google Scholar
Digital Library
- Chris Andreae, Yvonne Coady, Celina Gibbs, James Noble, Jan Vitek, and Tian Zhao. Scoped Types and Aspects for Real-Time Java. In Proceedings of the European Conference on Object-Oriented Programming (ECOOP), pages 124--147, Nantes, France, July 2006. Springer. Google Scholar
Digital Library
- Austin Armbuster, Jason Baker, Antonio Cunei, David Holmes, Chapman Flack, Filip Pizlo, Edward Pla, Marek Prochazka, and Jan Vitek. A Real-time Java virtual machine with applications in avionics. ACM Transactions in Embedded Computing Systems (TECS), to appear. Google Scholar
Digital Library
- David F. Bacon, Perry Chang, and V.T. Ra jan. A real-time garbage collector with low overhead and consistent utilization. In Conference Record of the ACM Symposium on Principles of Programming Languages, pages 285--298, New Orleans, Louisiana, January 2003. Google Scholar
Digital Library
- H. G. Baker. List processing in real time on a serial computer. Communications of the ACM, 21(4):280--294, April 1978. Google Scholar
Digital Library
- Peter B. Bishop. Computer Systems with a Very Large Address Space and Garbage Collection. PhD thesis, Massachusetts Institute of Technology, Cambridge, Massachusetts, May 1977.Google Scholar
- Greg Bollella, James Gosling, Benjamin Brosgol, Peter Dibble, Steve Furr, and Mark Turnbull. The Real-Time Specification for Java. Addison-Wesley, June 2000. Google Scholar
Digital Library
- Perry Cheng and Guy Blelloch. A parallel, real-time garbage collector. In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), pages 125--136, Snowbird, Utah, June 2001. Google Scholar
Digital Library
- Paulo Ferreira and Marc Shapiro. Garbage collection and DSM consistency. In Proceedings of the USENIX Symposium on Operating Systems Design and Implementation, pages 229--241, Monterey, California, November 1994. Google Scholar
Digital Library
- Roger Henriksson. Scheduling Garbage Colection in Embedded Systems. PhD thesis, Lund University, July 1998.Google Scholar
- Richard L. Hudson and J. Eliot B. Moss. Incremental collection of mature ob jects. In Proceedings of the International Workshop on Memory Management, pages 388--403. Springer-Verlag, 1992. Google Scholar
Digital Library
- Richard Jones and Andy C. King. A fast analysis for thread-local garbage collection with dynamic class loading. In Proceedings of the 5th IEEE International Workshop on Source Code Analysis and Manipulation (SCAM), pages 129--138, Budapest, Hungary, October 2005. Google Scholar
Digital Library
- Niels Christian Juul and Eric Jul. Comprehensive and robust garbage collection in a distributed system. In Proceedings of the International Workshop on Memory Management, volume 986 of Lecture Notes in Computer Science, pages 103--115, 1995. Google Scholar
Digital Library
- Arvind S. Krishna, Douglas C. Schmidt, and Raymond Klefstad. Enhancing Real-Time CORBA via Real-Time Java Features. In 24th International Conference on Distributed Computing Systems (ICDCS 2004), pages 66--73, Hachio ji, Tokyo, Japan, March 2004. Google Scholar
Digital Library
- Bernard Lang, Christian Queinnec, and José M. Piquer. Garbage collecting the world. In Conference Record of the ACM SIGPLAN Symposium on Principles of Programming Languages, pages 39--50, Albuquerque, New Mexico, January 1992. Google Scholar
Digital Library
- Umesh Maheshwari and Barbara Liskov. Collecting cyclic distributed garbage by controlled migration. Distributed Computing, 10(2):79--86, 1997.Google Scholar
Cross Ref
- Umesh Maheshwari and Barbara Liskov. Partitioned garbage collection of a large ob ject store. In Proceedings of the ACM International Conference on Management of Data, pages 313--323, June 1997. Google Scholar
Digital Library
- J. Eliot B. Moss, David S. Munro, and Richard L. Hudson. PMOS: A complete and coarse-grained incremental garbage collector for persistent ob ject stores. In Proceedings of the Seventh International Workshop on Persistent Object Systems, pages 140--150. Morgan Kaufmann, 1997.Google Scholar
- Pekka Pirinen. Barrier techniques for incremental tracing. In Proceedings of the ACM International Symposium on Memory Management, pages 20--25. ACM, March 1999. Google Scholar
Digital Library
- Filip Pizlo, Jason Fox, David Holmes, and Jan Vitek. Real-time Java scoped memory: design patterns and semantics. In Proceedings of the IEEE International Symposium on Object-oriented Real-Time Distributed Computing (ISORC'04), Vienna, Austria, May 2004.Google Scholar
Cross Ref
- Filip Pizlo and Jan Vitek. An empirical evalutation of memory management alternatives for Real-Time Java. In Proceedings of the 27th IEEE Real-Time Systems Symposium (RTSS), December 2006. Google Scholar
Digital Library
- William J. Schmidt and Kelvin D. Nilsen. Performance of a hardware-assisted real-time garbage collector. In Proceedings of the Sixth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), pages 76--85, San Jose, California, October 1994. Google Scholar
Digital Library
- Fridtjof Siebert. Real-time garbage collection in multi-threaded systems on a single processor. In Proceedings of the 20th IEEE Real-Time Systems Symposium (RTSS), pages 277--278, Phoenix, Arizona, December 1999. Google Scholar
Digital Library
- Voon-Fee Yong, Jeffrey F. Naughton, and Jie-Bing Yu. Storage reclamation and reorganization in client-server persistent ob ject stores. In Proceedings of the International Conference on Data Engineering, pages 120--131. IEEE Computer Society, 1994. Google Scholar
Digital Library
Index Terms
Hierarchical real-time garbage collection
Recommendations
Hierarchical real-time garbage collection
LCTES '07: Proceedings of the 2007 ACM SIGPLAN/SIGBED conference on Languages, compilers, and tools for embedded systemsMemory management is a critical issue for correctness and performance in real-time embedded systems. Recent work on real-time garbage collectors has shown that it is possible to provide guarantees on worst-case pause times and minimum mutator ...
Concurrent, parallel, real-time garbage-collection
ISMM '10: Proceedings of the 2010 international symposium on Memory managementWith the current developments in CPU implementations, it becomes obvious that ever more parallel multicore systems will be used even in embedded controllers that require real-time guarantees. When garbage collection is used in these systems, parallel ...
Age-based garbage collection
Modern generational garbage collectors look for garbage among the young objects, because they have high mortality; however, these objects include the very youngest objects, which clearly are still live. We introduce new garbage collection algorithms, ...







Comments