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.
- 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 Scholar
Cross Ref
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- HP. Power regulator for proliant servers, 2011.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- JEDEC. Ddr3 sdram standard, 2009.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- A. Kleen. A numa api for linux. SUSE Labs white paper, August 2004.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- Silvano Martello and Paolo Toth. Knapsack Problems: Algorithms and Computer Implementations. John Wiley & Sons, Inc., New York, NY, USA, 1990. Google Scholar
Digital Library
- Wolfgang Mauerer. Professional Linux Kernel Architecture. Wiley Publishing, Inc., Indianapolis, IN, 2008. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- SPEC2008. Specjvm2008 benchmarks. http://www.spec.org/jvm2008/, 2008.Google Scholar
- 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 Scholar
Digital Library
- Micron Technology Inc. TN-41-01. Calculating Memory System Power for DDR3. Technical report, 2007.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
Index Terms
Cross-layer memory management for managed language applications
Recommendations
Cross-layer memory management for managed language applications
OOPSLA 2015: Proceedings of the 2015 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and ApplicationsPerformance 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 ...
Power management of hybrid DRAM/PRAM-based main memory
DAC '11: Proceedings of the 48th Design Automation ConferenceHybrid main memory consisting of DRAM and non-volatile memory is attractive since the non-volatile memory can give the advantage of low standby power while DRAM provides high performance and better active power. In this work, we address the power ...
Cross-Layer Memory Management to Improve DRAM Energy Efficiency
Controlling the distribution and usage of memory power is often difficult, because these effects typically depend on activity across multiple layers of the vertical execution stack. To address this challenge, we construct a novel and collaborative ...






Comments