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

multipath tcp
SMART_READER_LITE
LIVE PREVIEW

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

Multipath TCP How one little change can make: YouTube 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:

 YouTube 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, 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.

x1 x2 y x1+ x2 = y

slide-18
SLIDE 18

Linking the subflows can reduce the traffic sent

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

 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.

So linked MP-TCP will be fair to normal TCP.

x1 x2 y x1+ x2 = y

slide-20
SLIDE 20

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

slide-21
SLIDE 21

Unfortunately it’s not all rosy

 Differential equations predict stability.

 Reality is discrete, which results in flappy behaviour.

slide-22
SLIDE 22

Problem 1:

When paths are equally congested, “fully coupled” TCP 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-23
SLIDE 23

Question:

Is it bad to flap between the multiple paths, so long as the total rate is constant?

 In a world of static load, probably not.  In a world of dynamic load, using a very small window

  • n a subflow is undesirable.

 Can’t quickly respond when capacity becomes

available.

 Hard to keep TCP’s ack-clock running, so vulnerable

to timeouts on that subflow.

slide-24
SLIDE 24

Principle of “Equipoise”

 Amongst solutions that effectively pool resources, we’d

prefer ones that balance traffic equally between the subflows.

slide-25
SLIDE 25

With the right parameterization, we can capture a spectrum of coupled algorithms:

ε

2 “fully coupled” subflows uncoupled regular TCP flows varying degrees

  • f coupling
slide-26
SLIDE 26

With the right parameterization, we can capture a spectrum of coupled algorithms:

slide-27
SLIDE 27

ε determines the degree to which traffic is moved

  • ff the more congested path

 ε=2: no attempt to balance load.  ε=0: try to send all traffic on the less congested path.  Observation:

 lower ε gives better resource pooling  higher ε gives better equipoise.

 How do these two balance each other?

slide-28
SLIDE 28

We want to examine how traffic is moved away from congestion (resource pooling)

Question: How much more congested is the red link than the blue one?

slide-29
SLIDE 29

Decreasing ε improves resource pooling and effectively moves traffic away from congestion.

slide-30
SLIDE 30

We want to examine the effect of Equipoise on throughput when network load is dynamic.

8 on/off TCP flows 3 long lived TCP flows 1 multipath flow

Parameters set so mean loss rate is roughly the same on both paths

slide-31
SLIDE 31

Problem 2:

With varying background traffic, low values of ε move so much traffic off the more congested path that we miss opportunities to send.

slide-32
SLIDE 32

Neither extreme for ε seems desirable. How about intermediate values?

ε=1 is an interesting case.

 Reasonable load

balancing, good equipoise.

 Very simple

algorithm.

slide-33
SLIDE 33

ε=1 is an algorithm that just links the increases.

slide-34
SLIDE 34

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-35
SLIDE 35

The “linked increases” algorithm has nice properties, but isn’t sufficient by itself.

 It’s not naturally fair to TCP when multiple subflows

go through the same bottleneck.

 When RTTs on the subflows are dissimilar, it can get

poor throughput.

 But the dynamics are good, so these are just a question

  • f scaling the aggressiveness.
slide-36
SLIDE 36

Problem 3:

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-37
SLIDE 37

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-38
SLIDE 38

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-39
SLIDE 39

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-40
SLIDE 40

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

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-41
SLIDE 41

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

slide-42
SLIDE 42

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-43
SLIDE 43

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-44
SLIDE 44

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-45
SLIDE 45

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-46
SLIDE 46

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-47
SLIDE 47

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-48
SLIDE 48

w2 w1 20 10 20 10 30

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 Line of acceptable throughput

slide-49
SLIDE 49

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-50
SLIDE 50

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-51
SLIDE 51

w2 w1 20 10 20 10 30 Choose a so that the equilibrium point is on the line of acceptable 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-52
SLIDE 52

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-53
SLIDE 53

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

a1 a2 b a1+ a2 = b

slide-54
SLIDE 54

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

 YouTube 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.  Maybe even a better solution for mobility?  Overall, a more reliable Internet.  Very high reliability possible by using many paths.

 Remote brain surgery?

slide-55
SLIDE 55

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.

 Now being standardized in the IETF.

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