skip to main content
research-article

Recycling trash in cache

Published:14 June 2015Publication History
Skip Abstract Section

Abstract

The disparity between processing and storage speeds can be bridged in part by reducing the traffic into and out of the slower memory components. Some recent studies reduce such traffic by determining dead data in cache, showing that a significant fraction of writes can be squashed before they make the trip toward slower memory. In this paper, we examine a technique for eliminating traffic in the other direction, specifically the traffic induced by dynamic storage allocation. We consider recycling dead storage in cache to satisfy a program's storage-allocation requests. We first evaluate the potential for recycling under favorable circumstances, where the associated logic can run at full speed with no impact on the cache's normal behavior. We then consider a more practical implementation, in which the associated logic executes independently from the cache's critical path. Here, the cache's performance is unfettered by recycling, but the operations necessary to determine dead storage and recycle such storage execute as time is available. Finally, we present the design and analysis of a hardware implementation that scales well with cache size without sacrificing too much performance.

References

  1. D. F. Bacon, P. Cheng, and V. T. Rajan. A unified theory of garbage collection. In Proceedings of the 19th Annual ACM SIGPLAN Conference on Object-oriented Programming, Systems, Languages, and Applications, OOPSLA ’04, pages 50– 68, New York, NY, USA, 2004. ACM. ISBN 1-58113-831-8.. URL http://doi.acm.org/10.1145/1028976.1028982. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. H. G. Baker. Infant mortality and generational garbage collection. SIGPLAN Not., 28(4):55– 57, Apr. 1993. ISSN 0362-1340. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. . URL http://doi.acm.org/10.1145/152739.152747.Google ScholarGoogle Scholar
  4. S. Belayneh and D. R. Kaeli. A discussion on nonblocking/lockup-free caches. SIGARCH Comput. Archit. News, 24(3):18–25, June 1996. ISSN 0163-5964.. URL http://doi.acm.org/10.1145/381718.381727. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. S. Bhattacharya, M. G. Nanda, K. Gopinath, and M. Gupta. Reuse, recycle to de-bloat software. In Proceedings of the 25th European Conference on Object-oriented Programming, ECOOP’11, pages 408–432, Berlin, Heidelberg, 2011. Springer-Verlag. ISBN 978-3-642-22654-0. URL http://dl.acm.org/citation.cfm?id=2032497.2032524. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. S. M. Blackburn and K. S. McKinley. Ulterior reference counting: Fast garbage collection without a long wait. In Proceedings of the 18th Annual ACM SIGPLAN Conference on Object-oriented Programing, Systems, Languages, and Applications, OOPSLA ’03, pages 344–358, New York, NY, USA, 2003. ACM. ISBN 1-58113-712-5.. URL http://doi.acm.org/10.1145/949305.949336. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. S. M. Blackburn, P. Cheng, and K. S. McKinley. Myths and realities: The performance impact of garbage collection. In Proceedings of the Joint International Conference on Measurement and Modeling of Computer Systems, SIGMETRICS ’04/Performance ’04, pages 25–36, New York, NY, USA, 2004. ACM. ISBN 1-58113-873-3.. URL http://doi.acm.org/10.1145/1005686.1005693. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. S. M. Blackburn, R. Garner, C. Hoffmann, A. M. Khang, K. S. McKinley, R. Bentzur, A. Diwan, D. Feinberg, D. Frampton, S. Z. Guyer, M. Hirzel, A. Hosking, M. Jump, H. Lee, J. E. B. Moss, A. Phansalkar, D. Stefanovi´c, T. VanDrunen, D. von Dincklage, and B. Wiedermann. The dacapo benchmarks: Java benchmarking development and analysis. In Proceedings of the 21st Annual ACM SIGPLAN Conference on Object-oriented Programming Systems, Languages, and Applications, OOPSLA ’06, pages 169–190, New York, NY, USA, 2006. ACM. ISBN 1-59593-348-4.. URL http://doi.acm.org/10.1145/1167473.1167488. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. S. Bock, B. Childers, R. Melhem, D. Mosse, and Y. Zhang. Analyzing the impact of useless write-backs on the endurance and energy consumption of pcm main memory. In Proceedings of the IEEE International Symposium on Performance Analysis of Systems and Software, ISPASS ’11, pages 56–65, 2011. ISBN 978-1-61284-367-4. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. J. M. Chang and E. F. Gehringer. Object-caching for performance in object-oriented systems. In Proceedings of the 1991 IEEE International Conference on Computer Design on VLSI in Computer &Amp; Processors, ICCD ’91, pages 379–385, Washington, DC, USA, 1991. IEEE Computer Society. ISBN 0-8186-2270-9. URL http://dl.acm.org/citation.cfm?id=645460.654558. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. J. M. Chang and E. F. Gehringer. Performance of object caching for object-oriented systems. In Proceedings of the IFIP TC10/WG 10.5 International Conference on Very Large Scale Integration, VLSI ’93, pages 83–91, Amsterdam, The Netherlands, The Netherlands, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. North-Holland Publishing Co. ISBN 0-444-89911-1. URL http://dl.acm.org/citation.cfm?id=645943.674513.Google ScholarGoogle Scholar
  13. P. Crowley and J.-L. Baer. On the use of trace sampling for architectural studies of desktop applications. In Proceedings of the 1999 ACM SIGMETRICS International Conference on Measurement and Modeling of Computer Systems, SIGMETRICS ’99, pages 208–209, New York, NY, USA, 1999. ACM. ISBN 1-58113-083-X.. URL http://doi.acm.org/10.1145/301453.301573. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. A. P. Ferreira, M. Zhou, S. Bock, B. Childers, R. Melhem, and D. Mossé. Increasing pcm main memory lifetime. In Proceedings of the Conference on Design, Automation and Test in Europe, DATE ’10, pages 914–919, 3001 Leuven, Belgium, Belgium, 2010. European Design and Automation Association. ISBN 978-3-9810801-6-2. URL http://dl.acm.org/citation.cfm?id=1870926.1871147. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. D. Frampton, D. F. Bacon, P. Cheng, and D. Grove. Generational real-time garbage collection: A three-part invention for young objects. In Proceedings of the 21st European Conference on Object-Oriented Programming, ECOOP’07, pages 101–125, Berlin, Heidelberg, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Springer-Verlag. ISBN 3-540-73588-7, 978-3-540-73588-5. URL http://dl.acm.org/citation.cfm?id=2394758.2394767.Google ScholarGoogle Scholar
  17. S. Friedman, P. Krishnamurthy, R. Chamberlain, R. K. Cytron, and J. E. Fritts. Dusty caches for reference counting garbage collection. In Proceedings of the 2005 workshop on MEmory performance: DEaling with Applications, systems and architecture, MEDEA ’05, pages 3–10, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. J. L. Hennessy and D. A. Patterson. Computer Architecture: A Quantitative Approach. Morgan Kauffman Publishers, San Francisco, California, 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. C. Isen and L. John. Eskimo: Energy savings using semantic knowledge of inconsequential memory occupancy for dram subsystem. In Proceedings of the 42Nd Annual IEEE/ACM International Symposium on Microarchitecture, pages 337– 346, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. J. A. Joao, O. Mutlu, and Y. N. Patt. Flexible referencecounting-based hardware acceleration for garbage collection. In Proceedings of the 36th Annual International Symposium on Computer Architecture, ISCA ’09, pages 418–428, New York, NY, USA, 2009. ACM. ISBN 978-1-60558-526-0.. URL http://doi.acm.org/10.1145/1555754.1555806. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. K. M. Lepak and M. H. Lipasti. Silent stores for free. In Proceedings of the 33rd annual ACM/IEEE international symposium on Microarchitecture, MICRO 33, pages 22–31, New York, NY, USA, 2000. ACM. ISBN 1-58113-196-8.. URL http://doi.acm.org/10.1145/360128.360133. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. K. M. Lepak and M. H. Lipasti. On the value locality of store instructions. In Proceedings of the 27th annual international symposium on Computer architecture, ISCA ’00, pages 182– 191, New York, NY, USA, 2000. ACM. ISBN 1-58113-232-8.. URL http://doi.acm.org/10.1145/339647.339678. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. K. M. Lepak and M. H. Lipasti. Temporally silent stores. SIGPLAN Not., 37:30–41, October 2002. ISSN 0362-1340. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. . URL http://doi.acm.org/10.1145/605432.605401.Google ScholarGoogle Scholar
  25. J. A. Lewis, B. Black, and M. H. Lipasti. Avoiding initialization misses to the heap. In Proceedings of the 29th annual international symposium on Computer architecture, ISCA ’02, pages 183–194, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. H. Lieberman and C. Hewitt. A real-time garbage collector based on the lifetimes of objects. Commun. ACM, 26(6):419–429, June 1983. ISSN 0001-0782. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. . URL http://doi.acm.org/10.1145/358141.358147.Google ScholarGoogle Scholar
  28. C.-J. Peng and G. S. Sohi. Cache memory design considerations to support languages with dynamic heap allocation. Technical report, University of Wisconsin-Madison, 1989. Report 860, CS Department.Google ScholarGoogle Scholar
  29. M. K. Qureshi, V. Srinivasan, and J. A. Rivers. Scalable high performance main memory system using phasechange memory technology. In Proceedings of the 36th Annual International Symposium on Computer Architecture, ISCA ’09, pages 24–33, New York, NY, USA, 2009. ACM. ISBN 978-1-60558-526-0.. URL http://doi.acm.org/10.1145/1555754.1555760. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. J. B. Sartor, W. Heirman, S. M. Blackburn, L. Eeckhout, and K. S. McKinley. Cooperative cache scrubbing. In Proceedings of the 23rd International Conference on Parallel Architectures and Compilation, PACT ’14, pages 15–26, New York, NY, USA, 2014. ACM. ISBN 978-1-4503-2809-8.. URL http://doi.acm.org/10.1145/2628071.2628083. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. J. Shidal, Z. Gottlieb, R. K. Cytron, and K. M. Kavi. Trash in cache: Detecting eternally silent stores. In Proceedings of the Workshop on Memory Systems Performance and Correctness, MSPC ’14, pages 8:1–8:9, New York, NY, USA, 2014. ACM. ISBN 978-1-4503-2917-0.. URL http://doi.acm.org/10.1145/2618128.2618133. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Recycling trash in cache

        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

        • Published in

          cover image ACM SIGPLAN Notices
          ACM SIGPLAN Notices  Volume 50, Issue 11
          ISMM '15
          November 2015
          156 pages
          ISSN:0362-1340
          EISSN:1558-1160
          DOI:10.1145/2887746
          Issue’s Table of Contents
          • cover image ACM Conferences
            ISMM '15: Proceedings of the 2015 International Symposium on Memory Management
            June 2015
            156 pages
            ISBN:9781450335898
            DOI:10.1145/2754169

          Copyright © 2015 ACM

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 14 June 2015

          Check for updates

          Qualifiers

          • research-article

        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!