skip to main content
research-article

On-the-fly capacity planning

Authors Info & Claims
Published:29 October 2013Publication History
Skip Abstract Section

Abstract

When resolving performance problems, a simple histogram of hot call stacks does not cut it, especially given the highly fluid nature of modern deployments. Why bother tuning, when adding a few CPUs via the management console will quickly resolve the problem? The findings of these tools are also presented without any sense of context: e.g. string conversion may be expensive, but only matters if it contributes greatly to the response time of user logins.

Historically, these concerns have been the purview of capacity planning. The power of planners lies in their ability to weigh demand versus capacity, and to do so in terms of the important units of work in the application (such as user logins). Unfortunately, they rely on measurements of rates and latencies, and both quantities are difficult to obtain. Even if possible, when all is said and done, these planners only relate to the code as a black-box: but, why bother adding CPUs, when easy code changes will fix the problem?

We present a way to do planning on-the-fly: with a few call stack samples taken from an already-running system, we predict the benefit of a proposed tuning plan. We accomplish this by simulating the effect of a tuning action upon execution speed and the way it shifts resource demand. To identify existing problems, we show how to generate tuning actions automatically, guided by the desire to maximize speedup without needless expense, and that these generated plans may span resource and code changes. We show that it is possible to infer everything needed from these samples alone: levels of resource demand and the units of work in the application. We evaluate our planner on a suite of microbenchmarks and a suite of 15,000 data sets that come from real applications running in the wild.

References

  1. W. P. Alexander, R. F. Berry, F. E. Levine, and R. J. Urquhart. A unifying approach to performance analysis in the java environment. IBM Systems Journal, 39(1), 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. E. Altman, M. Arnold, S. Fink, and N. Mitchell. Performance analysis of idle programs. In Object-oriented Programming, Systems, Languages, and Applications, pages 739--753, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. D. H. Bailey. Little's law and high performance computing. Technical report, In RNR Technical Report, 1997.Google ScholarGoogle Scholar
  4. F. Brosig, S. Kounev, and K. Krogmann. Automated extraction of palladio component models from running enterprise java applications. In VALUETOOLS, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. E. M. Goldratt. Theory of Constraints. North River Press, 1999.Google ScholarGoogle Scholar
  6. L. Grinshpan. Multi-tiered applications sizing methodology based on load testing and queuing network models. In Int. CMG Conference. Computer Measurement Group, 2008.Google ScholarGoogle Scholar
  7. N. Gunther. Guerrilla Capacity Planning: A Tactical Approach to Planning for Highly Scalable Applications and Services. Springer, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. J. Happe, D.Westermann, K. Sachs, and L. Kapov. Statistical inference of software performance models for parametric performance completions. In Research into Practice Reality and Gaps, volume 6093, pages 20--35. 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. J. Hunter and W. Crawford. Java servlet programming. O'Reilly, Beijing, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Y. Jiang, C. shing Perng, T. Li, and R. Chang. Self-adaptive cloud capacity planning. In IEEE International Conference on Services Computing (SCC), pages 73--80, June 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. S. Kounev, K. Bender, F. Brosig, N. Huber, and R. Okamoto. Automated simulation-based capacity planning for enterprise data fabrics. In International ICST Conference on Simulation Tools and Techniques, pages 27--36, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. S. Kounev and A. Buchmann. Simqpn: a tool and methodology for analyzing queueing petri net models by means of simulation. Perform. Eval., 63(4):364--394, May 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. S. Kraft, S. Pacheco-Sanchez, G. Casale, and S. Dawson. Estimating service resource consumption from response time measurements. In VALUETOOLS, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. E. D. Lazowska, J. Zahorjan, G. S. Graham, and K. C. Sevcik. Quantitative System Performance. Prentice-Hall, 1984. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. J. D. C. Little. A proof for the queueing formula: L = W. Operations Research, 9(3):383--387, 1961.Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Z. Liu, L. Wynter, C. H. Xia, and F. Zhang. Parameter inference of queueing models for it systems using end-to-end measurements. Perform. Eval., 63(1):36--60, Jan. 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. G. Pacifici, W. Segmuller, M. Spreitzer, and A. Tantawi. Dynamic estimation of cpu demand of web traffic. In VALUETOOLS, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. J. L. Peterson. Petri Net Theory and the Modeling of Systems. Prentice Hall, 1981. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. B. Schroeder, A. Wierman, and M. Harchol-Balter. Open versus closed: a cautionary tale. In Proceedings of the 3rd conference on Networked Systems Design & Implementation - Volume 3, NSDI'06, pages 18--18, Berkeley, CA, USA, 2006. USENIX Association. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. V. Singh. System Modeling and Simulation. New Age International, 2009.Google ScholarGoogle Scholar
  21. TeamQuest. TeamQuest Model software.Google ScholarGoogle Scholar
  22. B. Urgaonkar, G. Pacifici, P. Shenoy, M. Spreitzer, and A. Tantawi. Analytic modeling of multitier internet applications. ACM Trans. Web, 1(1), May 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Borland Software Corporation. OptimizeItTM Suite.Google ScholarGoogle Scholar
  24. Compuware. Compuware Vantage Analyzer.Google ScholarGoogle Scholar
  25. IBM. Thread and Monitor Dump Analyzer for Java. http://www.alphaworks.ibm.com/tech/jca.Google ScholarGoogle Scholar
  26. Sun Microsystems. HPROF JVM profiler. http://java.sun.com/developer/technicalArticles/Programming/HPROF.html, 2005.Google ScholarGoogle Scholar
  27. Yourkit LLC. Yourkit profiler.Google ScholarGoogle Scholar
  28. L. Zhu, Y. Liu, N. B. Bui, and I. Gorton. Revel8or: Model driven capacity planning tool suite. In ICSE, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. On-the-fly capacity planning

          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 10
            OOPSLA '13
            October 2013
            867 pages
            ISSN:0362-1340
            EISSN:1558-1160
            DOI:10.1145/2544173
            Issue’s Table of Contents
            • cover image ACM Conferences
              OOPSLA '13: Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications
              October 2013
              904 pages
              ISBN:9781450323741
              DOI:10.1145/2509136

            Copyright © 2013 ACM

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 29 October 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!