skip to main content
article
Free Access

Cost-effective object space management for hardware-assisted real-time garbage collection

Published:01 December 1992Publication History
Skip Abstract Section

Abstract

Modern object-oriented languages and programming paradigms require finer-grain division of memory than is provided by traditional paging and segmentation systems. This paper describes the design of an OSM (Object Space Manager) that allows partitioning of real memory on object, rather than page, boundaries. The time required by the OSM to create an object, or to find the beginning of an object given a pointer to any location within it, is approximately one memory cycle. Object sizes are limited only by the availability of address bits. In typical configurations of object-oriented memory modules, one OSM chip is required for every 16 RAM chips. The OSM serves a central role in the implementation of a hardware-assisted garbage collection system in which the worst-case stop-and-wait garbage collection delay ranges between 10 and 500 μsec, depending on the system configuration.

References

  1. BAKER, H. G. JR. 1978. List processing in real time on a serial computer. Commun. ACM 21, 4 (Apr.), 280-293. Google ScholarGoogle Scholar
  2. BARTLETT, J.F. 1988. Compacting garbage collection with ambiguous roots. WRL Res. Rep. 88/2. Digital Equipment Corporation Western Research Laboratory.Google ScholarGoogle Scholar
  3. BOEHM, H., AND WEISER, M. 1988. Garbage collection in an uncooperative environment. Softw. Pract. Exp. 18, 9 (Sept.), 807-820. Google ScholarGoogle Scholar
  4. BOEHM, H., DEMERS, A. J., AND SHENKER, S. 1991. Mostly parallel garbage collection. In ACM SIGPLAN Notzces Conference on Programming Language Design and Implementation. ACM, New York. Google ScholarGoogle Scholar
  5. CHAMBERS, C. 1992. The design and implementation of the SELF compiler, an optimizing compiler for object-oriented programming languages. Ph.D. dissertation, Stanford Univ., Stanford, Calif. Google ScholarGoogle Scholar
  6. CHAMBERS, C. 1991. Cost of garbage collection in the SELF system. In the 1991 Workshop on Garbage Collectmn tn Object-Oriented Systems of OOPSLA. ACM, New York.Google ScholarGoogle Scholar
  7. CHRISTOPHER, T.W. 1984. Reference count garbage collection. Softw. Prac. Exp. 14, 503-507.Google ScholarGoogle Scholar
  8. DETLEFS, D.L. 1990. Concurrent garbage collection for C+ +. CMU-CS-90-119, Carnegie-Mellon Univ., Pittsburgh, Penn.Google ScholarGoogle Scholar
  9. DIWAN, A., Moss, E., AND HUDSON, R. 1992. Compiler support for garbage collection m a statically typed language. In ACM SIGPLAN Notices Conference on Programming Language Destgn and Implementatwn 27, 6 (June), 273-282. Google ScholarGoogle Scholar
  10. ELLIS, J. R. Lt, K., AND APPEL, A.W. 1988. Real-time concurrent collection on stock multiprocessors. In ACM SIGPLAN Nottces Conference on Programmtng Language Design and Implementation. ACM, New York. Google ScholarGoogle Scholar
  11. ENGELSTAD, S. L., AND VANDENDORPE, J.E. 1991. Automatic storage management for systems with real-time constraints. In Oral Presentation at 1991 Workshop on Garbage CoUectzon in Object-Oriented Systems of OOPSLA. ACM, New York.Google ScholarGoogle Scholar
  12. GRISWOLD, R. E., AND GRISWOLD, M.T. 1986. The Dnplementation of the Icon Programming Language. Princeton University Press, Princeton, NJ. Google ScholarGoogle Scholar
  13. HANSON, D.R. 1977. Storage management for an implementation of SNOBOLA. Softw. Pract. Exp. 7, 179-192.Google ScholarGoogle Scholar
  14. JOHNSON, Z. 1992. Reducing the latency of a real-time garbage collector. ACM Lett. Prog. Lang. Syst. 1, 1 ~Mar.), 46-58. Google ScholarGoogle Scholar
  15. Moss, J. E. B. 1991. The UMass language independent garbage collector toolkit. In 1991 Workshop on Garbage Collection in Object-Oriented Systems of OOPSLA. ACM, New York.Google ScholarGoogle Scholar
  16. NILSEN, K. 1991. Memory cycle accountings for hardware-assisted real-time garbage collection. Tech. Rep 91-21, Iowa State Univ.Google ScholarGoogle Scholar
  17. NILSEN, K. 1988. Garbage collection of strings and linked data structures in real time. Softw. Prac. Exp. 18, 7 (July)~ 613-640. Google ScholarGoogle Scholar
  18. NILSEN, K. AND SCHMIDT, W.J. 1992a. Hardware-assisted general-purpose garbage collection for hard real-time systems, Tech. Rep. 92-15, Iowa State Univ.Google ScholarGoogle Scholar
  19. NILSEN, K. D., AND SCHMIDT, W. J. 1992b. Preferred embodiment of a hardware-assisted garbage~collection system. Tech. Rep. 92-17~ Iowa State Univ.Google ScholarGoogle Scholar
  20. SCHMIDT, W.J. 1992. Issues in the design and implementation of a real-time garbage collection architecture. Ph.D. dissertation, Tech. Rep. 92-25, Iowa State Univ. Google ScholarGoogle Scholar
  21. SCHMIDT, W. J., AND NILSEN, K.D. 1992. Experimental measurements of a real-time garbage collection architecture. Tech. Rep. 92-26, Iowa State Univ.Google ScholarGoogle Scholar
  22. SCHMIT, W. J., AND NILSEN, K. 1991. Architectural support for garbage-collected memory in hard real-time systems. Tech. Rep. 91-23, Iowa State Univ.Google ScholarGoogle Scholar
  23. UNGAR, D. 1984. Generation scavenging: A nondisruptive high performance storage reclamation algorithm. SIGPLAN Not. 19, 5 (May), 157-167. Google ScholarGoogle Scholar
  24. YUASA, T. 1990. Real-time garbage collection on general-purpose machines. J. Syst. Softw. 11, 181-198. Google ScholarGoogle Scholar

Index Terms

  1. Cost-effective object space management for hardware-assisted real-time garbage collection

                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!