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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend