skip to main content
research-article

Dynamic memory balancing for virtual machines

Published:31 July 2009Publication History
Skip Abstract Section

Abstract

Virtualization essentially enables multiple operating systems and applications to run on one physical computer by multiplexing hardware resources. A key motivation for applying virtualization is to improve hardware resource utilization while maintaining reasonable quality of service. However, such a goal cannot be achieved without efficient resource management. Though most physical resources, such as processor cores and I/O devices, are shared among virtual machines using time slicing and can be scheduled flexibly based on priority, allocating an appropriate amount of main memory to virtual machines is more challenging. Different applications have different memory requirements. Even a single application shows varied working set sizes during its execution. An optimal memory management strategy under a virtualized environment thus needs to dynamically adjust memory allocation for each virtual machine, which further requires a prediction model that forecasts its host physical memory needs on the fly. This paper introduces MEmory Balancer (MEB) which dynamically monitors the memory usage of each virtual machine, accurately predicts its memory needs, and periodically reallocates host memory. MEB uses two effective memory predictors which, respectively, estimate the amount of memory available for reclaiming without a notable performance drop, and additional memory required for reducing the virtual machine paging penalty. Our experimental results show that our prediction schemes yield high accuracy and low overhead. Furthermore, the overall system throughput can be significantly improved with MEB.

References

  1. Jikes RVM. URL http://www.jikesrvm.org/.Google ScholarGoogle Scholar
  2. SPEC CPU2000, a. URL http://www.spec.org/cpu2000.Google ScholarGoogle Scholar
  3. SPECweb2005, b. URL http://www.spec.org/web2005.Google ScholarGoogle Scholar
  4. Bowen Alpern et al. The Jalapeño virtual machine. IBM Systems Journal, 39(1):211--238, February 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Bowen Alpern et al. Implementing Jalapeño in Java. In OOPSLA '99: Proceedings of the 14th annual ACM SIGPLAN conference on Object-Oriented Programing, Systems, Languages, and Applications, pages 314--324, Denver, CO, November 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. V. Application. Intel 64 and IA-32 architecture software developer's manual, 2006. URL citeseer.ist.psu.edu/484264.htmlGoogle ScholarGoogle Scholar
  7. M. Arnold, S.J. Fink, D. Grove, M. Hind, and P. Sweeney. Adaptive optimization in the Jalape¿no JVM. In OOPSLA '00: Proceedings of the 15th annual ACM SIGPLAN conference on Object-Oriented Programing, Systems, Languages, and Applications, pages 47--65, Minneapolis, MN, October 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Paul Barham, Boris Dragovic, Keir Fraser, Steven Hand, Tim Harris, Alex Ho, Rolf Neugebauer, Ian Pratt, and Andrew Warfield. Xen and the art of virtualization. SIGOPS Oper. Syst. Rev., 37(5):164--177, 2003. ISSN 0163-5980. doi: http://doi.acm.org/10.1145/1165389.945462. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. S.M. Blackburn, R. Garner, C. Hoffman, A.M. Khan, 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 OOPSLA '06: Proceedings of the 21st annual ACM SIGPLAN conference on Object-Oriented Programing, Systems, Languages, and Applications, pages 169--190, New York, NY, USA, October 2006. ACM Press. doi: http://doi.acm.org/10.1145/1167473.1167488 Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Dhruba Chandra, Fei Guo, Seongbeom Kim, and Yan Solihin. Predicting inter-thread cache contention on a chip multi-processor architecture. In HPCA '05: Proceedings of the 11th International Symposium on High-Performance Computer Architecture, pages 340--351,Washington, DC, USA, 2005. IEEE Computer Society. ISBN 0-7695-2275-0. doi: http://dx.doi.org/10.1109/HPCA.2005.27. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Stephen T. Jones, Andrea C. Arpaci-Dusseau, and Remzi H. Arpaci-Dusseau. Geiger: monitoring the buffer cache in a virtual machine environment. SIGOPS Oper. Syst. Rev., 40(5):14--24, 2006. ISSN 0163-5980. doi: http://doi.acm.org/10.1145/1168917.1168861. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Pin Lu and Kai Shen. Virtual machine memory access tracing with hypervisor exclusive cache. In ATC'07: 2007 USENIX Annual Technical Conference on Proceedings of the USENIX Annual Technical Conference, pages 1--15, Berkeley, CA, USA, 2007. USENIX Association. ISBN 999-8888-77-6. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Chi-Keung Luk, Robert Cohn, Robert Muth, Harish Patil, Artur Klauser, Geoff Lowney, Steven Wallace, Vijay Janapa Reddi, and Kim Hazelwood. Pin: building customized program analysis tools with dynamic instrumentation. In PLDI '05: Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation, pages 190--200, New York, NY, USA, 2005. ACM Press. ISBN 1-59593-056-6. doi: http://doi.acm.org/10.1145/1065010.1065034. Dan Magenheimer. Memory overcommit. . . without the commitment, 2008 Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. R.L. Mattson, J. Gecsei, D. Slutz, and I.L. Traiger. Evaluation techniques for storage hierarchies. IBM System Journal, 9(2):78--117, 1970.Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. R.A. Sugumar and S.G. Abraham. Efficient simulation of caches under optimal replacement with applications to miss characterization. In SIGMETRICS '93: Proceedings of the 1993 ACM SIGMETRICS Conference on Measurement&Modeling Computer Systems, pages 24--35, May 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Carl A.Waldspurger. Memory resource management in vmware esx server. SIGOPS Oper. Syst. Rev., 36(SI):181--194, 2002. ISSN 0163-5980. doi: http://doi.acm.org/10.1145/844128.844146. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Timothy Wood, Prashant Shenoy, and Arun. Black-box and gray-box strategies for virtual machine migration. pages 229--242. URL http://www.usenix.org/events/nsdi07/tech/wood.html.Google ScholarGoogle Scholar
  18. T. Yang, E. Berger, M. Hertz, S. Kaplan, and J. Moss. Automatic heap sizing: Taking real memory into account, 2004. URL citeseer.ist.psu.edu/article/yang04automatic.html.Google ScholarGoogle Scholar
  19. Ting Yang, Emery D. Berger, Scott F. Kaplan, and J. Eliot B. Moss. CRAMM: virtual memory support for garbage-collected applications. In OSDI '06: Proceedings of the 7th symposium on Operating systems design and implementation, pages 103--116, Berkeley, CA, USA, 2006. USENIX Association. ISBN 1-931971-47-1. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Pin Zhou, Vivek Pandey, Jagadeesan Sundaresan, Anand Raghuraman, Yuanyuan Zhou, and Sanjeev Kumar. Dynamic tracking of page miss ratio curve for memory management. In ASPLOS-XI: Proceedings of the 11th international conference on Architectural support for programming languages and operating systems, pages 177--188, New York, NY, USA, 2004. ACM. ISBN 1-58113-804-0. doi: http://doi.acm.org/10.1145/1024393.1024415. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Dynamic memory balancing for virtual machines

      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 SIGOPS Operating Systems Review
        ACM SIGOPS Operating Systems Review  Volume 43, Issue 3
        July 2009
        109 pages
        ISSN:0163-5980
        DOI:10.1145/1618525
        Issue’s Table of Contents

        Copyright © 2009 Authors

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 31 July 2009

        Check for updates

        Qualifiers

        • research-article

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader