skip to main content
research-article

The judgment of forseti: economic utility for dynamic heap sizing of multiple runtimes

Published:14 June 2015Publication History
Skip Abstract Section

Abstract

We introduce the FORSETI system, which is a principled approach for holistic memory management. It permits a sysadmin to specify the total physical memory resource that may be shared between all concurrent virtual machines on a physical node. FORSETI models the heap size versus application throughput for each virtual machine, and seeks to maximize the combined throughput of the set of VMs based on concepts from economic utility theory. We evaluate the FORSETI system using a standard Java managed runtime, i.e. OpenJDK. Our results demonstrate that FORSETI enables dramatic reductions (up to 5x) in heap footprint without compromising application execution times.

References

  1. Amazon elastic mapreduce. Checked 10 Feb 2015, http://docs.aws.amazon.com/ElasticMapReduce/ latest/DeveloperGuide/MemoryTuning.html.Google ScholarGoogle Scholar
  2. The neo4j manual. Checked 25 Nov 2014, http://neo4j. com/docs/stable/configuration-jvm.html.Google ScholarGoogle Scholar
  3. R. Alonso and A. W. Appel. An advisor for flexible working sets. In Proceedings of the ACM SIGMETRICS Conference on Measurement and Modeling of Computer Systems, pages 153–162, 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. S. L. Bird and B. J. Smith. Pacora: Performance aware convex optimization for resource allocation. In Proceedings of the 3rd USENIX Workshop on Hot Topics in Parallelism, 2011.Google ScholarGoogle Scholar
  5. S. M. Blackburn, P. Cheng, and K. S. McKinley. Myths and realities: The performance impact of garbage collection. ACM SIGMETRICS Performance Evaluation Review, 32(1):25–36, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. 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´c, T. VanDrunen, D. von Dincklage, and B. Wiedermann. The DaCapo benchmarks: Java benchmarking development and analysis. In Proceedings of the ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages, and Applications, pages 169–190, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. R. H. Byrd, P. Lu, J. Nocedal, and C. Zhu. A limited memory algorithm for bound constrained optimization. SIAM Journal on Scientific and Statistical Computing, 16(5):1190–1208, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. C. Cameron and J. Singer. We are all economists now: Economic utility for multiple heap sizing. In Proceedings of the 9th Implementation, Compilation, Optimization of OO Languages, Programs and Systems workshop, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. C. W. Cobb and P. H. Douglas. A theory of production. American Economic Review, 18(1):139–165, 1928.Google ScholarGoogle Scholar
  10. D. Detlefs, C. Flood, S. Heller, and T. Printezis. Garbage-first garbage collection. In Proceedings of the ACM SIGPLAN International Symposium on Memory Management, pages 37– 48, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. C. Grzegorczyk, S. Soman, C. Krintz, and R. Wolski. Isla Vista heap sizing: Using feedback to avoid paging. In Code Generation and Optimization, 2007. CGO ’07. International Symposium on, pages 325–340, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. M. Hertz, S. Kane, E. Keudel, T. Bai, C. Ding, X. Gu, and J. E. Bard. Waste not, want not: resource-based garbage collection in a shared environment. In Proceedings of the ACM SIGPLAN International Symposium on Memory Management, pages 65– 76, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. M. R. Hines, A. Gordon, M. Silva, D. Da Silva, K. D. Ryu, and M. Ben-Yehuda. Applications know best: Performancedriven memory overcommit with Ginkgo. In IEEE Third International Conference on Cloud Computing Technology and Science, pages 130–137, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. S. Kim, H. Kim, J. Lee, and J. Jeong. Group-based memory oversubscription for virtualized clouds. Journal of Parallel and Distributed Computing, 74(4):2241–2256, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. P. Lengauer and H. Mössenböck. The taming of the shrew: Increasing performance by automatic parameter tuning for Java garbage collectors. In Proceedings of the 5th ACM/SPEC International Conference on Performance Engineering, pages 111–122, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. P. J. Lloyd. The origins of the von Thunen-Mill-Pareto-Wicksell-Cobb-Douglas function. History of Political Economy, 33(1):1–19, 2001.Google ScholarGoogle ScholarCross RefCross Ref
  17. M. Maas, K. Asanovic, T. Harris, and J. Kubiatowicz. The case for the holistic language runtime system. In Proceedings of the First International Workshop on Rack-scale Computing, 2014.Google ScholarGoogle Scholar
  18. M. Raghavachari, D. Reimer, and R. D. Johnson. The deployer’s problem: Configuring application servers for performance and reliability. In Proceedings of the 25th International Conference on Software Engineering, pages 484–489, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. T.-I. Salomie, G. Alonso, T. Roscoe, and K. Elphinstone. Application level ballooning for efficient server consolidation. In Proceedings of the 8th ACM European Conference on Computer Systems, pages 337–350, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Y. C. Tay, X. Zong, and X. He. An equation-based heap sizing rule. Performance Evaluation, 70(11):948–964, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. D. Vengerov. A reinforcement learning approach to dynamic resource allocation. Engineering Applications of Artificial Intelligence, 20(3):383–390, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. D. Vengerov. Modeling, analysis and throughput optimization of a generational garbage collector. In Proceedings of the ACM SIGPLAN International Symposium on Memory Management, SIGPLAN International Symposium on Memory Management, pages 1–9, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. D. R. White, J. Singer, J. M. Aitken, and R. E. Jones. Control theory for principled heap sizing. In Proceedings of the ACM SIGPLAN International Symposium on Memory Management, pages 27–38, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. T. Yang, M. Hertz, E. D. Berger, S. F. Kaplan, and J. E. B. Moss. Automatic heap sizing: Taking real memory into account. In Proceedings of the ACM SIGPLAN International Symposium on Memory Management, pages 61–72, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. T. Yang, E. D. Berger, S. F. Kaplan, and J. E. B. Moss. Cramm: Virtual memory support for garbage-collected applications. In Proceedings of the 7th Symposium on Operating Systems Design and Implementation, pages 103–116, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. C. Zhang, K. Kelsey, X. Shen, C. Ding, M. Hertz, and M. Ogihara. Program-level adaptive memory management. In Proceedings of the 5th International Symposium on Memory Management, pages 174–183, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. W. Zhao, Z. Wang, and Y. Luo. Dynamic memory balancing for virtual machines. SIGOPS Oper. Syst. Rev., 43(3):37–47, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. C. Zhu, R. Byrd, J. Nocedal, and J. L. Morales. Software for large-scale bound-constrained optimization, 2011. http://users.iems.northwestern.edu/~nocedal/ lbfgsb.html. Introduction Current Practice Forseti System Contributions Motivation Microeconomic Theory Forseti System Forseti Daemon Individual Throughput Functions Making Recommendations VM Lifecycle Modified VMs Calculating Throughput Proxy Library HotSpot JVM Evaluation Experimental Platform Selecting Experimental Workloads Selecting Memory Target Sizes Illustrative Examples Experimental Methodology Results Overhead Related Work Future Work ConclusionsGoogle ScholarGoogle Scholar

Index Terms

  1. The judgment of forseti: economic utility for dynamic heap sizing of multiple runtimes

          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 11
            ISMM '15
            November 2015
            156 pages
            ISSN:0362-1340
            EISSN:1558-1160
            DOI:10.1145/2887746
            Issue’s Table of Contents
            • cover image ACM Conferences
              ISMM '15: Proceedings of the 2015 International Symposium on Memory Management
              June 2015
              156 pages
              ISBN:9781450335898
              DOI:10.1145/2754169

            Copyright © 2015 ACM

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 14 June 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!