Abstract
This paper proposes a collaborative approach in which applications can provide guidance to the operating system regarding allocation and recycling of physical memory. The operating system incorporates this guidance to decide which physical page should be used to back a particular virtual page. The key intuition behind this approach is that application software, as a generator of memory accesses, is best equipped to inform the operating system about the relative access rates and overlapping patterns of usage of its own address space. It is also capable of steering its own algorithms in order to keep its dynamic memory footprint under check when there is a need to reduce power or to contain the spillover effects from bursts in demand. Application software, working cooperatively with the operating system, can therefore help the latter schedule memory more effectively and efficiently than when the operating system is forced to act alone without such guidance. It is particularly difficult to achieve power efficiency without application guidance since power expended in memory is a function not merely of the intensity with which memory is accessed in time but also how many physical ranks are affected by an application's memory usage.
Our framework introduces an abstraction called "colors" for the application to communicate its intent to the operating system. We modify the operating system to receive this communication in an efficient way, and to organize physical memory pages into intermediate level grouping structures called "trays" which capture the physically independent access channels and self-refresh domains, so that it can apply this guidance without entangling the application in lower level details of power or bandwidth management.
This paper describes how we re-architect the memory management of a recent Linux kernel to realize a three way collaboration between hardware, supervisory software, and application tasks.
- V. Anagnostopoulou, M. Dimitrov, and K. A. Doshi. Sla-guided energy savings for enterprise servers. In IEEE International Symposium on Performance Analysis of Systems and Software, pages 120--121, 2012. Google Scholar
Digital Library
- G. Banga, P. Druschel, and J. 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
- A. Belay, A. Bittau, A. Mashtizadeh, D. Terei, D. Mazières, and C. 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
- M. Bi, R. Duan, and C. Gniady. Delay-Hiding energy management mechanisms for DRAM. In International Symposium on High Performance Computer Architecture, pages 1--10, 2010.Google Scholar
Cross Ref
- VanDrunen, von Dincklage, and Wiedermann}dacapo 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ć, T. VanDrunen, D. von Dincklage, and B. Wiedermann. The DaCapo Benchmarks: Java Benchmarking Development and Analysis. In ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications, pages 169--190, 2006. Google Scholar
Digital Library
- A. D. Brown and T. 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
- J. Corbet. Memory Compaction, Jan. 2010. URL http://lwn.net/Articles/368869/.Google Scholar
- V. Delaluz, A. Sivasubramaniam, M. Kandemir, N. Vijaykrishnan, and M. Irwin. Scheduler-based dram energy management. In Design Automation Conference, pages 697--702, 2002. 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, Dec. 1995. Google Scholar
Digital Library
- X. Fan, C. Ellis, and A. Lebeck. Modeling of dram power control policies using deterministic and stochastic petri nets. In Power-Aware Computer Systems, pages 37--41, 2003. Google Scholar
Digital Library
- A. Georges, D. Buytaert, and L. Eeckhout. Statistically Rigorous Java Performance Evaluation. In ACM SIGPLAN conference on Object-oriented programming systems and applications, pages 57--76, 2007. Google Scholar
Digital Library
- A. Gonzalez. Android Linux Kernel Additions, 2010. URL http://www.lindusembedded.com/blog/2010/12/07/android-linux-kernel-additions/.Google Scholar
- http://lwn.net/Articles/445045/. Ankita Garg: Linux VM Infrastructure to support Memory Power Management, 2011.Google Scholar
- http://www.acpi.info/spec.htm. Advanced Configuration and Power Interface Specification, 2011.Google Scholar
- http://www.oracle.com/technetwork/java/javase/memorymanagement-whitepaper150215.pdf. Memory Management in the Java HotSpot Virtual Machine, April 2006.Google Scholar
- http://www.oracle.com/technetwork/java/whitepaper 135217.html. Oracle HotSpot JVM, 2012.Google Scholar
- http://www.spec.org/jvm2008/. SPECjvm2008, 2008.Google Scholar
- H. Huang, P. Pillai, and K. Shin. Design and Implementation of Power-aware Virtual Memory. In USENIX Annual Technical Conference, 2003. Google Scholar
Digital Library
- R. E. Kessler and M. D. Hill. Page placement algorithms for large real-indexed caches. ACM Trans. Comput. Syst., 10 (4): 338--359, Nov. 1992. Google Scholar
Digital Library
- A. Kleen. A numa api for linux. SUSE Labs white paper, August 2004.Google Scholar
- A. R. Lebeck, X. Fan, H. Zeng, and C. Ellis. Power aware page allocation. ACM SIGOPS Operating Systems Review, 34 (5): 105--116, 2000. Google Scholar
Digital Library
- C. Lefurgy, K. Rajamani, F. Rawson, W. Felter, M. Kistler, and T. W. Keller. Energy management for commercial servers. Computer, 36 (12): 39--48, Dec. 2003. Google Scholar
Digital Library
- C.-H. Lin, C.-L. Yang, and K.-J. King. Ppt: joint performance/power/thermal management of dram memory for multi-core systems. In ACM/IEEE International Symposium on Low Power Electronics and Design, pages 93--98, 2009. Google Scholar
Digital Library
- L. Lu, P. Varman, and K. Doshi. Decomposing workload bursts for efficient storage resource management. IEEE Transactions on Parallel and Distributed Systems, 22 (5): 860 --873, may 2011. Google Scholar
Digital Library
- D. Magenheimer, C. Mason, D. McCracken, and K. Hackel. Transcendent memory and linux. In Ottawa Linux Symposium, pages 191--200, 2009.Google Scholar
- 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
- J. M. Velasco, D. Atienza, and K. Olcoz. Memory power optimization of java-based embedded systems exploiting garbage collection information. Journal of Systems Architecture - Embedded Systems Design, 58 (2): 61--72, 2012. Google Scholar
Digital Library
- H. Wang, K. Doshi, and P. Varman. Nested qos: Adaptive burst decomposition for slo guarantees in virtualized servers. Intel Technology Journal, June, 16:2 2012.Google Scholar
- P. Zhou, V. Pandey, J. Sundaresan, A. Raghuraman, Y. Zhou, and S. 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
A framework for application guidance in virtual memory systems
Recommendations
A framework for application guidance in virtual memory systems
VEE '13: Proceedings of the 9th ACM SIGPLAN/SIGOPS international conference on Virtual execution environmentsThis paper proposes a collaborative approach in which applications can provide guidance to the operating system regarding allocation and recycling of physical memory. The operating system incorporates this guidance to decide which physical page should ...
Architecting phase change memory as a scalable dram alternative
Memory scaling is in jeopardy as charge storage and sensing mechanisms become less reliable for prevalent memory technologies, such as DRAM. In contrast, phase change memory (PCM) storage relies on scalable current and thermal mechanisms. To exploit PCM'...
Architecting phase change memory as a scalable dram alternative
ISCA '09: Proceedings of the 36th annual international symposium on Computer architectureMemory scaling is in jeopardy as charge storage and sensing mechanisms become less reliable for prevalent memory technologies, such as DRAM. In contrast, phase change memory (PCM) storage relies on scalable current and thermal mechanisms. To exploit PCM'...







Comments