hands on
play

Hands-On Gerrie Veerman - UvA Supervisor: Ronald van der Pol - SARA - PowerPoint PPT Presentation

MultiPath TCP: Hands-On Gerrie Veerman - UvA Supervisor: Ronald van der Pol - SARA 1 05-07-2012 What is MultiPath TCP? The ability to use multiple paths with the same connection. 2 Making use of Multi-homing One could make use of


  1. MultiPath TCP: Hands-On Gerrie Veerman - UvA Supervisor: Ronald van der Pol - SARA 1 05-07-2012

  2. What is MultiPath TCP? • The ability to use multiple paths with the same connection. 2

  3. Making use of Multi-homing • One could make use of multiple interfaces simultaneously and roam between 3G and WiFi instantly. 3

  4. The Project Research Question : Is the current MPTCP implementation a useful technology for e-science data transfers in the GLIF environment? Why are we doing this? • Demand for bandwidth keeps increasing • MPTCP is still relatively new • Can MPTCP really make efficient use of multiple paths • How stable is the current implementation • First hands-on experience for SARA 4

  5. History and Present History: • Christian Huitema suggested the idea in 1995 • The idea turned into MPTCP around 2006 Present: • In 2011 the first RFCs appeared • 1e implementation in the 2.6 Linux kernel in 2011 (higher versions should support it, we used 3.2) • Currently three RFCs written and four still in draft • MPTCP is still being developed, discussed and extensively tested 5

  6. How does MPTCP work? 6

  7. Properties of MPTCP • MPTCP is actually implemented in TCP option fields • For middle-boxes MPTCP looks like regular TCP packets • Applications can use MPTCP as in a regular TCP socket API • End-hosts need multiple routing tables, one for each path (default gateways) • One needs higher buffers than with TCP 7

  8. Path Management • Routes and paths are created by the network not the MPTCP protocol • After a handshake the first initial subflow is created • MPTCP shares all available IP addresses with each other and tries to create a full-mesh out of them • The connections which do not work get dropped • MPTCP has the ability to add and remove subflows • Every subflow has its unique subflow ID and keys (SHA-1 is used). 8

  9. The Goals of MPTCP 1. Improve throughput: Perform at least as well as a single path flow would on the best of the paths available to it. 2. Do no harm: multipath flow should not take up more capacity from any of the resources shared by its different paths 3. Balance congestion: A multipath flow should move as much traffic as possible off its most congested paths, subject to meeting the first two goals. 9

  10. Congestion • With TCP: • With MPTCP: 10

  11. Congestion Algorithm Should make sure the most efficient paths are taken and meet the design goals of MPTCP 11

  12. Questions we had? • How is everything configured/addressed/routed? • How well does the current implementation work? • Can it handle a LAN and WAN environment? • How robust is the protocol? • Can it handle differences in bandwidth? • How well does MPTCP handle congestion? 12

  13. Created Topology 13

  14. Experiments Experiment Topics: • Improved throughput • Robustness • Congestion and Fairness • LAN vs WAN environment What we used: • Small and large packets (MSS) • For all our tests we used iperf • Different sizes for socket buffers • Increased the maximum buffer size for the kernel (rmem_max, wmem_max, tcp_rmem and tcp_wmem) . 14

  15. LAN : Throughput LAN LAN Speed 1Gb/s 1Gb/s RTT 5ms 5ms Buffer 6MB 6MB Min-Buf 2.5MB 2.5MB MSS 1400 1400 15

  16. LAN: Robustness • Interfaces go UP and DOWN LAN LAN Speed 1Gb/s 1Gb/s RTT 5ms 5ms Buffer 6MB 6MB Min-Buf 2.5MB 2.5MB MSS 1400 1400 16

  17. LAN: Balancing • We got both graphs with the exact same experiment LAN LAN LAN Speed 1Gb/s 1Gb/s 10Gb/s RTT 5ms 5ms 5ms Buffer 16MB 16MB 16MB Min-Buf 15MB 15MB 15MB MSS 1400 1400 1400 17

  18. LAN: Balancing • MSS and buffers increased LAN LAN LAN Speed 1Gb/s 1Gb/s 10Gb/s RTT 5ms 5ms 5ms Buffer 26MB 26MB 26MB Min-Buf 15MB 15MB 15MB MSS 8900 8900 8900 18

  19. WAN: Throughput • Increased round trip times WAN WAN Speed 300Mb/s 1Gb/s 1000 RTT 35ms 35ms Buffer Different Different 900 Min-Buf 10.8MB 10.8MB MSS 1400 1400 800 700 Bandwidht Mb/s 600 500 300Mb/s Geneve 1Gb/s Geneve 400 Total 300 200 100 19 0 6 8 10 12 14 16 Buffers in MB

  20. WAN: Advanced Throughput • Using only the two Geneve links is more optimal • Big RTT difference +/-170ms WAN WAN WAN Speed 300Mb/s 1Gb/s 10Gb/s RTT 35ms 35ms 202ms 1800 Buffer Different Different Different 1600 Min-Buf 570MB 570MB 570MB MSS 1400 1400 1400 1400 1200 Bandwidth Mb/s 1000 300Mb/s Geneve 1Gb/s Geneve 800 10Gb/s Chicago Total 600 400 200 20 0 6 12 18 24 30 36 42 48 56 64 72 Buffers in MB

  21. LAN + WAN: Throughput • Small difference in RTT +/- 30ms WAN LAN Speed 1Gb/s 1Gb/s RTT 35ms 5ms Buffer 10MB 10MB Min-Buf 17.5MB 17.5MB MSS 1400 1400 21

  22. LAN: Fairness • One can see that the bandwidth TCP gets is far below what it ‘should’ get in theory LAN Speed 1Gb/s RTT 5ms Buffer 6MB Min-Buf 2.5MB MSS 1400 22

  23. Analysis • Behavior of the different parameters • Performance dips in graphs • Window size decreases (packets are dropped) • Slow server? • Overflowing buffers? • Interfaces going UP and DOWN • MPTCP debug option • Subflow count stays 1 while it should be 2, no clue why this happens • Tcpdump/Wireshark • No clear explanation yet. (indication its due to the socket buffer in 23 combination with the window size)

  24. Achievements Experience: • Kernel froze sometimes, especially when interfaces went up and down • Can work with both IPv4 and IPv6 simultaneously • MPTCP seems quite stable overall Research • MPTCP meets its goals: improve throughput and balance congestion • The goal: do no harm is not met perfectly. In our experiments MPTCP is a bit unfair to TCP • The behavior of MPTCP in different environments with different 24 parameters

  25. Conclusion Research Question : Is the current MPTCP implementation a useful technology for e-science data transfers in the GLIF environment? • When the e-science environment is stable, uses the same link speeds, has high enough buffers and same RTTs • MPTCP seems to behave well and gets maximum throughput • However, when you have a lot of differences in link speeds, buffer sizes and RTTs • MPTCP may behave less optimal and becomes as good as TCP would get. One should consider if using MPTCP gives any real benefit. However, when robustness is a key factor you can of course make use of MPTCP • With higher speeds, one would need fast servers and one should put 25 a lot of attention in tweaking all parameters

  26. Future work • More advanced analyzing and testing of the protocol • Testing against other projects like GridFTP • The GLIF test-bed topology within SARA • Run experiments again to verify our results • Investigate the tuning further 26 • Try it yourself

  27. 27

  28. Backup Slides 28

  29. Congestion Algorithm • Should make sure the most efficient paths are taken and meet the design goals of MPTCP 8Mb/s 8Mb/s 8Mb/s Flow 1:1 10Mb/s 10Mb/s 29 10Mb/s Flow 4:1

  30. MPTCP Handshake 30

  31. Buffer calculation • TCP: • MPTCP: • Example: RTT=36ms, 2x 1Gb/s 31

  32. MPTCP Algorithm • Window size increase rule is only changed 32

  33. MPTCP Handover 33

  34. LAN LAN LAN: 2x 10Gb/s Link Speed 10Gb/s 10Gb/s RTT 5ms 5ms Buffer 20MB 20MB Min-Buf 25MB 25MB MSS 8900 8900 • One MPTCP session • Two MPTCP sessions 34

  35. LAN: Advanced changes LAN LAN LAN Speed 1Gb/s 1Gb/s 10Gb/s RTT 5ms 5ms 5ms 12000 Buffer 16MB 16MB 16MB 11000 Min-Buf 15MB 15MB 15MB 10000 MSS 1400 1400 1400 9000 8000 Bandwidth Mb/s 7000 10Gb/s LAN 6000 1Gb/s LAN 5000 1Gb/s LAN 4000 In Theory 3000 2000 1000 35 0 1 61 121 181 241 301 361 421 481 541 601 661 721 781 841 901 Seconds

  36. LAN: Fairness with a TCP session LAN LAN 1x 1Gb/s 2x 1Gb/s Speed 1Gb/s 1Gb/s RTT 5ms 5ms Buffer 6MB 6MB Min-Buf 2.5MB 2.5MB MSS 1400 1400 36

  37. LAN: Fairness on 2x 1Gb/s links LAN LAN Speed 1Gb/s 1Gb/s 2000 RTT 5ms 5ms Buffer 6MB 6MB 1800 Min-Buf 2.5MB 2.5MB 1600 MSS 1400 1400 1400 Bandwidth Mb/s 1200 1000 MPTCP Session TCP Session 800 In Theory TCP 600 400 200 37 0 1 61 121 181 241 301 361 421 481 541 Seconds

  38. LAN: Fairness on 2x 1Gb/s links LAN LAN Speed 1Gb/s 1Gb/s 2000 RTT 5ms 5ms 1800 Buffer 6MB 6MB Min-Buf 2.5MB 2.5MB 1600 MSS 1400 1400 1400 Bandwidth Mb/s 1200 1000 MPTCP Session TCP 2 Sessions 800 TCP in Theory 600 400 200 38 0 1 61 121 181 241 301 361 421 481 541 601 Seconds

Recommend


More recommend