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.
- 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 Scholar
Digital Library
- H. G. Baker. Infant mortality and generational garbage collection. SIGPLAN Not., 28(4):55– 57, Apr. 1993. ISSN 0362-1340. Google Scholar
Digital Library
- . URL http://doi.acm.org/10.1145/152739.152747.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- North-Holland Publishing Co. ISBN 0-444-89911-1. URL http://dl.acm.org/citation.cfm?id=645943.674513.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- Springer-Verlag. ISBN 3-540-73588-7, 978-3-540-73588-5. URL http://dl.acm.org/citation.cfm?id=2394758.2394767.Google Scholar
- 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 Scholar
Digital Library
- J. L. Hennessy and D. A. Patterson. Computer Architecture: A Quantitative Approach. Morgan Kauffman Publishers, San Francisco, California, 1990. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- K. M. Lepak and M. H. Lipasti. Temporally silent stores. SIGPLAN Not., 37:30–41, October 2002. ISSN 0362-1340. Google Scholar
Digital Library
- . URL http://doi.acm.org/10.1145/605432.605401.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- . URL http://doi.acm.org/10.1145/358141.358147.Google Scholar
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
Index Terms
Recycling trash in cache
Recommendations
Recycling trash in cache
ISMM '15: Proceedings of the 2015 International Symposium on Memory ManagementThe 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 ...
Trash in cache: detecting eternally silent stores
MSPC '14: Proceedings of the workshop on Memory Systems Performance and CorrectnessThe 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 ...
Decoupled Cache Segmentation: Mutable Policy with Automated Bypass
PACT '11: Proceedings of the 2011 International Conference on Parallel Architectures and Compilation TechniquesThe least recently used (LRU) replacement policy performs poorly in the last-level cache (LLC) because temporal locality of memory accesses is filtered by first and second level caches. We propose a cache segmentation technique that adapts to cache ...






Comments