skip to main content
10.1145/2618128.2618133acmconferencesArticle/Chapter ViewAbstractPublication PagesmspConference Proceedingsconference-collections
research-article

Trash in cache: detecting eternally silent stores

Published:13 June 2014Publication History

ABSTRACT

The gap between processing and storage speeds remains a concern for computer system designers and application developers. This disparity can be bridged in part by eliminating unnecessary stores, thereby reducing the amount of traffic that flows from the processor and first-level caches to the slower components of the storage subsystem. Reducing the "write" traffic can improve program performance, save power, and increase the longevity of storage components that have limited write endurance. Techniques have been proposed and evaluated for identifying various classes of stores that can be silenced. A relatively unexplored class of such stores are those that would write data that is dirty, but dead. Such data appears as if it needs to be written back to memory from cache, yet it can be proven that the application can never subsequently access the data.

In this paper, we suggest identifying garbage (trash) in cache, so that the dirty bytes associated with the trash need not be written to memory. We propose and evaluate a simple technique based on reference counting that finds a subset of these "eternally silent" (dead) stores. When applied to popular benchmarks, our results show that a significant fraction of the writes to memory can be silenced based on the impossibility of an application subsequently accessing the data.

References

  1. A. W. Appel. Simple generational garbage collection and fast allocation. Softw. Pract. Exper., 19(2):171--183, Feb. 1989. ISSN 0038-0644.. URL http://dx.doi.org/10.1002/spe.4380190206. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. S. Bhattacharya, K. Gopinath, and M. G. Nanda. Combining concern input with program analysis for bloat detection. In Proceedings of the 2013 ACM SIGPLAN International Conference on Object Oriented Programming Systems Languages & Applications, OOPSLA '13, pages 745--764, New York, NY, USA, 2013. ACM. ISBN 978-1-4503-2374-1.. URL http://doi.acm.org/10.1145/2509136.2509522. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Blackburn, S. M. et al. The DaCapo benchmarks: Java benchmarking development and analysis. In Proceedings of the 21st annual ACM SIGPLAN conference on Object-Oriented Programing, Systems, Languages, and Applications, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. 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
  5. D. J. Cannarozzi, M. P. Plezbert, and R. K. Cytron. Contaminated garbage collection. In Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation, PLDI '00, pages 264--273, 2000. ISBN 1-58113-199-2. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. A. E. Chis, N. Mitchell, E. Schonberg, G. Sevitsky, P. O'Sullivan, T. Parsons, and J. Murphy. Patterns of memory inefficiency. In ECOOP, pages 383--407, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. 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
  8. 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
  9. R. E. Jones and C. Ryder. A study of java object demographics. In Proceedings of the 7th international symposium on Memory management, ISMM'08, pages 121--130, New York, NY, USA, 2008. ACM. ISBN 978-1-60558-134-7.. URL http://doi.acm.org/10.1145/1375634.1375652. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. 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
  11. 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
  12. K. M. Lepak and M. H. Lipasti. Temporally silent stores. SIGPLAN Not., 37:30--41, October 2002. ISSN 0362-1340.. URL http://doi.acm.org/10.1145/605432.605401. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. A. Naz, K. Kavi, W. Li, and P. Sweany. Tiny split data-caches make big performance impact for embedded applications. J. Embedded Comput., 2(2): 207--219, Apr. 2006. ISSN 1740-4460. URL http://dl.acm.org/citation.cfm?id=1370998.1371002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. P. R. Wilson. Uniprocessor garbage collection techniques (Long Version), 1994. URL ftp://ftp.cs.utexas.edu/pub/garbage/bigsurv.ps.Google ScholarGoogle Scholar

Index Terms

  1. Trash in cache: detecting eternally silent stores

      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
      • Published in

        cover image ACM Conferences
        MSPC '14: Proceedings of the workshop on Memory Systems Performance and Correctness
        June 2014
        61 pages
        ISBN:9781450329170
        DOI:10.1145/2618128

        Copyright © 2014 ACM

        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 13 June 2014

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article

        Acceptance Rates

        MSPC '14 Paper Acceptance Rate6of20submissions,30%Overall Acceptance Rate6of20submissions,30%

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader