skip to main content
research-article

Control theory for principled heap sizing

Published:20 June 2013Publication History
Skip Abstract Section

Abstract

We propose a new, principled approach to adaptive heap sizing based on control theory. We review current state-of-the-art heap sizing mechanisms, as deployed in Jikes RVM and HotSpot. We then formulate heap sizing as a control problem, apply and tune a standard controller algorithm, and evaluate its performance on a set of well-known benchmarks. We find our controller adapts the heap size more responsively than existing mechanisms. This responsiveness allows tighter virtual machine memory footprints while preserving target application throughput, which is ideal for both embedded and utility computing domains. In short, we argue that formal, systematic approaches to memory management should be replacing ad-hoc heuristics as the discipline matures. Control-theoretic heap sizing is one such systematic approach.

References

  1. Experimental resources. http://sf.net/p/jikesrvm/research-archive/40.Google ScholarGoogle Scholar
  2. O. Agmon Ben-Yehuda, M. Ben-Yehuda, A. Schuster, and D. Tsafrir. The resource-as-a-service (RaaS) cloud. In USENIX Conference on Hot Topics in Cloud Computing, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. R. Alonso and A. W. Appel. An advisor for flexible working sets. In Proceedings of the 1990 ACM SIGMETRICS Conference on Measurement and Modeling of Computer Systems, 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. B. Alpern, C. R. Attanasio, J. J. Barton, M. G. Burke, P. Cheng, J.-D. Choi, A. Cocchi, S. J. Fink, D. Grove, M. Hind, S. F. Hummel, D. Lieber, V. Litvinov, M. F. Mergen, T. Ngo, J. R. Russell, V. Sarkar, M. J. Serrano, J. C. Shepherd, S. E. Smith, V. C. Sreedhar, H. Srinivasan, and J. Whaley. The Jalapeño virtual machine. IBM Systems Journal, 39(1), 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. B. Alpern, S. Augart, S. M. Blackburn, M. Butrico, A. Cocchi, P. Cheng, J. Dolby, S. Fink, D. Grove, M. Hind, K. S. McKinley, M. Mergen, J. E. B. Moss, T. Ngo, V. Sarkar, and M. Trapp. The Jikes research virtual machine project: Building an open source research community. IBM Systems Journal, 44(2):1--19, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. M. Armbrust, A. Fox, R. Griffith, A. D. Joseph, R. Katz, A. Konwinski, G. Lee, D. Patterson, A. Rabkin, I. Stoica, and M. Zaharia. A view of cloud computing. Communications of the ACM, 53:50--58, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. M. Arnold, M. Vechev, and E. Yahav. QVM: an efficient runtime for detecting defects in deployed systems. In Proceedings of the 23rd ACM SIGPLAN Symposium on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA), pages 143--162. ACM, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. S. M. Blackburn, Perry Cheng, and K. S. McKinley. Oil and water? high performance garbage collection in Java with MMTk. In Proceedings of the 26th International Conference on Software Engineering, pages 137--146. ACM, 2004. 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 Proceedings of the ACM SIGPLAN Symposium on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA). ACM, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. S. M. Blackburn, R. E. Jones, K. S. McKinley, and J. E. B. Moss. Beltway: Getting around garbage collection gridlock. In ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), pages 153--164. ACM, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. H.J. Boehm and M. Weiser. Garbage collection in an uncooperative environment. Software: Practice and Experience, 18(9):807--820, 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. T. Brecht, E. Arjomandi, C. Li, and H. Pham. Controlling garbage collection and heap growth to reduce the execution time of Java applications. ACM Transactions on Programming Languages and Systems, 28:908--941, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. R. Buyya, S. Y. Chee, and S. Venugopal. Market-oriented cloud computing: Vision, hype, and reality for delivering IT services as computing utilities. In Proceedings of High Performance Computing and Communications, pages 5--13, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. A. Datta, M.T. Ho, and S.P. Bhattacharyya. Structure and synthesis of PID controllers. Springer, 2000.Google ScholarGoogle ScholarCross RefCross Ref
  15. E. Duesterwald, C. Cascaval, and Sandhya Dwarkadas. Characterizing and predicting program behavior and its variability. In Proceedings of Parallel Architectures and Compilation Techniques, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. D. Durkee. Why cloud computing will never be free. Queue, 8:20:20--20:29. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. N. Gandhi, D.M. Tilbury, Y. Diao, J. Hellerstein, and S. Parekh. MIMO control of an Apache web server: modeling and controller design. In Proceedings of the American Control Conference, 2002.Google ScholarGoogle ScholarCross RefCross Ref
  18. David Grove. Private Communication, 2011.Google ScholarGoogle Scholar
  19. C. Grzegorczyk, S. Soman, C. Krintz, and R. Wolski. Isla vista heap sizing: Using feedback to avoid paging. In Proceedings of the International Symposium on Code Generation and Optimization, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. J. Hellerstein, S. Singhal, and Qian Wang. Research challenges in control engineering of computing systems. IEEE Transactions on Network and Service Management, 6(4):206--211, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. 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 11th ACM SIGPLAN International Symposium on Memory Management (ISMM). Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. R. Jones, A. Hosking, and E. Moss. The Garbage Collection Handbook: The Art of Automatic Memory Management. Chapman & Hall, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. C. Karamanolis, M. Karlsson, and X. Zhu. Designing controllable computer systems. In Proceedings of the 10th conference on Hot Topics in Operating Systems, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. N. S. Nise. Control Systems Engineering. John Wiley & Sons, Inc., 3rd edition, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. P. Padala, K. G. Shin, X. Zhu, M. Uysal, Z. Wang, S. Singhal, A. Merchant, and K. Salem. Adaptive control of virtualized resources in utility computing environments. In Proceedings of the 2nd ACM SIGOPS/EuroSys European Conference on Computer Systems. ACM, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. S. P. Reiss. Dynamic detection and visualization of software phases. In Proceedings of the 3rd International Workshop on Dynamic Analysis. ACM, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. J. Singer, R. E. Jones, G. Brown, and M. Luján. The economics of garbage collection. In Proceedings of the 10th ACM SIGPLAN International Symposium on Memory Management (ISMM). ACM, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. S. Soman, C. Krintz, and D. F. Bacon. Dynamic selection of application-specific garbage collectors. In Proceedings of the 4th ACM SIGPLAN International Symposium on Memory Management (ISMM). ACM, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. A. J. Storm, C. Garcia-Arellano, S. S. Lightstone, Y. Diao, and M. Surendra. Adaptive self-tuning memory in DB2. In Proceedings of the 32nd International Conference on Very Large Data Bases, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Sun. Garbage collector ergonomics. http://docs.oracle.com/javase/1.5.0/docs/guide/vm/gc-ergonomics.html.Google ScholarGoogle Scholar
  31. K. Sun, Y. Li, M. Hogstrom, and Y. Chen. Sizing multi-space in heap for application isolation. In Companion to the 21st ACM SIGPLAN Symposium on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA). ACM, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Y.C. Tay and X.R. Zong. A page fault equation for dynamic heap sizing. In Proceedings of the first joint WOSP/SIPEW International Conference on Performance Engineering, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. D. Vengerov. Modeling, analysis and throughput optimization of a generational garbage collector. In Proceedings of the 9th ACM SIGPLAN International Symposium on Memory Management (ISMM). ACM, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. 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. ACM, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. T. Yang, E.D. Berger, M. Hertz, S.F. Kaplan, and J.E.B. Moss. Automatic heap sizing: Taking real memory into account. In Proceedings of the 4th ACM SIGPLAN International Symposium on Memory Management (ISMM). ACM, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. C. Zhang, K. Kelsey, X. Shen, C. Ding, M. Hertz, and M. Ogihara. Program-level adaptive memory management. In Proceedings of the 5th ACM SIGPLAN International Symposium on Memory Management (ISMM). ACM, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. X. Zhu, M. Uysal, Z. Wang, S. Singhal, A. Merchant, P. Padala, and K. Shin. What does control theory bring to systems research? SIGOPS Operating Systems Review, 43:62--69, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. J. G. Ziegler and N. B. Nichols. Optimum settings for automatic controllers. Transactions of the American Society of Mechanical Engineers, 64:759--768, 1942.Google ScholarGoogle Scholar

Index Terms

  1. Control theory for principled heap sizing

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 48, Issue 11
    ISMM '13
    November 2013
    128 pages
    ISSN:0362-1340
    EISSN:1558-1160
    DOI:10.1145/2555670
    Issue’s Table of Contents
    • cover image ACM Conferences
      ISMM '13: Proceedings of the 2013 international symposium on memory management
      June 2013
      140 pages
      ISBN:9781450321006
      DOI:10.1145/2491894

    Copyright © 2013 ACM

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    • Published: 20 June 2013

    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!