Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/2509136.2509540acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
research-article

On-the-fly capacity planning

Published: 29 October 2013 Publication History
  • Get Citation Alerts
  • 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.
    [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.
    [3]
    D. H. Bailey. Little's law and high performance computing. Technical report, In RNR Technical Report, 1997.
    [4]
    F. Brosig, S. Kounev, and K. Krogmann. Automated extraction of palladio component models from running enterprise java applications. In VALUETOOLS, 2009.
    [5]
    E. M. Goldratt. Theory of Constraints. North River Press, 1999.
    [6]
    L. Grinshpan. Multi-tiered applications sizing methodology based on load testing and queuing network models. In Int. CMG Conference. Computer Measurement Group, 2008.
    [7]
    N. Gunther. Guerrilla Capacity Planning: A Tactical Approach to Planning for Highly Scalable Applications and Services. Springer, 2006.
    [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.
    [9]
    J. Hunter and W. Crawford. Java servlet programming. O'Reilly, Beijing, 1998.
    [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.
    [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.
    [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.
    [13]
    S. Kraft, S. Pacheco-Sanchez, G. Casale, and S. Dawson. Estimating service resource consumption from response time measurements. In VALUETOOLS, 2009.
    [14]
    E. D. Lazowska, J. Zahorjan, G. S. Graham, and K. C. Sevcik. Quantitative System Performance. Prentice-Hall, 1984.
    [15]
    J. D. C. Little. A proof for the queueing formula: L = W. Operations Research, 9(3):383--387, 1961.
    [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.
    [17]
    G. Pacifici, W. Segmuller, M. Spreitzer, and A. Tantawi. Dynamic estimation of cpu demand of web traffic. In VALUETOOLS, 2006.
    [18]
    J. L. Peterson. Petri Net Theory and the Modeling of Systems. Prentice Hall, 1981.
    [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.
    [20]
    V. Singh. System Modeling and Simulation. New Age International, 2009.
    [21]
    TeamQuest. TeamQuest Model software.
    [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.
    [23]
    Borland Software Corporation. OptimizeItTM Suite.
    [24]
    Compuware. Compuware Vantage Analyzer.
    [25]
    IBM. Thread and Monitor Dump Analyzer for Java. http://www.alphaworks.ibm.com/tech/jca.
    [26]
    Sun Microsystems. HPROF JVM profiler. http://java.sun.com/developer/technicalArticles/Programming/HPROF.html, 2005.
    [27]
    Yourkit LLC. Yourkit profiler.
    [28]
    L. Zhu, Y. Liu, N. B. Bui, and I. Gorton. Revel8or: Model driven capacity planning tool suite. In ICSE, 2007.

    Cited By

    View all
    • (2015)A Programming Model for Sustainable Software2015 IEEE/ACM 37th IEEE International Conference on Software Engineering10.1109/ICSE.2015.89(767-777)Online publication date: May-2015
    • (2014)Continuously measuring critical section pressure with the free-lunch profilerACM SIGPLAN Notices10.1145/2714064.266021049:10(291-307)Online publication date: 15-Oct-2014
    • (2014)Continuously measuring critical section pressure with the free-lunch profilerProceedings of the 2014 ACM International Conference on Object Oriented Programming Systems Languages & Applications10.1145/2660193.2660210(291-307)Online publication date: 15-Oct-2014

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    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
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 29 October 2013

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. capacity planning
    2. expert system
    3. inference
    4. performance tuning

    Qualifiers

    • Research-article

    Conference

    SPLASH '13
    Sponsor:

    Acceptance Rates

    OOPSLA '13 Paper Acceptance Rate 50 of 189 submissions, 26%;
    Overall Acceptance Rate 268 of 1,244 submissions, 22%

    Upcoming Conference

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)1
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 11 Aug 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2015)A Programming Model for Sustainable Software2015 IEEE/ACM 37th IEEE International Conference on Software Engineering10.1109/ICSE.2015.89(767-777)Online publication date: May-2015
    • (2014)Continuously measuring critical section pressure with the free-lunch profilerACM SIGPLAN Notices10.1145/2714064.266021049:10(291-307)Online publication date: 15-Oct-2014
    • (2014)Continuously measuring critical section pressure with the free-lunch profilerProceedings of the 2014 ACM International Conference on Object Oriented Programming Systems Languages & Applications10.1145/2660193.2660210(291-307)Online publication date: 15-Oct-2014

    View Options

    Get Access

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media