Embedded Lab. Park Yeongseong
Introduction Problem Formulation Approach Overview AOI(Area Of Interest) Extraction CallStack Pattern Mining CallStack Pattern Clustering Evaluation Conclusion Q&A
Modern software system ◦ Large number of components ◦ Large number of lines of code ◦ Depend on large number of system components Recent Solution ◦ Microsoft Windows Error Reporting (WER) ◦ Performance bugs not handled (crash/hang debug) PerfTrack : Event Tracing for Windows Dtrace : Solaris and several other Unix-like system
Propose approach ◦ StackMine StackMine ◦ To enable performance debugging in the large ◦ Support scalable system for postmortem performance debugging StackMine include 2phases ◦ Costly-pattern mining algorithm ◦ Clustering on the mined costly pattern
Majority performance bug ◦ CPU consumption bug ◦ Wait bug
3 steps to reduce the investigation scope ◦ AOI extraction ◦ Costly-maximal-pattern mining ◦ CallStack pattern clustering
Two major issues ◦ Effectiveness ◦ Efficiency Two effective AOI extraction techniqes ◦ Scope-based extraction ◦ Content-based extraction
More easily recognize the common part and the variant part of the callstack patterns. Using performance metrics of a cluster can help produce better prioritization of results for investigation
Window Explorer UI PerfTrack : collected 6000 trace stream Randomly select 1000 trace stream Relevant 921 trace stream( 181million callstack) ◦ 140 million : waiting stacks ◦ 41 running stacks
StackMine : ranked list 1215 pattern clusters. AOI extract : 141million -> 689thousand Maximal-callstack-pattern mining : produce 2239 costly patterns. Final Ranked costly pattern lists : 1215 Top 400 clusters -> 93 performance signature 58.26% of the response delay time. Average 1.6 seconds of UI response delay
To enable performance debugging in the large : StackMine StackMine helps performance analysts effectively discover highly impactful performance bugs. StackMine’s substantial benefits in performance debugging in the large