skip to main content
10.1145/1669112.1669156acmconferencesArticle/Chapter ViewAbstractPublication PagesmicroConference Proceedingsconference-collections
research-article

ESKIMO: Energy savings using Semantic Knowledge of Inconsequential Memory Occupancy for DRAM subsystem

Published:12 December 2009Publication History

ABSTRACT

Dynamic Random Access Memory (DRAM) is used as the bulk of the main memory in most computing systems and its energy and power consumption has become a first-class design consideration for modern systems. We propose ESKIMO, a scheme where when the program or operating systems memory manager allocates or frees up a memory region, this information is used by the architecture to optimize the working of the DRAM system, particularly to save energy and power. In this work we attempt to have the architecture work hand in hand with information about allocated and freed space provided by the program. We discuss multiple ways to use this information to reduce the energy and power consumption of the memory and present results of this optimization. We evaluate the energy and power benefits of our technique using a publicly available, hardware-validated, DRAM simulator, DRAMsim [1]. Our current studies show very promising results with energy savings on average of 39%.

References

  1. David Wang, Brinda Ganesh, Nuengwong Tuaycharoen, Kathleen Baynes, Aamer Jaleel, Bruce Jacob, DRAMsim: a memory system simulator, ACM SIGARCH Computer Architecture News, v. 33 n. 4, November 2005 Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. T. Mudge. "Power: A first class design constraint," Computer, vol. 34, no. 4, April 2001, pp. 52--57. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Barroso, L., The Price of Performance, ACM Queue, Volume 3, Number 7, September 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. A. S. Tanenbaum, Modern Operating Systems, 1st ed. Englewood Cliffs, NJ: Prentice-Hall, Feb. 1992.Google ScholarGoogle Scholar
  5. Bruce Eckel. Thinking in C++: Introduction to Standard C++, volume 1. Prentice Hall, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Bruce Eckel. Thinking in C++: Practical Programming, volume 2. Prentice Hall, 2003.Google ScholarGoogle Scholar
  7. http://enel.ucalgary.ca/People/Norman/engg333_fall1996/stat_dyn/Google ScholarGoogle Scholar
  8. Micron. Various Methods of DRAM Refresh. http://download.micron.com/pdf/technotes/DT30.pdfGoogle ScholarGoogle Scholar
  9. Chi-Keung Luk, Robert Cohn, Robert Muth, Harish Patil, Artur Klauser, Geoff Lowney, Steven Wallace, Vijay Janapa Reddi, Kim Hazelwood, Pin: building customized program analysis tools with dynamic instrumentation, Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation, June 12--15, 2005, Chicago, IL, USA Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Pin Website: http://www.pintool.org/Google ScholarGoogle Scholar
  11. A. Phansalkar, A. Joshi, and L. K. John, "Analysis of redundancy and application balance in the SPEC CPU2006 benchmark suite," in ISCA '07: Proceedings of the 34th Annual international symposium on Computer architecture. New York, NY, USA: ACM Press, 2007, pp. 412--423. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. J. Sartor, S. Venkiteswaran, K. S. McKinley, and Z. Wang. Cooperative caching with keep-me and evict-me. In The 9th IEEE Annual Workshop on the Interaction between Compilers and Computer Architectures, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Z. Wang, K. S. McKinley, A. L. Rosenberg, and C. C. Weems. Using the compiler to improve cache replacement decisions. In Proceedings of International Conference on Parallel Architectures and Compilation Techniques, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. J. Abella, A. Gonzàlez, X. Vera, and M. F. P. O'Boyle. IATAC: a smart predictor to turn-off L2 cache lines. ACM Transactions on Architecture and Code Optimization (TACO), 2(1):55--77, March 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Z. Hu, S. Kaxiras, and M. Martonosi. Timekeeping in the memory system: Predicting and optimizing memory behavior. In Proceedings of the 29th International Symposium on Computer Architecture, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. M. Kharbutli and Y. Solihin. Counter-based cache replacement and bypassing algorithms. IEEE Transactions on Computers, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. A.-C. Lai, C. Fide, and B. Falsafi. Dead-block prediction&dead block correlating prefetchers. In Proceedings of the 28th Annual International Symposium on Computer Architecture, pages 144--154, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. A. Gonźalez, C. Aliagas, and M. Valero. A data cache with multiple caching strategies tuned to different types of locality. In Proceedings of the 9th International Conference on Supercomputing, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. J. Jalminger and P. P. Stenström. A novel approach to cache block reuse prediction. In Proceedings of the 2003 International Conference on Parallel Processing, 2003.Google ScholarGoogle ScholarCross RefCross Ref
  20. T. L. Johnson, D. A. Connors, M. C. Merten, and W. W. Hwu. Run-time cache bypassing. IEEE Transactions on Computers, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. J. A. Rivers, E. S. Tam, G. S. Tyson, E. S. Davidson, and M. Farrens. Utilizing resue information in data cache management. In Proceedings of the 12th International Conference on Supercomputing, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. G. Tyson, M. Farrens, J. Matthews, and A. R. Pleszkun. A modified approach to data cache management. In Proceedings of the 28th Annual International Symposium on Microarchitecture, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. A. R. Lebeck and D. A. Wood. Dynamic self-invalidation: Reducing coherence overhead in shared-memory multiprocessors. In Proceedings of the 22nd Annual International Symposium on Computer Architecture, pages 48--59, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. A.-C. Lai and B. Falsafi. Selective, accurate, and timely self-invalidation using last-touch prediction. In Proceedings of the 27th Annual International Symposium on Computer Architecture, pages 139--148, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. S. Somogyi, T. F. Wenisch, N. Hardavellas, J. Kim, A. Ailamaki, and B. Falsafi. Memory coherence activity prediction in commercial workloads. In 3rd Workshop on Memory Performance Issues, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. S. Kaxiras, Z. Hu, and M. Martonosi. Cache decay: Exploiting generational behavior to reduce cache leakage power. In Proceedings of the 28th Annual International Symposium on Computer Architecture, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. K. Flautner, N. S. Kim, S. Martin, D. Blaauw, and T. Mudge. Drowsy caches: simple techniques for reducing leakage power. In Proceedings of the 29th Annual International Symposium on Computer Architecture, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. R. Venkatesan, S. Herr, and E. Rotenberg. Retention-Aware Placement in DRAM (RAPID): Software Methods for Quasi-Non-Volatile DRAM. In Proceedings of the Twelfth Annual Symposium on High Performance Computer Architecture, pages 155.165, Nov. 2006.Google ScholarGoogle Scholar
  29. Mrinmoy Ghosh, Hsien-Hsin S. Lee, Smart Refresh: An Enhanced Memory Controller Design for Reducing Energy in Conventional and 3D Die-Stacked DRAMs, Proceedings of the 40th Annual IEEE/ACM International Symposium on Microarchitecture, p. 134--145, 2007 Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Laudon, J., UltraSPARC T1: Architecture and PhysicalDesign of a 32-threaded General Purpose CPU, Proceedings of the ISSCC Multi-Core Architectures, Designs, and Implementation Challenges Forum, 2006.Google ScholarGoogle Scholar
  31. Ohsawa, T.; Kai, K.; Murakami, K., Optimizing the DRAM refresh count for merged DRAM/logic LSIs. Proceedings. 1998 International Symposium on Low Power Electronics and Design, vol., no., pp. 82--87, 10--12 Aug 1998 Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Lewis, J. A.; Black, B.; Lipasti, M. H., Avoiding initialization misses to the heap, Proceedings. 29th Annual International Symposium on Computer Architecture, vol., no., pp. 183--194, 2002 Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Jouppi, N. P., Cache Write Policies And Performance, Proceedings of the 20th Annual International Symposium on Computer Architecture, vol., no., pp. 191--201, 16--19 May 1993 Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Cragon, H. G. "Memory Systems and Pipelined Processors". Jones and Bartlett Publishers, Inc., Sudbury, ME, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. US Patent 6542958 - Software control of DRAM refresh to reduce power consumption in a data processing systemGoogle ScholarGoogle Scholar
  36. US Patent 6094705 - Method and system for selective DRAM refresh to reduce power consumptionGoogle ScholarGoogle Scholar

Index Terms

  1. ESKIMO: Energy savings using Semantic Knowledge of Inconsequential Memory Occupancy for DRAM subsystem

    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

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader