Multipath TCP How one little change can make: Google more robust - - PowerPoint PPT Presentation

multipath tcp
SMART_READER_LITE
LIVE PREVIEW

Multipath TCP How one little change can make: Google more robust - - PowerPoint PPT Presentation

Multipath TCP How one little change can make: Google more robust your iPhone service cheaper your home broadband quicker prevent the Internet from melting down enable remote brain surgery cure hyperbole Prof. Mark Handley


slide-1
SLIDE 1

Multipath TCP

  • Prof. Mark Handley
  • Dr. Damon Wischik

Costin Raiciu University College London How one little change can make:

 Google more robust  your iPhone service cheaper  your home broadband quicker  prevent the Internet from melting down  enable remote brain surgery  cure hyperbole

slide-2
SLIDE 2

TCP is the main transport protocol on the Internet

 Web  Email  Remote login  Chat  Video streaming  Peer-to-peer

 TCP provides two functions: reliable delivery and congestion

  • control. This talk is about congestion control.
slide-3
SLIDE 3

TCP tries to answer the question “how fast should I send?”

slide-4
SLIDE 4

TCP’s window is all the packets TCP has sent for which it has not yet seen the acknowlegment.

Data packets Acks for data packets

slide-5
SLIDE 5

TCP’s congestion control adapts the window to fit the capacity available in the network.

 Each round-trip time, increase window by one packet.  If a packet is lost, halve the window.

TCP’s Window Time (RTTs)

slide-6
SLIDE 6

Over time, TCP equalizes the windows of competing flows

Window

  • f

flow 2 Window

  • f

flow 1

Flow 1 Flow 2

w1 + w2 = 80 (Queue at fills up) 2

slide-7
SLIDE 7

Over time, TCP equalizes the windows of competing flows

Window of flow 2 Window of flow 1

Flow 1 Flow 2

The two windows are similar most

  • f the time
slide-8
SLIDE 8

TCP does not prevent congestion

 Ideal protocol: transfer a large file in zero time.

 Congestion is normal if TCP is working.

 TCP doesn’t make traffic go away

 All it does is spread traffic out over time.

slide-9
SLIDE 9

TCP has to use the path given it by routing.

Source: Bill Cheswick, Lumeta

here there

slide-10
SLIDE 10

The routing system is not aware of congestion. TCP can’t choose a better uncongested path.

Source: Bill Cheswick, Lumeta

here there link is very congested

slide-11
SLIDE 11

Redundancy is the only way to make reliability greater than that of all the parts.

 If an Internet link fails, can routing can switch to a

different path.

 Routing is too slow to converge.

 Can we use redundancy at the TCP level?

 Routing doesn’t know about congestion.

 Can we avoid congestion at at the TCP level?

slide-12
SLIDE 12

Obvious answer: Use more than one path

This has only recently become possible, as hosts with more than one path to the Internet become commonplace.

slide-13
SLIDE 13

Smartphone

Mobile client Server Wifi 3G celltower

slide-14
SLIDE 14

Multi-homed server

Client Server Load balances between access links Stripe data from one connection across both paths. We call these subflows.

slide-15
SLIDE 15

Sending simultaneously across more than one path can provide robustness.

If any path dies, TCP can detect it immediately and switch all traffic to the working path.

Client Server

slide-16
SLIDE 16

Sending simultaneously across more than one path can balance load and pool resources.

Each path runs its own congestion control, to detect and respond to the congestion it sees. But link the congestion control parameters, so as to move traffic away from the more congested paths. [Kelly & Voice, Key, Massoulie & Towsley]

be less aggressive be more aggressive

slide-17
SLIDE 17

We don’t want to be more aggressive than a regular TCP when the bottleneck is common to all our subflows.

Sometimes the flows won’t take different

  • paths. We still want to

be fair to competing traffic.

a1 a2 b a1+ a2 = b

slide-18
SLIDE 18

Linking the subflows can reduce the traffic sent

  • n the more congested path, and so balance load.

Regular TCP:

 Each round trip, increase window w by 1.  Each loss, decrease window w by w/2.

Multipath TCP: For subflow i:

 Each round trip, increase window wi by wi/wtotal.  Each loss, decrease window wi by wtotal/2 (but not negative)

 The subflow that has the smaller window increases less and

decreases more.

slide-19
SLIDE 19

Linking the subflows is fair, even if they all go through the same bottleneck.

Multipath TCP: For subflow i:

 Each round trip, increase window wi by wi/wtotal.  Each loss, decrease window wi by wtotal/2

 Each round trip, the total window increases by: Σ wi/wtotal= 1

Same as a normal TCP

 Each loss, the total window decreases by wtotal/2

Same as a normal TCP So linked MP-TCP will be fair to normal TCP.

a1 a2 b a1+ a2 = b

i

slide-20
SLIDE 20

MP-TCP allows a set of disparate links to behave just as if they were a single pooled resource.

The ARPAnet pooled link resources rather than using circuits. Multipath TCP pools multiple link resources.

ARPAnet resource pooling: Multipath resource pooling:

slide-21
SLIDE 21

Linking the subflows allows a set of disparate links to behave just as if they were a single pooled resource.

slide-22
SLIDE 22

Unfortunately it’s not all rosy

 Differential equations predict stability.

 Reality is discrete, which results in flappy behaviour.

 Theory assumes we control the rate. In the Internet, we

need to control the window to co-exist with TCP.

 This introduces a dependency on round trip time.

slide-23
SLIDE 23

Problem 1:

When paths are equally congested, linking causes the traffic to flap between them.

 Coupling moves traffic

away from the more congested path until loss rates equalize.

 But losses are never

exactly equal, so traffic flaps between paths randomly.

Traffic flaps between

  • ne path and the other

Equal random loss

  • n both paths
slide-24
SLIDE 24

To have a stable equilibrium, there needs to be a defined fixed point for any combination of loss rates, pi, seen by the subflows.

 Assume p1 ≈ p2 because TCP manages to balance load.

 So long as small changes in p1 or p2 only cause small

changes in w1 and w2, then the system will not flap between the extremes.

 Linking increase and decrease means that if p1 < p2 ,

even if the difference is tiny, then w2→0.

 This causes flapping when p1 ≈ p2

slide-25
SLIDE 25

The simplest algorithm that has a defined fixed point is one that just links the increases.

Recall: “Fully linked” algorithm:

 Each RTT, increase window wi by wi/wtotal.  Each loss, decrease window wi by wtotal /2.

New: “Linked increases” algorithm:

 Each RTT, increase window wi by wi/wtotal.  Each loss, decrease window wi by wi /2

slide-26
SLIDE 26

“Linked increases” has a well-defined fixed point, but sacrifices a degree of resource pooling.

Linked increases has a fixed point where: w1 p1 = w2 p2

 This does move traffic away from congestion, but does

not remove all traffic from the less congested path. In comparison, regular TCP has wi = 1/√pi

 Small changes in pi only have small effects on wi, so it

does not flap.

slide-27
SLIDE 27

The “linked increases” algorithm does not flap when the loss rates are equal

Window of subflow 2 Window of subflow 1 Same random loss

  • n both paths
slide-28
SLIDE 28

The “Linked increases” algorithm does move congestion away from the more congested path.

Window of more congested subflow Window of less congested subflow

slide-29
SLIDE 29

Problem 2:

Differing round trip times can influence throughput significantly.

Linked increases tries to equalize the loss rates, and hence equalize the windows of the subflows.

slide-30
SLIDE 30

An example:

Consider first the throughput when the loss rates and RTTs are equal.

Src Dst

w1= 10 w2= 10 RTT1=10ms RTT2=10ms Total rate = 2000 pkts/s => 1000pkts/s => 1000pkts/s p1 = p2

slide-31
SLIDE 31

Src Dst

w1= 10 w2= 10 RTT1=10ms RTT2=100ms Total rate = 1100 pkts/s => 1000pkts/s => 100pkts/s

The “linked increases” algorithm gets low throughput when the round trip times are different.

But a regular TCP on path 1 would get 2000pkts/s

slide-32
SLIDE 32

We can correct for this, but first we need to decide what a desirable outcome would be.

Goal 1: Improve Throughput Do at least as well as a single-path flow on the best path. Goal 2: Do no harm. Affect other flows no more than a single-path flow on their path. Goal 3: Balance congestion Move the maximum amount of traffic off the more congested path

slide-33
SLIDE 33

We can make the linked increases algorithm fair by simply scaling the increase function.

 Each RTT, increase window i by awi/wtotal.  Each loss, decrease window i by wi /2.

a is the aggressiveness.

 It doesn’t change relative window sizes, so doesn’t

affect Goal 3: move traffic away from congestion.

 By tuning a, we can also achieve Goal 1: improve

throughput and Goal 2: do no harm.

slide-34
SLIDE 34

By tuning a, “linked increases” can also satisfy Goal 1: improve throughput and Goal 2: do no harm.

slide-35
SLIDE 35

By tuning a, “linked increases” can also satisfy Goal 1: improve throughput and Goal 2: do no harm.

w2 w1 20 10 20 10 30

slide-36
SLIDE 36

w2 w1 20 10 20 10 30 Window a regular TCP would get on path 1

By tuning a, “linked increases” can also satisfy Goal 1: improve throughput and Goal 2: do no harm.

slide-37
SLIDE 37

w2 w1 20 10 20 10 30 20

By tuning a, “linked increases” can also satisfy Goal 1: improve throughput and Goal 2: do no harm.

Window a regular TCP would get on path 1 Window a regular TCP would get on path 2

slide-38
SLIDE 38

w2 w1 20 10 20 10 30 What MP-TCP would get if we didn’t link subflows

By tuning a, “linked increases” can also satisfy Goal 1: improve throughput and Goal 2: do no harm.

slide-39
SLIDE 39

w2 w1 20 10 20 10 30 Lines of Equal Throughput. Their gradient depends on the ratio of RTTs.

By tuning a, “linked increases” can also satisfy Goal 1: improve throughput and Goal 2: do no harm.

What MP-TCP would get if we didn’t link subflows

slide-40
SLIDE 40

w2 w1 20 10 20 10 30 Minimum acceptable throughput for multipath is no worse than the best single-path route

By tuning a, “linked increases” can also satisfy Goal 1: improve throughput and Goal 2: do no harm.

What MP-TCP would get if we didn’t link subflows

slide-41
SLIDE 41

w2 w1 20 10 20 10 30 Region of acceptable throughput for multipath

By tuning a, “linked increases” can also satisfy Goal 1: improve throughput and Goal 2: do no harm.

What MP-TCP would get if we didn’t link subflows Minimum acceptable throughput for multipath is no worse than the best single-path route

slide-42
SLIDE 42

w2 w1 20 10 20 10 30 Point of maximum resource pooling (minimum traffic on more congested path)

By tuning a, “linked increases” can also satisfy Goal 1: improve throughput and Goal 2: do no harm.

slide-43
SLIDE 43

w2 w1 20 10 20 10 30 The equilibrium point for “linked increases” lies on this line.

By tuning a, “linked increases” can also satisfy Goal 1: improve throughput and Goal 2: do no harm.

Point of maximum resource pooling (minimum traffic on more congested path)

slide-44
SLIDE 44

w2 w1 20 10 20 10 30 Choose a so that the equilibrium point is on the line of minimum throughput.

By tuning a, “linked increases” can also satisfy Goal 1: improve throughput and Goal 2: do no harm.

Point of maximum resource pooling (minimum traffic on more congested path)

slide-45
SLIDE 45

The value of a can be calculated from the window sizes and the RTTs of the subflows.

 w is the equilibrium window, but experiments show the

instantaneous window can be used.

^

slide-46
SLIDE 46

MP-TCP is fair to TCP, even at a common bottleneck

a1 a2 b a1+ a2 = b

slide-47
SLIDE 47

We believe MP-TCP has the potential to improve the Internet service seen by users.

 Google can multihome to different networks.

 Network outages have minimal effect.

 Your iPhone can use WiFi and 3G simultaneously.

 Sleep radios when unneeded for better battery life.

 Share your DSL and your neighbour’s Cable broadband.  Very high reliability possible by using many paths.

 Remote brain surgery?

slide-48
SLIDE 48

Summary: Multipath transport may finally unlock the inherent redundancy in the Internet.

 Robustness to failure.  Can move traffic away from congestion, not just spread

it out over more time.

 Maybe even a better solution for mobility?  Now being standardized in the IETF.

 New MultipathTCP working group formed.  http://nrg.cs.ucl.ac.uk/mptcp