skip to main content
research-article

POPL 2003: A real-time garbage collector with low overhead and consistent utilization

Authors Info & Claims
Published:09 July 2013Publication History
Skip Abstract Section

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.

References

  1. ALPERN, B., ET AL. The Jalapeño virtual machine. IBM Syst. J. 39, 1 (Feb. 2000), 211--238. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  3. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  4. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  5. BAKER, H. G. List processing in real-time on a serial computer. Commun. ACM 21, 4 (Apr. 1978), 280--294. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. BAKER, H. G. The Treadmill, real-time garbage collection without motion sickness. SIGPLAN Notices 27, 3 (Mar. 1992), 66--70. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  8. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  9. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  10. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  11. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  12. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  13. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  14. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  15. HENRIKSSON, R. Scheduling Garbage Collection in Embedded Systems. PhD thesis, Lund Institute of Technology, July 1998.Google ScholarGoogle Scholar
  16. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  17. JOHNSTONE, M. S. Non-Compacting Memory Allocation and Real-Time Garbage Collection. PhD thesis, University of Texas at Austin, Dec. 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. JOSEPH, M., AND PANDYA, P. K. Finding response times in a realtime system. Computer Journal 29, 5 (1986), 390--395.Google ScholarGoogle ScholarCross RefCross Ref
  19. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  20. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  21. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  22. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  23. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  24. YUASA, T. Real-time garbage collection on general-purpose machines. Journal of Systems and Software 11, 3 (Mar. 1990), 181--198. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. ZORN, B. Barrier methods for garbage collection. Tech. Rep. CU-CS-494-90, University of Colorado at Boulder, 1990.Google ScholarGoogle Scholar

Index Terms

  1. POPL 2003: A real-time garbage collector with low overhead and consistent utilization

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in

          Full Access

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader
          About Cookies On This Site

          We use cookies to ensure that we give you the best experience on our website.

          Learn more

          Got it!