cs5229 09/10 lecture 6: simulation

83
1 Methodologies for Networking Research 2 October 2009 CS5229, Semester 1, 2009/10

Upload: wei-tsang-ooi

Post on 27-Jun-2015

654 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: CS5229 09/10 Lecture 6: Simulation

1

Methodologies for Networking Research

2 October 2009 CS5229, Semester 1, 2009/10

Page 2: CS5229 09/10 Lecture 6: Simulation

2

Measurement"J. Padhye, V. Firoiu, D. Towesley, and J. Kurose "Modeling TCP Throughput: A Simple Model and its Empirical Validation,”

2 October 2009 CS5229, Semester 1, 2009/10

Page 3: CS5229 09/10 Lecture 6: Simulation

3

“Reality Check” Are our assumptions reasonable? Is our mathematical model a good estimation of the real world?

2 October 2009 CS5229, Semester 1, 2009/10

Page 4: CS5229 09/10 Lecture 6: Simulation

5 2 October 2009 CS5229, Semester 1, 2009/10

Page 5: CS5229 09/10 Lecture 6: Simulation

6 2 October 2009 CS5229, Semester 1, 2009/10

Page 6: CS5229 09/10 Lecture 6: Simulation

7

Experimentation"e.g., V. Jacobson. “Congestion Control and Avoidance"

2 October 2009 CS5229, Semester 1, 2009/10

Page 7: CS5229 09/10 Lecture 6: Simulation

8

Deal with implementation issues Sometimes unforeseen complexities (e.g. own research experience in Unreliable TCP)

2 October 2009 CS5229, Semester 1, 2009/10

Page 8: CS5229 09/10 Lecture 6: Simulation

9

Understand the Behavior of Systems

Some systems are too complex to understand with “thought experiments” alone.

2 October 2009 CS5229, Semester 1, 2009/10

Page 9: CS5229 09/10 Lecture 6: Simulation

10 2 October 2009 CS5229, Semester 1, 2009/10

Page 10: CS5229 09/10 Lecture 6: Simulation

11 2 October 2009 CS5229, Semester 1, 2009/10

Page 11: CS5229 09/10 Lecture 6: Simulation

12

Analysis"

D. Chiu and R. Jain, "Analysis of the increase and decrease algorithms for congestion avoidance in computer networks,”"

J. Padhye, V. Firoiu, D. Towesley, and J. Kurose "Modeling TCP Throughput: A Simple Model and its Empirical Validation,”

2 October 2009 CS5229, Semester 1, 2009/10

Page 12: CS5229 09/10 Lecture 6: Simulation

13

Explore with Complete Control We can understand the basic forces that affect the system. e.g. TCP throughput is inversely propotional to √p

2 October 2009 CS5229, Semester 1, 2009/10

Page 13: CS5229 09/10 Lecture 6: Simulation

14

Simplify complex systems But, if too simplified, important behavior could be missed (TCP throughput without timeout)

2 October 2009 CS5229, Semester 1, 2009/10

Page 14: CS5229 09/10 Lecture 6: Simulation

15

Simulation"K. Fall and S. Floyd, "Simulation-based comparison of Tahoe, Reno, and SACK TCP,""

S. Floyd, V. Jacobson, "Random Early Detection Gateways for Congestion Avoidance,"

2 October 2009 CS5229, Semester 1, 2009/10

Page 15: CS5229 09/10 Lecture 6: Simulation

16

Check Correctness of Analysis If a simulation uses the same assumptions/model as the analysis, this simply verifies the correctness of the mathematical derivations.

2 October 2009 CS5229, Semester 1, 2009/10

Page 16: CS5229 09/10 Lecture 6: Simulation

17

Check Correctness of Analysis Simulation can relax some assumptions, use more complex models, etc. to test the limits of analysis.

(Real measurement/experiments still needed to check the usefulness of analysis results)

2 October 2009 CS5229, Semester 1, 2009/10

Page 17: CS5229 09/10 Lecture 6: Simulation

18

Explore Complex Systems Some systems are too difficult/impossible to analyzed (e.g. Internet)

2 October 2009 CS5229, Semester 1, 2009/10

Page 18: CS5229 09/10 Lecture 6: Simulation

19

Helps Develop Intuition"

2 October 2009 CS5229, Semester 1, 2009/10

Page 19: CS5229 09/10 Lecture 6: Simulation

20

Measurement"Experimentation"

Analysis"Simulation"

}

}

Real World

Abstract Model

2 October 2009 CS5229, Semester 1, 2009/10

Page 20: CS5229 09/10 Lecture 6: Simulation

“Difficulties in Simulating the Internet” "

Sally Floyd, Van Paxson"ACM/IEEE TON, 9(4) August 2001

Page 21: CS5229 09/10 Lecture 6: Simulation

22

Why is Internet hard to simulate?

2 October 2009 CS5229, Semester 1, 2009/10

Page 22: CS5229 09/10 Lecture 6: Simulation

23

1.!Internet is diverse

2 October 2009 CS5229, Semester 1, 2009/10

Page 23: CS5229 09/10 Lecture 6: Simulation

24

End-hosts: phones, desktops, servers, iPod, Wii

2 October 2009 CS5229, Semester 1, 2009/10

Page 24: CS5229 09/10 Lecture 6: Simulation

25

Links: Ethernet, WiFi, Satellite, Dial-up, 3G

2 October 2009 CS5229, Semester 1, 2009/10

Page 25: CS5229 09/10 Lecture 6: Simulation

26

Transport: TCP variants, UDP, DCCP

2 October 2009 CS5229, Semester 1, 2009/10

Page 26: CS5229 09/10 Lecture 6: Simulation

27

Applications: games, videos, web, ftp, bittorrent

2 October 2009 CS5229, Semester 1, 2009/10

Page 27: CS5229 09/10 Lecture 6: Simulation

28

2.!Internet is huge

2 October 2009 CS5229, Semester 1, 2009/10

Page 28: CS5229 09/10 Lecture 6: Simulation

29

570,937,778 Number of Hosts as of July 2008

http://www.isc.org/index.pl?/ops/ds/host-count-history.php

2 October 2009 CS5229, Semester 1, 2009/10

Page 29: CS5229 09/10 Lecture 6: Simulation

30

681,064,561 Number of Hosts as of July 2009

https://www.isc.org/solutions/survey/history

2 October 2009 CS5229, Semester 1, 2009/10

Page 30: CS5229 09/10 Lecture 6: Simulation

31

3.!Internet is changing

2 October 2009 CS5229, Semester 1, 2009/10

Page 31: CS5229 09/10 Lecture 6: Simulation

32 http://www.isc.org/ds/

2 October 2009 CS5229, Semester 1, 2009/10

Page 32: CS5229 09/10 Lecture 6: Simulation

33 http://www.dtc.umn.edu/mints/ 2 October 2009 CS5229, Semester 1, 2009/10

Page 33: CS5229 09/10 Lecture 6: Simulation

35

Why is Internet hard to simulate?"

1. Heterogeneous "2. Huge "3. Changing

2 October 2009 CS5229, Semester 1, 2009/10

Page 34: CS5229 09/10 Lecture 6: Simulation

38

What Internet topology should you use in your simulation?

How are end hosts connected? What are the properties of the links?

2 October 2009 CS5229, Semester 1, 2009/10

Page 35: CS5229 09/10 Lecture 6: Simulation

39

Topology changes constantly"

Companies keep info secrets"

Routes may change"

Routes may be asymmetric

2 October 2009 CS5229, Semester 1, 2009/10

Page 36: CS5229 09/10 Lecture 6: Simulation

40

You will need to simulate over a wide range of connectivity and link properties

2 October 2009 CS5229, Semester 1, 2009/10

Page 37: CS5229 09/10 Lecture 6: Simulation

43

Which TCP version to use?

2 October 2009 CS5229, Semester 1, 2009/10

Page 38: CS5229 09/10 Lecture 6: Simulation

44

Using “fingerprinting”, 831 different TCP implementations and versions are identified.

2 October 2009 CS5229, Semester 1, 2009/10

Page 39: CS5229 09/10 Lecture 6: Simulation

45

Which to use? "Which to ignore?

2 October 2009 CS5229, Semester 1, 2009/10

Page 40: CS5229 09/10 Lecture 6: Simulation

46

What applications to run? "

What type of traffic to generate?"

Telnet? FTP? Web? BitTorrent? Skype?

2 October 2009 CS5229, Semester 1, 2009/10

Page 41: CS5229 09/10 Lecture 6: Simulation

47

How congested should the network be?

2 October 2009 CS5229, Semester 1, 2009/10

Page 42: CS5229 09/10 Lecture 6: Simulation

48 2 October 2009 CS5229, Semester 1, 2009/10

How congested should the network be?

Page 43: CS5229 09/10 Lecture 6: Simulation

49

Example from Sally Floyd: RED vs DropTail

2 October 2009 CS5229, Semester 1, 2009/10

Page 44: CS5229 09/10 Lecture 6: Simulation

50 2 October 2009 CS5229, Semester 1, 2009/10

Page 45: CS5229 09/10 Lecture 6: Simulation

51 2 October 2009 CS5229, Semester 1, 2009/10

Page 46: CS5229 09/10 Lecture 6: Simulation

52

Example from Sally Floyd: TFRC for VoIP

2 October 2009 CS5229, Semester 1, 2009/10

Page 47: CS5229 09/10 Lecture 6: Simulation

53 2 October 2009 CS5229, Semester 1, 2009/10

Page 48: CS5229 09/10 Lecture 6: Simulation

54 2 October 2009 CS5229, Semester 1, 2009/10

Page 49: CS5229 09/10 Lecture 6: Simulation

55

We can focus our simulation on dominant technology/application today..

2 October 2009 CS5229, Semester 1, 2009/10

Page 50: CS5229 09/10 Lecture 6: Simulation

56

TCP: NewReno SACKS"OS: Windows Linux"Applications: Web, FTP

2 October 2009 CS5229, Semester 1, 2009/10

Page 51: CS5229 09/10 Lecture 6: Simulation

57

What about tomorrow?

2 October 2009 CS5229, Semester 1, 2009/10

Page 52: CS5229 09/10 Lecture 6: Simulation

58

WiMax? "Sensors? "Virtual World?"DCCP?

2 October 2009 CS5229, Semester 1, 2009/10

Page 53: CS5229 09/10 Lecture 6: Simulation

60

How to verify the simulation is correct?

2 October 2009 CS5229, Semester 1, 2009/10

Page 54: CS5229 09/10 Lecture 6: Simulation

62

Looking for Invariants

2 October 2009 CS5229, Semester 1, 2009/10

Page 55: CS5229 09/10 Lecture 6: Simulation

63

1. Diurnal Patterns

2 October 2009 CS5229, Semester 1, 2009/10

Page 56: CS5229 09/10 Lecture 6: Simulation

64 2 October 2009 CS5229, Semester 1, 2009/10

Page 57: CS5229 09/10 Lecture 6: Simulation

65

hour #constrained---- ------------ 00 139 2.5% -----------------------------------------------------X 01 144 2.6% ------------------------------------------------------X 02 146 2.6% -------------------------------------------------------X 03 140 2.5% -----------------------------------------------------X 04 119 2.1% ---------------------------------------------X 05 89 1.6% ----------------------------------X 06 69 1.2% --------------------------X 07 55 1.0% ---------------------X 08 45 0.8% -----------------X 09 40 0.7% ---------------X 10 40 0.7% ---------------X 11 42 0.8% ----------------X 12 51 0.9% -------------------X 13 57 1.0% ---------------------X 14 68 1.2% --------------------------X 15 75 1.3% ----------------------------X 16 77 1.4% -----------------------------X 17 92 1.6% -----------------------------------X 18 98 1.8% -------------------------------------X 19 105 1.9% ----------------------------------------X 20 108 1.9% -----------------------------------------X 21 113 2.0% -------------------------------------------X 22 124 2.2% -----------------------------------------------X 23 134 2.4% ---------------------------------------------------X

U Waterloo Data 24 Oct 2007 2 October 2009 CS5229, Semester 1, 2009/10

Page 58: CS5229 09/10 Lecture 6: Simulation

66

2. Self-Similar Traffic

2 October 2009 CS5229, Semester 1, 2009/10

Page 59: CS5229 09/10 Lecture 6: Simulation

67

The traffic is bursty regardless of time scale

2 October 2009 CS5229, Semester 1, 2009/10

Page 60: CS5229 09/10 Lecture 6: Simulation

68

Wikipedia

2 October 2009 CS5229, Semester 1, 2009/10

Page 61: CS5229 09/10 Lecture 6: Simulation

69

3. Poisson Session Arrival

2 October 2009 CS5229, Semester 1, 2009/10

Page 62: CS5229 09/10 Lecture 6: Simulation

70

Remote logins, starting FTP, beginning of web

surfing etc.

2 October 2009 CS5229, Semester 1, 2009/10

Page 63: CS5229 09/10 Lecture 6: Simulation

71

(so are dead light bulbs, spelling mistakes, etc.)

2 October 2009 CS5229, Semester 1, 2009/10

Page 64: CS5229 09/10 Lecture 6: Simulation

72

4. Log-normal Duration

2 October 2009 CS5229, Semester 1, 2009/10

Page 65: CS5229 09/10 Lecture 6: Simulation

73

5. Heavy Tail Distributions

2 October 2009 CS5229, Semester 1, 2009/10

Page 66: CS5229 09/10 Lecture 6: Simulation

74

Self-Similarity in World Wide Web Traffic: Evidence and Possible Causes, by Mark E. Crovella and Azer Bestavros

2 October 2009 CS5229, Semester 1, 2009/10

Page 67: CS5229 09/10 Lecture 6: Simulation

75

1. Looking for Invariants

2 October 2009 CS5229, Semester 1, 2009/10

Page 68: CS5229 09/10 Lecture 6: Simulation

76

2. Explore Parameter Space

2 October 2009 CS5229, Semester 1, 2009/10

Page 69: CS5229 09/10 Lecture 6: Simulation

77

Change one parameter,"fix the rest

2 October 2009 CS5229, Semester 1, 2009/10

Page 70: CS5229 09/10 Lecture 6: Simulation

78

Explore a wide range of values

2 October 2009 CS5229, Semester 1, 2009/10

Page 71: CS5229 09/10 Lecture 6: Simulation

79

3. Use Traces

2 October 2009 CS5229, Semester 1, 2009/10

Page 72: CS5229 09/10 Lecture 6: Simulation

80

e.g. collects traces of web sessions, video files, VoIP traffic

2 October 2009 CS5229, Semester 1, 2009/10

Page 73: CS5229 09/10 Lecture 6: Simulation

81

Use it to simulate the traffic source

2 October 2009 CS5229, Semester 1, 2009/10

Page 74: CS5229 09/10 Lecture 6: Simulation

82

But must be careful about traffic shaping and user/application

adaptation.

2 October 2009 CS5229, Semester 1, 2009/10

Page 75: CS5229 09/10 Lecture 6: Simulation

83

e.g. traces collected during non-congested time should not be use to

simulate congested networks.

2 October 2009 CS5229, Semester 1, 2009/10

Page 76: CS5229 09/10 Lecture 6: Simulation

84

4. publish simulator script for others to verify

2 October 2009 CS5229, Semester 1, 2009/10

Page 77: CS5229 09/10 Lecture 6: Simulation

85

Conclusion

2 October 2009 CS5229, Semester 1, 2009/10

Page 78: CS5229 09/10 Lecture 6: Simulation

86

Simulation is useful but needs to do it properly

2 October 2009 CS5229, Semester 1, 2009/10

Page 79: CS5229 09/10 Lecture 6: Simulation

87

Be careful about your simulation model: you want it to be as simple

as possible, but not simpler.

2 October 2009 CS5229, Semester 1, 2009/10

Page 80: CS5229 09/10 Lecture 6: Simulation

88

Be careful about your conclusion: “A is 13.5% better than B” is

probably useless.

2 October 2009 CS5229, Semester 1, 2009/10

Page 81: CS5229 09/10 Lecture 6: Simulation

89

“A is 13.5% better than B under these environment”"

is better but not general

2 October 2009 CS5229, Semester 1, 2009/10

Page 82: CS5229 09/10 Lecture 6: Simulation

90

Not really for quantitative results, but more for

2 October 2009 CS5229, Semester 1, 2009/10

Page 83: CS5229 09/10 Lecture 6: Simulation

91

understanding the dynamics,"illustrate a point,"explore unexpected behavior.

2 October 2009 CS5229, Semester 1, 2009/10