• DocumentCode
    2332568
  • Title

    Identifying performance deviations in thread pools

  • Author

    Syer, Mark D. ; Adams, Bram ; Hassan, Ahmed E.

  • Author_Institution
    Software Anal. & Intell. Lab. (SAIL), Queen´´s Univ., Kingston, ON, Canada
  • fYear
    2011
  • fDate
    25-30 Sept. 2011
  • Firstpage
    83
  • Lastpage
    92
  • Abstract
    Large-scale software systems handle increasingly larger workloads by implementing highly concurrent and distributed design patterns. The thread pool pattern uses pools of pre-existing and reusable threads to limit thread lifecycle over-head (thread creation and destruction) and resource thrashing (thread proliferation). However, these advantages are weighed against performance issues caused by concurrency risks, like synchronization errors or deadlock, and thread pool-specific risks, like poorly tuned pool size or thread leakage. Detecting these performance issues during load testing requires a thorough understanding of how thread pools behave, yet most performance analysts have limited knowledge of the system and are flooded with terabytes of data from load tests. We propose a methodology to identify threads with performance deviations in thread pools. Our methodology ranks threads based on the dissimilarity of their resource usage metrics. A case study on a large-scale industrial software system shows that our methodology can identify threads with performance deviations with an average precision of 100% and an average recall of 76.61%. Our methodology performs very well when ranking long-lived deviations, such as memory leaks, but more work is needed to rank short-lived deviations, such as CPU spikes.
  • Keywords
    electronic commerce; multi-threading; object-oriented methods; pattern clustering; resource allocation; synchronisation; concurrency risk; distributed design pattern; identifying performance deviation; large-scale industrial software system; large-scale software system; performance deviation; resource thrashing; synchronization errors; thread leakage; thread lifecycle overhead; thread pool pattern; thread pool-specific risk; Covariance matrix; Educational institutions; Instruction sets; Queueing analysis; Synchronization; behaviour-based clustering; thread-pools; understanding ULS systems;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Maintenance (ICSM), 2011 27th IEEE International Conference on
  • Conference_Location
    Williamsburg, VI
  • ISSN
    1063-6773
  • Print_ISBN
    978-1-4577-0663-9
  • Electronic_ISBN
    1063-6773
  • Type

    conf

  • DOI
    10.1109/ICSM.2011.6080775
  • Filename
    6080775