[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1007/11745693_35guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

A lightweight cyclic reference counting algorithm

Published: 03 May 2006 Publication History

Abstract

This paper focuses on a major weakness of reference counting technique – the lack of collecting cyclic garbage. Most reference counted systems handle this problem by either invoking a global mark-sweep collector occasionally, or incorporating a local ("partial") tracing collector that considers only the cycle candidates (objects) but needs several traces on them. This paper proposes a "lightweight" cycle detector, which is based on the partial tracing approach but collects garbage cycles in a simpler and more efficient way. Key to the algorithm is the removal of multiple traces on the cycle candidates – It effectively reclaims garbage cycles in only one trace. We have evaluated the algorithm in the Jikes Research Virtual Machine, where a set of benchmark programs from SPECjvm98 were applied. The experiments demonstrate the efficiency and practicability of the lightweight cycle detector, compared to a modern cycle detector that requires multiple traces on objects.

References

[1]
Alpern, B., et al.: Implementing Jalapeño in Java. In OOPSLA'99 Conference Proceedings: Object-Oriented Programming Systems, Languages, and Applications (Denver, Colorado, Oct. 1999). SIGPLAN Notices, 34, 10, (1999) 314-324.
[2]
Bacon, D.F., Attanasio, C.R., Lee, H.B., Rajan, V.T., and Smith, S.: Java without the coffee breaks: A nonintrusive multiprocessor garbage collector. In Proceedings of SIGPLAN 2001 Conference on Programming Languages Design and Implementation, ACM SIGPLAN Notices, Snowbird, Utah, June 2001.
[3]
Bacon, D.F., and Rajan, V.T.: Concurrent cycle collection in reference counted systems. In Proceedings of 15th European Conference on Object-Oriented Programming, ECOOP 2001, Budapest, Hungary, June 18-22, vol. 2072 of Lecture Notes in Computer Science, Springer-Verlag, (2001) 207-235.
[4]
Blackburn, S.M., Cheng, P., and McKinley, K.S.: Oil and water? High performance garbage collection in Java with MMTk. In International Conference on Software Engineering, 2004.
[5]
Blackburn, S.M., and McKinley, K.S.: Ulterior reference counting: Fast garbage collection without a long wait. In ACM Conference on Object-Oriented Programming Systems, Languages, and Applications, Anaheim, CA, (2003) 244-358.
[6]
Christopher, T.W.: Reference count garbage collection. Software Practice and Experience, 14 (6) (1984) 503-507.
[7]
Collins, G.E.: A method for overlapping and erasure of lists. Commun. ACM 3, 12 (1960) 655-657.
[8]
Detreville, J.: Experience with concurrent garbage collectors for Modula-2+. Tech. Rep. 64, DEC Systems Research Center, Palo Alto, California, 1990.
[9]
Deutsch, L.P., and Bobrow, D.G.: An efficient incremental automatic garbage collector. Commun. ACM, 19, 9 (1976) 522-526.
[10]
Jones, R.E., and Lins, R.D.: Cyclic weighted reference counting without delay. In-PARLE'93 Parallel Architectures and Languages Europe, A. Bode, M. Reeve, and G. Wolf, Eds., vol. 694 of Lecture Notes in Computer Science, Springer-Verlag, (1993) 712- 715.
[11]
Jones, R.E., and Lins, R.D.: Garbage Collection. John Wiley and Sons, 1996.
[12]
Levanoni, Y., and Petrank, E.: A scalable reference counting garbage collector. Technical Report CS-0967, Technion - Israel Institute of Technology, Haifa, Israel, Nov. 1999.
[13]
Levanoni, Y., and Petrank, E.: An on-the-fly reference counting garbage collector for Java. In ACM Conference Proceedings on Object-Oriented Programming Systems, Languages, and Applications, Tampa, FL, (2001) 367-380.
[14]
Lins, R.D.: An efficient algorithm for cyclic reference counting. Inf. Process. Lett. 83, (2002) 145-150.
[15]
Lins, R.D.: Cyclic reference counting with lazy mark-scan. Inf. Process. Lett. 44, 4 (1992) 215-220.
[16]
Lins, R.D.: Generational cyclic reference counting. Inf. Process. Lett. 46, 1 (1993) 19-20.
[17]
Martinez, A.D., Wachenchauzer, R., and Lins, R.D.: Cyclic reference counting with local mark-scan. Inf. Process. Lett. 34, 1 (1990) 31-35.
[18]
McBeth, J.H.: On the reference counter method. Commun. ACM 6, 9 (1963) 575.
[19]
McCarthy, J.: Recursive functions of symbolic expressions and their computation by machine. Commun. ACM 3, (1960) 184-195.
[20]
Paz, H., Petrank, E., Bacon, D.F., Rajan, V.T., and Kolodner, E.K.: An efficient on-the-fly cycle collection. In Proceedings of the 14th International Conference on Compiler Construction, Edinburgh. Springer-Verlag, April 2005.
[21]
S. P. E. Corporation: Specjvm98 documentation. March 1999.
[22]
Ye, X., and Keane, J.: Collecting cyclic garbage in distributed systems. In International Symposium on Parallel Architectures, Algorithms and Networks, Taipei, Taiwan, 1997.

Cited By

View all

Index Terms

  1. A lightweight cyclic reference counting algorithm
      Index terms have been assigned to the content through auto-classification.

      Recommendations

      Comments

      Please enable JavaScript to view thecomments powered by Disqus.

      Information & Contributors

      Information

      Published In

      cover image Guide Proceedings
      GPC'06: Proceedings of the First international conference on Advances in Grid and Pervasive Computing
      May 2006
      663 pages
      ISBN:3540338098
      • Editors:
      • Yeh-Ching Chung,
      • José E. Moreira

      Publisher

      Springer-Verlag

      Berlin, Heidelberg

      Publication History

      Published: 03 May 2006

      Qualifiers

      • Article

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)0
      • Downloads (Last 6 weeks)0
      Reflects downloads up to 20 Dec 2024

      Other Metrics

      Citations

      Cited By

      View all

      View Options

      View options

      Media

      Figures

      Other

      Tables

      Share

      Share

      Share this Publication link

      Share on social media