scam2011 syer
TRANSCRIPT
Identifying Performance Deviations in Thread Pools
Mark D. Syer, Bram Adams and Ahmed E. [email protected]
Software Analysis and Intelligence LabQueen’s University, Canada
1
2
3
4
How to detectperformancedeviations?
Needle in a haystack!
Complexarchitectures
Ultra-Large-Scale Software Systems
Potential solutions must account for…
• Huge amounts of data• Limited system knowledge
4
Potential solutions should…
• Limit manual review/analysis
5
4
How to detectperformancedeviations?
Hundreds of machinesThousands of threads
Needle in a haystack!
Complexarchitectures
Simulate user actions
Monitor thread behaviour by collecting resource usage metrics
Simulate user actions
Monitor thread behaviour by collecting resource usage metrics
6
43
21
Group threads depending on their machine ID
7
3
21
4
1
2
4
3
Group similar behaviour
Similar
Dissimilar
Find dissimilar behaviour
8
AbstractionClustering
Ranking
Group threads
Find dissimilarbehaviour
Group similarbehaviour
How to group threads?
1 2
3
Abstraction
Ranking
Clustering
9
Abstraction Clustering
Ranking
Machines
Threads
10
does it work?
11
6:00 8:004:00
Abstracting bySpace
Vs.Time
RQ1: What time period has the most deviations?
RQ2: What threads have deviations?
Deviations Injected into Thread Data
12
Memory Leak Injected
Deviations Injected into Thread Data
13
CPU Spike Injected
Most Deviations are Identified
Precision Recall
Top Level 100% 100%
Thread Level 100% 76.61%
14
1-recall 2-recall 3-recall
86.67% 96.67% 100%
15