Modeling and Emulation of Internet Paths Pramod Sanaga

  • Slides: 41
Download presentation
Modeling and Emulation of Internet Paths Pramod Sanaga, Jonathon Duerig, Robert Ricci, Jay Lepreau

Modeling and Emulation of Internet Paths Pramod Sanaga, Jonathon Duerig, Robert Ricci, Jay Lepreau University of Utah 1

Distributed Systems • How will you evaluate your distributed system? – DHT – P

Distributed Systems • How will you evaluate your distributed system? – DHT – P 2 P – Content Distribution 2

Network Emulation 3

Network Emulation 3

Why Emulation? • Test distributed systems + Repeatable + Real • PCs, Applications, Protocols

Why Emulation? • Test distributed systems + Repeatable + Real • PCs, Applications, Protocols + Controlled • Dedicated Nodes, Network Parameters • Link Emulation 4

Goal: Path Emulation Emulated Internet 5

Goal: Path Emulation Emulated Internet 5

Link by Link Emulation 50 Mbps 100 Mbps 50 Mbps 6

Link by Link Emulation 50 Mbps 100 Mbps 50 Mbps 6

End to End Emulation RTT ABW 7

End to End Emulation RTT ABW 7

Contributions • Principles for path emulation – Pick appropriate queue sizes – Separate capacity

Contributions • Principles for path emulation – Pick appropriate queue sizes – Separate capacity from ABW – Model reactivity as a function of flows – Model shared bottlenecks 8

Obvious Solution ABW RTT Link Emulator Queue Shape Delay App Delay Shape Queue 9

Obvious Solution ABW RTT Link Emulator Queue Shape Delay App Delay Shape Queue 9

Obvious Solution (Good News) • Actual Path • Bandwidth Accuracy – 8. 0% Error

Obvious Solution (Good News) • Actual Path • Bandwidth Accuracy – 8. 0% Error on forward path – 7. 2% Error on reverse path 2. 3 Mbps Iperf 2. 2 Mbps Iperf 10

Obvious Solution (Bad News) Obvious Emulation RTT (ms) Real Path Time (s) Latency is

Obvious Solution (Bad News) Obvious Emulation RTT (ms) Real Path Time (s) Latency is an order of magnitude higher 11

Obvious Solution (More Problems) • Measure asymmetric path • Bandwidth Accuracy – 50. 6%

Obvious Solution (More Problems) • Measure asymmetric path • Bandwidth Accuracy – 50. 6% error on forward path! • Much smaller than on real path – 8. 5% error on reverse path 6. 4 Mbps Iperf 2. 6 Mbps Iperf 12

What’s Happening? • TCP increases congestion window until it sees a loss • There

What’s Happening? • TCP increases congestion window until it sees a loss • There are no losses until the queue fills up • Queue fills up • Delays grows until queue is full • Large delays were queuing delays 13

What’s Happening Link Emulator 50 Packet 6. 4 Mbps 12 ms App 12 ms

What’s Happening Link Emulator 50 Packet 6. 4 Mbps 12 ms App 12 ms 2. 6 Mbps 50 Packet 14

Delays Link Emulator 97 ms App 239 ms App How do we make this

Delays Link Emulator 97 ms App 239 ms App How do we make this more rigorous? 15

Maximum Tolerable Queueing Delay Max Tolerable Queueing Max. Delay Window Size Queue size Target

Maximum Tolerable Queueing Delay Max Tolerable Queueing Max. Delay Window Size Queue size Target must Bandwidth be limited above by. Other delay. RTT 16

Upper Bound (Queue Size) Capacity Max Tolerable Delay Total Queue Size Upper limit is

Upper Bound (Queue Size) Capacity Max Tolerable Delay Total Queue Size Upper limit is proportional to capacity 17

Upper bound • Forward direction 13 k – 9 packets • Reverse direction 5

Upper bound • Forward direction 13 k – 9 packets • Reverse direction 5 k – 3 packets • Queue size is too small – Drops even small bursts! 18

Lower Bound (Queue Size) Total. Drop Window Size. On Bursts Small Queues Packets 19

Lower Bound (Queue Size) Total. Drop Window Size. On Bursts Small Queues Packets 19

Can’t Fulfill Both Bounds • Upper limit is 13 k • Lower limit is

Can’t Fulfill Both Bounds • Upper limit is 13 k • Lower limit is 65 k – 1 TCP connection, no window scaling • No viable queue size 20

Capacity Vs. ABW • Capacity is the rate at which everyone’s packets drain from

Capacity Vs. ABW • Capacity is the rate at which everyone’s packets drain from the queue • ABW is the rate at which MY packets drain from the queue • Link emulator replicates capacity • Setting capacity == ABW interacts with queue size 21

Queue Size (KB) Capacity and Queue Size Viable Queue Sizes Upper Bound Lower Bound

Queue Size (KB) Capacity and Queue Size Viable Queue Sizes Upper Bound Lower Bound Capacity (Mbps) 22

Our Solution • Set queue based on constraints • Set shaper to high bandwidth

Our Solution • Set queue based on constraints • Set shaper to high bandwidth • Introduce CBR cross-traffic CBR Source Queue CBR Sink Shape Path Emulator Delay App Delay CBR Sink Shape Queue CBR Source 23

CBR Traffic • TCP cross-traffic backs off • CBR does not • Background traffic

CBR Traffic • TCP cross-traffic backs off • CBR does not • Background traffic cannot back off – If it does, the user will see larger ABW than they set 24

Reactivity • Reactive CBR traffic? !? !? ! • Approximate aggregate ABW as function

Reactivity • Reactive CBR traffic? !? !? ! • Approximate aggregate ABW as function of number of foreground flows • Change CBR traffic based on flow count 25

Does it work? 26

Does it work? 26

Testing Bandwidth Obvious Error Our Error Forward 50. 6 % 4. 1 % Reverse

Testing Bandwidth Obvious Error Our Error Forward 50. 6 % 4. 1 % Reverse 8. 5 % 5. 0 % 6. 4 Mbps Iperf 2. 6 Mbps Iperf 27

More Bandwidth Tests Forward Reverse Link Error Path Error 2. 3 Mbps 2. 2

More Bandwidth Tests Forward Reverse Link Error Path Error 2. 3 Mbps 2. 2 Mbps 8. 0 % 2. 1 % 4. 1 Mbps 2. 8 Mbps 31. 7 % 5. 8 % 6. 4 Mbps 2. 6 Mbps 50. 6 % 4. 1 % 25. 9 Mbps 17. 2 Mbps 20. 4 % 10. 2 % 8. 0 Mbps 22. 0 % 6. 3 % 12. 0 Mbps 21. 5 % 6. 5 % 10. 0 Mbps 3. 0 Mbps 66. 5 % 8. 5 % 28

Testing Delay Path Emulator RTT (ms) Real Path Time (s) Obvious solution was an

Testing Delay Path Emulator RTT (ms) Real Path Time (s) Obvious solution was an order of magnitude higher 29

Bit. Torrent Setup • Measured conditions among 13 Planet. Lab hosts • 12 Bit.

Bit. Torrent Setup • Measured conditions among 13 Planet. Lab hosts • 12 Bit. Torrent Clients, 1 Seed • Isolate capacity and queue size changes 30

Bit. Torrent Download Duration (s) Obvious Solution Our Solution Nodes 31

Bit. Torrent Download Duration (s) Obvious Solution Our Solution Nodes 31

Related Work • Link Emulation – Emulab – Dummynet – Model. Net – NIST

Related Work • Link Emulation – Emulab – Dummynet – Model. Net – NIST Net 32

Related Work • Queue Sizes – Apenzeller et al (Sigcomm 2004) • Large number

Related Work • Queue Sizes – Apenzeller et al (Sigcomm 2004) • Large number of flows – Buffer requirements are small • Small number of flows – Queue size should be bandwidth-delay product – We build on this work to determine our lower bound – We focus on emulating a given bandwidth rather than maximizing performance 33

Related Work • Characterize traffic through a particular link – Harpoon (IMC 2004) –

Related Work • Characterize traffic through a particular link – Harpoon (IMC 2004) – Swing (Sigcomm 2006) – Tmix (CCR 2006) • We use only end to end measurements and characterize reactivity as a function of flows 34

Conclusion • New path emulator – End to end conditions • Four principles combine

Conclusion • New path emulator – End to end conditions • Four principles combine for accuracy – Pick appropriate queue sizes – Separate capacity from ABW – Model reactivity as a function of flows – Model shared bottlenecks 35

Questions? • Available now at www. emulab. net • Email: duerig@cs. utah. edu 36

Questions? • Available now at www. emulab. net • Email: duerig@cs. utah. edu 36

Backup Slides 37

Backup Slides 37

Does capacity matter? 38

Does capacity matter? 38

Scale 39

Scale 39

Shared Bottlenecks are Hard 40

Shared Bottlenecks are Hard 40

Stationarity 41

Stationarity 41