skip to main content
research-article

Cross-layer memory management for managed language applications

Published:23 October 2015Publication History
Skip Abstract Section

Abstract

Performance and energy efficiency in memory have become critically important for a wide range of computing domains. However, it is difficult to control and optimize memory power and performance because these effects depend upon activity across multiple layers of the vertical execution stack. To address this challenge, we construct a novel and collaborative framework that employs object placement, cross-layer communication, and page-level management to effectively distribute application objects in the DRAM hardware to achieve desired power/performance goals. In this work, we describe the design and implementation of our framework, which is the first to integrate automatic object profiling and analysis at the application layer with fine-grained management of memory hardware resources in the operating system. We demonstrate the utility of our framework by employing it to more effectively control memory power consumption. We design a custom memory-intensive workload to show the potential of our approach. Next, we develop sampling and profiling-based analyses and modify the code generator in the HotSpot VM to understand object usage patterns and automatically determine and control the placement of hot and cold objects in a partitioned VM heap. This information is communicated to the operating system, which uses it to map the logical application pages to the appropriate DRAM ranks according to user-defined provisioning goals. We evaluate our framework and find that it achieves our test goal of significant DRAM energy savings across a variety of workloads, without any source code modifications or recompilations.

References

  1. M. Arnold, S. Fink, D. Grove, M. Hind, and P. F. Sweeney. A survey of adaptive optimization in virtual machines. Proceedings of the IEEE, 92(2):449–466, February 2005.Google ScholarGoogle ScholarCross RefCross Ref
  2. Gaurav Banga, Peter Druschel, and Jeffrey C. Mogul. Resource containers: a new facility for resource management in server systems. In Proceedings of the third symposium on Operating systems design and implementation, OSDI ’99, pages 45–58. USENIX Association, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Adam Belay, Andrea Bittau, Ali Mashtizadeh, David Terei, David Mazières, and Christos Kozyrakis. Dune: safe user-level access to privileged cpu features. In Proceedings of the 10th USENIX conference on Operating Systems Design and Implementation, OSDI’12, pages 335–348. USENIX Association, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Stephen M. Blackburn, Robin Garner, Chris Hoffmann, Asjad M. Khang, Kathryn S. McKinley, Rotem Bentzur, Amer Diwan, Daniel Feinberg, Daniel Frampton, Samuel Z. Guyer, Martin Hirzel, Antony Hosking, Maria Jump, Han Lee, J. Eliot B. Moss, B. Moss, Aashish Phansalkar, Darko Stefanovi´c, Thomas VanDrunen, Daniel von Dincklage, and Ben 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, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Angela Demke Brown and Todd C. Mowry. Taming the memory hogs: using compiler-inserted releases to manage physical memory intelligently. In Proceedings of the 4th conference on Symposium on Operating System Design & Implementation - Volume 4, OSDI’’00. USENIX Association, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Howard David, Chris Fallin, Eugene Gorbatov, Ulf R. Hanebutte, and Onur Mutlu. Memory power management via dynamic voltage/frequency scaling. In Proceedings of the 8th ACM International Conference on Autonomic Computing, ICAC ’11, pages 31–40, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Howard David, Eugene Gorbatov, Ulf R. Hanebutte, Rahul Khanna, and Christian Le. Rapl: Memory power estimation and capping. In Proceedings of the 16th ACM/IEEE International Symposium on Low Power Electronics and Design, ISLPED ’10, pages 189–194, New York, NY, USA, 2010. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Qingyuan Deng, David Meisner, Luiz Ramos, Thomas F. Wenisch, and Ricardo Bianchini. Memscale: Active low-power modes for main memory. SIGPLAN Not., 47(4):225–238, March 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. D. R. Engler, M. F. Kaashoek, and J. O’Toole, Jr. Exokernel: an operating system architecture for application-level resource management. SIGOPS Oper. Syst. Rev., 29(5):251–266, December 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Andy Georges, Dries Buytaert, and Lieven Eeckhout. Statistically rigorous java performance evaluation. In Proceedings of the conference on Object-oriented programming systems and applications, OOPSLA ’07, pages 57–76, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Samuel Z. Guyer and Kathryn S. McKinley. Finding your cronies: Static analysis for dynamic object colocation. In Proceedings of the 19th Annual ACM SIGPLAN Conference on Object-oriented Programming, Systems, Languages, and Applications, OOPSLA ’04, pages 237–250, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Matthew Hertz, Yi Feng, and Emery D. Berger. Garbage collection without paging. In Proceedings of the 2005 ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI ’05, pages 143–153, New York, NY, USA, 2005. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Martin Hirzel. Data layouts for object-oriented programs. In Proceedings of the 2007 ACM SIGMETRICS International Conference on Measurement and Modeling of Computer Systems, SIGMETRICS ’07, pages 265–276, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Martin Hirzel, Amer Diwan, and Matthew Hertz. Connectivity-based garbage collection. In Proceedings of the 18th Annual ACM SIGPLAN Conference on Object-oriented Programing, Systems, Languages, and Applications, OOPSLA ’03, pages 359–373, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Urs Hoelzle and Luiz Andre Barroso. The Datacenter As a Computer: An Introduction to the Design of Warehouse-Scale Machines. Morgan and Claypool Publishers, 1st edition, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. HP. Power regulator for proliant servers, 2011.Google ScholarGoogle Scholar
  17. Hai Huang, Padmanabhan Pillai, and Kang G. Shin. Design and implementation of power-aware virtual memory. In Proceedings of the Annual Conference on USENIX Annual Technical Conference, ATEC ’03, pages 5–5, Berkeley, CA, USA, 2003. USENIX Association. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Xianglong Huang, Stephen M. Blackburn, Kathryn S. McKinley, J Eliot B. Moss, Zhenlin Wang, and Perry Cheng. The garbage collection advantage: Improving program locality. In Proceedings of the 19th Annual ACM SIGPLAN Conference on Object-oriented Programming, Systems, Languages, and Applications, OOPSLA ’04, pages 69– 80, New York, NY, USA, 2004. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Michael R. Jantz, Carl Strickland, Karthik Kumar, Martin Dimitrov, and Kshitij A. Doshi. A framework for application guidance in virtual memory systems. In Proceedings of the 9th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments, VEE ’13, pages 155–166, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. JEDEC. Ddr3 sdram standard, 2009.Google ScholarGoogle Scholar
  21. Alin Jula and Lawrence Rauchwerger. Two memory allocators that use hints to improve locality. In Proceedings of the 2009 International Symposium on Memory Management, ISMM ’09, pages 109–118, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. R. E. Kessler and Mark D. Hill. Page placement algorithms for large real-indexed caches. ACM Trans. Comput. Syst., 10(4):338–359, November 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Hyojun Kim, Sangeetha Seshadri, Clement L. Dickey, and Lawrence Chiu. Phase change memory in enterprise storage systems: Silver bullet or snake oil? SIGOPS Oper. Syst. Rev., 48(1):82–89, May 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. A. Kleen. A numa api for linux. SUSE Labs white paper, August 2004.Google ScholarGoogle Scholar
  25. Chris Lattner and Vikram Adve. Automatic pool allocation: Improving performance by controlling data structure layout in the heap. In Proceedings of the 2005 ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI ’05, pages 129–142, New York, NY, USA, 2005. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Alvin R. Lebeck, Xiaobo Fan, Heng Zeng, and Carla Ellis. Power aware page allocation. In Proceedings of the Ninth International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS IX, pages 105–116, New York, NY, USA, 2000. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Charles Lefurgy, Karthick Rajamani, Freeman Rawson, Wes Felter, Michael Kistler, and Tom W. Keller. Energy management for commercial servers. Computer, 36(12):39–48, December 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Kevin Lim, Jichuan Chang, Trevor Mudge, Parthasarathy Ranganathan, Steven K. Reinhardt, and Thomas F. Wenisch. Disaggregated memory for expansion and sharing in blade servers. In Proceedings of the 36th Annual International Symposium on Computer Architecture, ISCA ’09, pages 267–278, New York, NY, USA, 2009. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Krishna T. Malladi, Benjamin C. Lee, Frank A. Nothaft, Christos Kozyrakis, Karthika Periyathambi, and Mark Horowitz. Towards energy-proportional datacenter memory with mobile dram. In Proceedings of the 39th Annual International Symposium on Computer Architecture, ISCA ’12, pages 37–48, Washington, DC, USA, 2012. IEEE Computer Society. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Silvano Martello and Paolo Toth. Knapsack Problems: Algorithms and Computer Implementations. John Wiley & Sons, Inc., New York, NY, USA, 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Wolfgang Mauerer. Professional Linux Kernel Architecture. Wiley Publishing, Inc., Indianapolis, IN, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Michael Paleczny, Christopher Vick, and Cliff Click. The Java hotspottm server compiler. In JVM’01: Proceedings of the 2001 Symposium on JavaTM Virtual Machine Research and Technology Symposium, pages 1–12, Berkeley, CA, USA, 2001. USENIX Association. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. P. Petrov and A. Orailoglu. Virtual page tag reduction for low-power tlbs. In IEEE International Conference on Computer Design, pages 371–374, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. SPEC2008. Specjvm2008 benchmarks. http://www.spec.org/jvm2008/, 2008.Google ScholarGoogle Scholar
  35. Kshitij Sudan, Niladrish Chatterjee, David Nellans, Manu Awasthi, Rajeev Balasubramonian, and Al Davis. Micro-pages: Increasing dram efficiency with locality-aware data placement. SIGARCH Comput. Archit. News, 38(1):219–230, March 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Micron Technology Inc. TN-41-01. Calculating Memory System Power for DDR3. Technical report, 2007.Google ScholarGoogle Scholar
  37. Chun Jason Xue, Youtao Zhang, Yiran Chen, Guangyu Sun, J. Jianhua Yang, and Hai Li. Emerging non-volatile memories: Opportunities and challenges. In Proceedings of the Seventh IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis, CODES+ISSS ’11, pages 325–334, New York, NY, USA, 2011. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Ting Yang, Emery D. Berger, Scott F. Kaplan, and J. Eliot B. Moss. Cramm: Virtual memory support for garbage-collected applications. In Proceedings of the 7th Symposium on Operating Systems Design and Implementation, OSDI ’06, pages 103–116, Berkeley, CA, USA, 2006. USENIX Association. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Chengliang Zhang and Martin Hirzel. Online phase-adaptive data layout selection. In Proceedings of the 22Nd European Conference on Object-Oriented Programming, ECOOP ’08, pages 309–334, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. Pin Zhou, Vivek Pandey, Jagadeesan Sundaresan, Anand Raghuraman, Yuanyuan Zhou, and Sanjeev Kumar. Dynamic tracking of page miss ratio curve for memory management. In Proceedings of the 11th international conference on Architectural support for programming languages and operating systems, ASPLOS XI, pages 177–188. ACM, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Cross-layer memory management for managed language applications

          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 10
            OOPSLA '15
            October 2015
            953 pages
            ISSN:0362-1340
            EISSN:1558-1160
            DOI:10.1145/2858965
            • Editor:
            • Andy Gill
            Issue’s Table of Contents
            • cover image ACM Conferences
              OOPSLA 2015: Proceedings of the 2015 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications
              October 2015
              953 pages
              ISBN:9781450336895
              DOI:10.1145/2814270

            Copyright © 2015 ACM

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 23 October 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!