Scam2011 syer

Preview:

Citation preview

Identifying Performance Deviations in Thread Pools

Mark D. Syer, Bram Adams and Ahmed E. Hassanmdsyer@cs.queensu.ca

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

Recommended