+ All Categories
Home > Documents > Ian wcre2011

Ian wcre2011

Date post: 12-Apr-2017
Category:
Upload: sailqu
View: 103 times
Download: 0 times
Share this document with a friend
28
An Exploratory Study of the Evolution of Communicated Information about the Execution of Large Software Systems Weiyi Shang Zhen Ming Jiang Bram Adams Ahmed E. Hassan Michael W. Godfrey University of Waterloo Queen’s University Mohamed Nasser Parminder Flora Research In Motion (RIM
Transcript
Page 1: Ian wcre2011

An Exploratory Study of the Evolution of

Communicated Information about the Execution of Large Software Systems

Weiyi ShangZhen Ming Jiang

Bram AdamsAhmed E. Hassan

Michael W. Godfrey

University of WaterlooQueen’s University

Mohamed NasserParminder Flora

Research In Motion (RIM)

Page 2: Ian wcre2011

2

What run-time actions cause the failure?

Page 3: Ian wcre2011

3

Automated profiling & instrumentation

Detail No domain knowledgeLarge scale

Page 4: Ian wcre2011

4

Communicated information (CI)

Execution Logs

System Alerts

Code Comments

/*…*/

StaticDynamic

Field experienceDeveloper experience

Page 5: Ian wcre2011

5

CI forms basis of Ecosystem of Log Processing Apps

Workload recoveryAnomaly detection

Capacity planning System

monitoring

Performance analysis

Failure diagnosis

Page 6: Ian wcre2011

6

How to keep Log Processing Apps in sync with CI?

Release 1 Release 2 Release 3

Page 7: Ian wcre2011

7

Our Study Dimensions

What types of modifications happen to CI?

What information is conveyed by the short-lived CI?

Quantity Type Content

How does CI evolve over

time?

Page 8: Ian wcre2011

8

Case Study Setup

Data Collection

Log Abstraction

System Deployment

time=1, Trying to launch, TaskID=01A

time=$t, Trying to launch, TaskID=$id

Enterprise Application (EA)

LogEvents

Page 9: Ian wcre2011

9

Our Study Dimensions

What types of modifications happen to CI?

What information is conveyed by the short-lived CI?

Quantity Type Content

How does CI evolve over

time?

Page 10: Ian wcre2011

10

CI keeps on growing over time0.

14.0

0.15

.0

0.16

.0

0.17

.0

0.18

.0

0.19

.0

0.20

.0

0.20

.1

0.20

.2

0.21

.0

0

20

40

60

80

100

120

140

160

180

releases

# execution events

Page 11: Ian wcre2011

11

…even when system size decreases

# K SLOC # Execution log events 0.19.0 293 1130.20.0 250 121

Page 12: Ian wcre2011

12

CI is impacted by re-engineering

0.15.0 0.16.0 0.17.0 0.18.0 0.19.0 0.20.0 0.20.1 0.20.2 0.21.00.00%

10.00%20.00%30.00%40.00%50.00%60.00%70.00%80.00%90.00%

100.00% Unchanged CI

Large amounts of implementation changes

Page 13: Ian wcre2011

How does CI evolve over

time?

13

Growing & changing

Document & track

What types of modifications happen to CI?

What information is conveyed by the short-lived CI?

Quantity Type Content

Page 14: Ian wcre2011

14

Six types of modification exist

Rephrasing Redundant information

Adding information

Deleting information

Diverging Merging

Page 15: Ian wcre2011

15

Six types of modification exist

Rephrasing Redundant information

Adding information

Deleting information

Diverging Merging

Hadoop mapred Reduce task fetch n bytes

Hadoop MapReduce task Reduce fetch n bytes

Page 16: Ian wcre2011

16

Six types of modification exist

Rephrasing Redundant information

Adding information

Deleting information

Diverging Merging

ShuffleRamManager memory limit n MaxSingleShuffleLimit m

ShuffleRamManager memory limit n MaxSingleShuffleLimit m mergeThreshold Q

Page 17: Ian wcre2011

17

Six types of modification exist

Rephrasing Redundant information

Adding information

Deleting information

Diverging Merging

Adding task to tasktracker

Adding Map Task to tasktracker

Adding Reduce Task to tasktracker

Page 18: Ian wcre2011

18

Six types of modification exist

Rephrasing Redundant information

Adding information

Deleting information

Diverging Merging

Avoidable

Page 19: Ian wcre2011

19

Six types of modification exist

Rephrasing Redundant information

Adding information

Deleting information

Diverging Merging

Recoverable

Page 20: Ian wcre2011

20

Six types of modification exist

Rephrasing Redundant information

Adding information

Deleting information

Diverging Merging

Unavoidable

Page 21: Ian wcre2011

21

Most modifications can be avoided

redundant info

rephrasing adding info deleting info

diverging merging0.00%

10.00%

20.00%

30.00%

40.00%

50.00%

60.00%

70.00%

80.00%

90.00%

100.00%

9.86%

61.97%

14.08%7.04% 7.04% 2.82%

avoidable recoverable unavoidable

Page 22: Ian wcre2011

22

How does CI evolve over

time?

Growing &changing

Document & track

What types of modifications happen to CI?

What information is conveyed by the short-lived CI?

Quantity Type Content

6 types

Are mostly avoidable

Page 23: Ian wcre2011

23

Short-lived CI contains implementation details

Hadoop saves output to a machine.Hadoop assigns a reduce task to a machine.Map task updates its progress.Hadoop reads from a local file.Hadoop Attempt saves its output and reports to the task tracker.

Node name

Local pathUsing ipc

Output file name

Page 24: Ian wcre2011

24

How does CI evolve over

time?

Growing &changing

Document & track

What types of modifications happen to CI?

What information is conveyed by the short-lived CI?

Quantity Type Content

6 types

Are mostly avoidable

Implementation-level details

FragileMaintenance effort

Page 25: Ian wcre2011

25

Page 26: Ian wcre2011

26

Page 27: Ian wcre2011

27

What happened in the game?

My favorite soccer team lost

Page 28: Ian wcre2011

28

Let’s try to find out by ourselves

Watching the

highlightsWatching the

replay

• All game details

• 90 minutes

• Have to form my own interpretation

• Only essential events

• 5 minutes

• Provided by experts of the domain


Recommended