Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article

Dusty caches for reference counting garbage collection

Published: 17 September 2005 Publication History

Abstract

Reference counting is a garbage-collection technique that maintains a per-object count of the number of pointers to that object. When the count reaches zero, the object must be dead and can be collected. Although it is cannot detect all garbage on its own, it is well suited for some applications and is implemented typically in conjunction with other methods to increase overall precision. A disadvantage of reference counting is the extra storage traffic that is introduced. In this paper, we describe a new cache write-back policy that can substantially decrease the reference-counting traffic to RAM.We investigate a cache design that takes advantage of temporally silent stores, by remebering the first-fetched value of a cache subblock, so that the subblock need not be written back to RAM unless a different value is present. We present results from experiments that show the effectiveness of this approach, particularly in mitigating the storage traffic due to reference counting.

References

[1]
Gordon B. Bell, Kevin M. Lepak, and Mikko H. Lipasti. Characterization of silent stores. In PACT '00: Proceedings of the 2000 International Conference on Parallel Architectures and Compilation Techniques, page 133, Washington, DC, USA, 2000. IEEE Computer Society.
[2]
George E. Collins. A method for overlapping and erasure of lists. Commun. ACM, 3(12):655--657, 1960.
[3]
Morgan Deters, Nicholas A. Leidenfrost, Matthew P. Hampton, James C. Brodman, and Ron K. Cytron. Automated reference-counted object recycling for real-time java. In Proceedings of 10th IEEE Real-Time and Embedded Technology and Applications Symposium, 2004.
[4]
Field Programmable Port Extender Homepage. Online http://www.ar1.wust1.edu/ar1/projects/fpx/, August 2001.
[5]
Jiri Gaissler. The leon processor. www.gaisler.com, 2005.
[6]
Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading, MA, 1995.
[7]
SPARC International. The SPARC Architecture Manual Version 8. Prentice-Hall, Englewood Cliffs, New Jersey, 1992.
[8]
Phillip Jones, Shobana Padmanabhan, Daniel Rymarz, John Maschmeyer, David V. Schuehler, John W. Lockwood, and Ron K. Cytron. Liquid architecture. In Workshop on Next Generation Software (at IPDPS), 2004.
[9]
Kevin M. Lepak and Mikko H. Lipasti. Silent stores for free. In MICRO 33: Proceedings of the 33rd annual ACM/IFEE international symposium on Microarchitecture, pages 22--31, New York, NY, USA, 2000. ACM Press.
[10]
Kevin M. Lepak and Mikko H. Lipasti. Temporally silent stores. In ASPLOS-X: Proceedings of the 10th international conference on Architectural support for programming languages and operating systems, pages 30--41, New York, NY, USA, 2002. ACM Press.
[11]
Yossi Levanoni and Erez Petrank. An On-the-fly Reference Counting Garbage Collector for Java. In Proceedings of the 16th ACM SIGPLAN conference on Object oriented programming, systems, languages, and applications, pages 367--380. ACM Press, 2001.
[12]
Tom Lindholm and Frank Yellin. The Java Virtual Machine Specification. Addison-Wesley, Reading, Massachusetts, 1997.
[13]
N. Metropolis. The beginning of the monte-carlo method. Los Alamos Science, 1987.
[14]
Ron K. Cytron Richard Hough. The liquid architecture statistics module. Tech Report, 2005.
[15]
SPEC. Specjvm98 benchmarks. www.spec.org/osg/jvm98, 1998.
[16]
Paul R. Wilson. Uniprocessor garbage collection techniques. International Workshop on Memory Management, 1992.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM SIGARCH Computer Architecture News
ACM SIGARCH Computer Architecture News  Volume 34, Issue 1
Special issue: MEDEA'05
March 2006
86 pages
ISSN:0163-5964
DOI:10.1145/1147349
Issue’s Table of Contents

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 17 September 2005
Published in SIGARCH Volume 34, Issue 1

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)3
  • Downloads (Last 6 weeks)0
Reflects downloads up to 23 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2021)Quantifying the Interpretation Overhead of PythonScience of Computer Programming10.1016/j.scico.2021.102759(102759)Online publication date: Dec-2021
  • (2006)Vision for liquid architectureProceedings 20th IEEE International Parallel & Distributed Processing Symposium10.1109/IPDPS.2006.1639583(8 pp.)Online publication date: 2006
  • (2022)Quantifying the interpretation overhead of PythonScience of Computer Programming10.1016/j.scico.2021.102759215:COnline publication date: 1-Mar-2022
  • (2015)Recycling trash in cacheACM SIGPLAN Notices10.1145/2887746.275418350:11(118-130)Online publication date: 14-Jun-2015
  • (2015)Recycling trash in cacheProceedings of the 2015 International Symposium on Memory Management10.1145/2754169.2754183(118-130)Online publication date: 14-Jun-2015
  • (2014)Trash in cacheProceedings of the workshop on Memory Systems Performance and Correctness10.1145/2618128.2618133(1-9)Online publication date: 13-Jun-2014
  • (2014)One, Two, Hash! Counting Hash Tables for Flash DevicesProceedings of the 1st IKDD Conference on Data Sciences10.1145/2567688.2567693(1-10)Online publication date: 21-Mar-2014
  • (2006)Vision for liquid architectureProceedings of the 20th international conference on Parallel and distributed processing10.5555/1898699.1898810(287-287)Online publication date: 25-Apr-2006

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media