Abstract
Now that the use of garbage collection in languages like Java is becoming widely accepted due to the safety and software engineering benefits it provides, there is significant interest in applying garbage collection to hard real-time systems. Past approaches have generally suffered from one of two major flaws: either they were not provably real-time, or they imposed large space overheads to meet the real-time bounds. We present a mostly non-moving, dynamically defragmenting collector that overcomes both of these limitations: by avoiding copying in most cases, space requirements are kept low; and by fully incrementalizing the collector we are able to meet real-time bounds. We implemented our algorithm in the Jikes RVM and show that at real-time resolution we are able to obtain mutator utilization rates of 45% with only 1.6--2.5 times the actual space required by the application, a factor of 4 improvement in utilization over the best previously published results. Defragmentation causes no more than 4% of the traced data to be copied.
- ALPERN, B., ET AL. The Jalapeño virtual machine. IBM Syst. J. 39, 1 (Feb. 2000), 211--238. Google Scholar
Digital Library
- APPEL, A. W., ELLIS, J. R., AND LI, K. Real-time concurrent collection on stock multiprocessors. In Proceedings of the SIGPLAN'88 Conference on Programming Language Design and Implementation (Atlanta, Georgia, June 1988). SIGPLAN Notices, 23, 7 (July), 11--20. Google Scholar
Digital Library
- ARNOLD, M., AND RYDER, B. G. Thin guards: A simple and effective technique for reducing the penalty of dynamic class loading. In Proceedings of the Sixteenth European Conference on Object- Oriented Programming (Málaga, Spain, June 2002), B. Magnusson, Ed., vol. 2374 of Lecture Notes in Computer Science, pp. 498--524. Google Scholar
Digital Library
- BACON, D. F., FINK, S. J., AND GROVE, D. Space- and timeefficient implementation of the Java object model. In Proceedings of the Sixteenth European Conference on Object-Oriented Programming (Málaga, Spain, June 2002), B. Magnusson, Ed., vol. 2374 of Lecture Notes in Computer Science, Springer-Verlag, pp. 111--132. Google Scholar
Digital Library
- BAKER, H. G. List processing in real-time on a serial computer. Commun. ACM 21, 4 (Apr. 1978), 280--294. Google Scholar
Digital Library
- BAKER, H. G. The Treadmill, real-time garbage collection without motion sickness. SIGPLAN Notices 27, 3 (Mar. 1992), 66--70. Google Scholar
Digital Library
- BEN-YITZHAK, O., GOFT, I., KOLODNER, E. K., KUIPER, K., AND LEIKEHMAN, V. An algorithm for parallel incremental compaction. In Proc. of the Third International Symposium on Memory Management (Berlin, Germany, June 2002), pp. 100--105. Google Scholar
Digital Library
- BLACKBURN, S.M., JONES, R.,MCKINLEY, K. S., AND MOSS, J. E. B. Beltway: getting around garbage collection gridlock. In Proc. of the SIGPLAN Conference on Programming Language Design and Implementation (Berlin, Germany, 2002), pp. 153--164. Google Scholar
Digital Library
- BOLLELLA, G., GOSLING, J., BROSGOL, B. M., DIBBLE, P., FURR, S., HARDIN, D., AND TURNBULL, M. The Real-Time Specification for Java. The Java Series. Addison-Wesley, 2000. Google Scholar
Digital Library
- BROOKS, R. A. Trading data space for reduced time and code space in real-time garbage collection on stock hardware. In Conference Record of the 1984 ACM Symposium on Lisp and Functional Programming (Austin, Texas, Aug. 1984), G. L. Steele, Ed., pp. 256--262. Google Scholar
Digital Library
- CHEADLE, A. M., FIELD, A. J., MARLOW, S., PEYTON JONES, S. L., AND WHILE, R. L. Non-stop Haskell. In Proc. of the Fifth International Conference on Functional Programming (Montreal, Quebec, Sept. 2000). SIGPLAN Notices, 35, 9, 257--267. Google Scholar
Digital Library
- CHENG, P., AND BLELLOCH, G. A parallel, real-time garbage collector. In Proc. of the SIGPLAN Conference on Programming Language Design and Implementation (Snowbird, Utah, June 2001). SIGPLAN Notices, 36, 5 (May), 125--136. Google Scholar
Digital Library
- CHENG, P., HARPER, R., AND LEE, P. Generational stack collection and profile-driven pretenuring. In Proc. of the Conference on Programming Language Design and Implementation (June 1998). SIGPLAN Notices, 33, 6, 162--173. Google Scholar
Digital Library
- DIMPSEY, R., ARORA, R., AND KUIPER, K. Java server performance: A case study of building efficient, scalable JVMs. IBMSyst. J. 39, 1 (2000), 151--174. Google Scholar
Digital Library
- HENRIKSSON, R. Scheduling Garbage Collection in Embedded Systems. PhD thesis, Lund Institute of Technology, July 1998.Google Scholar
- HUDSON, R. L., AND MOSS, E. B. Incremental garbage collection for mature objects. In Proc. of the International Workshop on Memory Management (St. Malo, France, Sept. 1992), Y. Bekkers and J. Cohen, Eds., vol. 637 of Lecture Notes in Computer Science. Google Scholar
Digital Library
- JOHNSTONE, M. S. Non-Compacting Memory Allocation and Real-Time Garbage Collection. PhD thesis, University of Texas at Austin, Dec. 1997. Google Scholar
Digital Library
- JOSEPH, M., AND PANDYA, P. K. Finding response times in a realtime system. Computer Journal 29, 5 (1986), 390--395.Google Scholar
Cross Ref
- LAROSE, M., AND FEELEY, M. A compacting incremental collector and its performance in a production quality compiler. In Proc. of the First International Symposium on Memory Management (Vancouver, B.C., Oct. 1998). SIGPLAN Notices, 34, 3 (Mar., 1999), 1--9. Google Scholar
Digital Library
- MOON, D. A. Garbage collection in a large LISP system. In Conference Record of the 1984 ACM Symposium on LISP and Functional Programming (Austin, Texas, Aug. 1984), pp. 235--246. Google Scholar
Digital Library
- NETTLES, S., AND O'TOOLE, J. Real-time garbage collection. In Proc. of the SIGPLAN Conference on Programming Language Design and Implementation (June 1993). SIGPLAN Notices, 28, 6, 217--226. Google Scholar
Digital Library
- NORTH, S. C., AND REPPY, J. H. Concurrent garbage collection on stock hardware. In Functional Programming Languages and Computer Architecture (Portland, Oregon, Sept. 1987), G. Kahn, Ed., vol. 274 of Lecture Notes in Computer Science, pp. 113--133. Google Scholar
Digital Library
- SIEBERT, F. Eliminating external fragmentation in a non-moving garbage collector for Java. In International Conference on Compilers, Architecture, and Synthesis for Embedded Systems (San Jose, California, Nov. 2000), pp. 9--17. Google Scholar
Digital Library
- YUASA, T. Real-time garbage collection on general-purpose machines. Journal of Systems and Software 11, 3 (Mar. 1990), 181--198. Google Scholar
Digital Library
- ZORN, B. Barrier methods for garbage collection. Tech. Rep. CU-CS-494-90, University of Colorado at Boulder, 1990.Google Scholar
Index Terms
POPL 2003: A real-time garbage collector with low overhead and consistent utilization
Recommendations
A real-time garbage collector with low overhead and consistent utilization
POPL '03: Proceedings of the 30th ACM SIGPLAN-SIGACT symposium on Principles of programming languagesNow that the use of garbage collection in languages like Java is becoming widely accepted due to the safety and software engineering benefits it provides, there is significant interest in applying garbage collection to hard real-time systems. Past ...
A real-time garbage collector with low overhead and consistent utilization
Now that the use of garbage collection in languages like Java is becoming widely accepted due to the safety and software engineering benefits it provides, there is significant interest in applying garbage collection to hard real-time systems. Past ...
The Collie: a wait-free compacting collector
ISMM '12We describe the Collie collector, a fully concurrent compacting collector that uses transactional memory techniques to achieve wait-free compaction. The collector uses compaction as the primary means of reclaiming unused memory, and performs "individual ...






Comments