fcp: a flexible transport framework for accommodating diversity

77
FCP: A Flexible Transport Framework for Accommodating Diversity Dongsu Han (KAIST) Robert Grandl, Aditya Akella, Srinivasan Seshan * † University of Wisconsin-Madison * Carnegie Mellon University 1

Upload: oni

Post on 24-Feb-2016

18 views

Category:

Documents


0 download

DESCRIPTION

FCP: A Flexible Transport Framework for Accommodating Diversity . Dongsu Han (KAIST) Robert Grandl † , Aditya Akella † , Srinivasan Seshan * † University of Wisconsin-Madison * Carnegie Mellon University. Evolution of Transport Protocols. {. Reliability/Loss recovery - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: FCP: A Flexible  Transport Framework  for  Accommodating Diversity

1

FCP: A Flexible Transport Framework for Accommodating Diversity

Dongsu Han (KAIST)Robert Grandl† , Aditya Akella†,

Srinivasan Seshan*

† University of Wisconsin-Madison*Carnegie Mellon University

Page 2: FCP: A Flexible  Transport Framework  for  Accommodating Diversity

2

Evolution of Transport Protocols

Network (IP)Transport

{ Reliability/Loss recoveryIn-order deliveryFlow controlCongestion control

Page 3: FCP: A Flexible  Transport Framework  for  Accommodating Diversity

3

Evolution of Transport Protocols

Multipath

Transport

Quality of Experience(QoE)

Page 4: FCP: A Flexible  Transport Framework  for  Accommodating Diversity

4

Evolution of Transport Protocols

Multipath

Transport

Quality of Experience(QoE)

Support for diversity:Multi-homing, multiple paths,

multiple sub-streams,multimedia streaming,

Web applications,Data transfer with a deadline

Page 5: FCP: A Flexible  Transport Framework  for  Accommodating Diversity

5

Evolution of Transport Protocols

Transport

{ Reliability/Loss recoveryIn-order deliveryFlow controlCongestion controlCongestion control

Page 6: FCP: A Flexible  Transport Framework  for  Accommodating Diversity

6

Evolution of Transport Protocols

Congestion control

Transport

Resource Allocation

Fairness and efficiency

Coordination

Page 7: FCP: A Flexible  Transport Framework  for  Accommodating Diversity

7

Problems in Supporting Diversity in Congestion Control

Cannot ensure coexistence.

RCP

TCPD3

[sigcomm]

XCP [sigcomm]

Page 8: FCP: A Flexible  Transport Framework  for  Accommodating Diversity

8

Evolution of TCPSACK (1996)NewReno (1999)

MulTCPExplicit Congestion Notification

TCP NiceFastTCP

TCP window-scaling, 1988

TCP BIC, CUBIC 2008

MPTCP2010

TCP Friendly Rate Control

1. End-point flexibility: Purely end-point based2. Coexistence: Invariant for fairness (TCP friendliness)

MPTCP

TFRC

NewReno

CUBIC

Page 9: FCP: A Flexible  Transport Framework  for  Accommodating Diversity

9

End-point based vs. Router-AssistedHighFlexibility,Diversity

End-point based [TCP]

High Efficiency

Router-Assisted [XCP, RCP]

Feedback on network’s state

Can we achieve the best of both worlds?

Page 10: FCP: A Flexible  Transport Framework  for  Accommodating Diversity

10

Our Approach

1. Decouple coexistence issues (fairness and efficiency) from end-point control

Flex

ible

Con

trol

Fairn

ess

Effici

ency

End-host Network

2. Introduce generic abstractions for resource allocation.

Network’s state (feedback)

End-point’s future behavior (feed-forward)

Page 11: FCP: A Flexible  Transport Framework  for  Accommodating Diversity

11

Flow 1

Budget W ($/sec)

Flow i’s price: Pi ($/Byte)

Sender ReceiverNetwork

...Flow 2

Flow nSender can distribute its budget to its flows. Flow i’s budget wi,

subject to W ≥ Σwi

Flow i’s rate: Ri = budget/price = wi /Pi (Byte/sec)

PRICE

Decoupling for Flexibility1

Page 12: FCP: A Flexible  Transport Framework  for  Accommodating Diversity

12

Flow 1

Budget W ($/sec)

Sender ReceiverNetwork

...Flow 2

Flow n

Flow i’s budget wi,

subject to W ≥ Σwi

PRICE

Decoupling for Flexibility1

1. Flexibility at the end-points in how its budget is used.

2. Flexibility in network price generation.

Invariant for fairness

Page 13: FCP: A Flexible  Transport Framework  for  Accommodating Diversity

13

• Feedback: “congestion price” reflecting the “cost” of sending data across the link [Kelly]

P1P2P3

Feedback: Pricing2a

Price = p3

Round Trip Time

Price = p3+p2

Round Trip Time

Price = p3+p2+p1

Round Trip Time

Congestion Header Congestion Header Congestion Header

Page 14: FCP: A Flexible  Transport Framework  for  Accommodating Diversity

14

• Feedback: “congestion price” reflecting the “cost” of sending data across the link [Kelly]

P1P2P3

Feedback: Pricing2a

Price feedback = p3+p2+p1

PriceEchoback

Sender updatesthe rate.Rate = budget/price

This implements proportional fairness [Kelly].

Page 15: FCP: A Flexible  Transport Framework  for  Accommodating Diversity

15

Price Calculation

Router updates the price, upon packet reception.

Time

Load

Averaging window = 2 x AvgRTT

Feedback: Pricing2a

Recent load

f(Average recent load)Price ($/byte) =

Page 16: FCP: A Flexible  Transport Framework  for  Accommodating Diversity

16

Price CalculationRouter updates the price, upon packet reception.

Time

Instantaneous Incoming budget ($)= Price ($/byte) x Bytes Received (bytes)

Averaging window = 2 x AvgRTT

Feedback: Pricing2a

Incoming budget

Average Incoming BudgetRemaining Link Capacity

Price ($/byte) =

Page 17: FCP: A Flexible  Transport Framework  for  Accommodating Diversity

17

Price Calculation

Time

Instantaneous Incoming budget ($)

Average Incoming BudgetRemaining Link Capacity

Price ($/byte) =

Feedback: Pricing2aNew Price

Round Trip Time (rtt)

Incoming budget I(t)=

Router stores recent history of price,

Page 18: FCP: A Flexible  Transport Framework  for  Accommodating Diversity

18

Feed-forward: Preloading2b

1 ($/sec) 10 ($/sec)Sender

PRICE

Price: p $/byteRate = 1/p Bps

Rate = 10/p Bps

Page 19: FCP: A Flexible  Transport Framework  for  Accommodating Diversity

19

Feed-forward: Preloading2b

1 ($/sec) 10 ($/sec)Sender

Rate = 1/p

Rate = 10/p’

Price

Round Trip Time

Preload=9

Price

Round Trip Time

Preload=9

(1+preload) x price(t-rtt) x bytes

Inco

min

g bu

dget

($)

Price goes up (from p to p’)

Congestion Header

Page 20: FCP: A Flexible  Transport Framework  for  Accommodating Diversity

20

Evaluation

Flow 1

Budget W ($/sec)

...Flow 2

Flow n

PRICE

3. Flexibility in network price generation.

2. End-point budget allocation.

1. Basic performance of FCP

Page 21: FCP: A Flexible  Transport Framework  for  Accommodating Diversity

21

Fast Convergence/Accurate Feedback Se

ndin

g Ra

te (M

bps)

Time

RTT = {25ms, 50ms, 125ms, 250ms, 625ms }

Page 22: FCP: A Flexible  Transport Framework  for  Accommodating Diversity

22

Fast Convergence/Accurate Feedback Se

ndin

g Ra

te (M

bps)

Time

Ideal RTT = {25ms, 50ms, 125ms, 250ms, 625ms }

Page 23: FCP: A Flexible  Transport Framework  for  Accommodating Diversity

23

Fast Convergence/Accurate Feedback Se

ndin

g Ra

te (M

bps)

Time

Ideal RTT = {25ms, 50ms, 125ms, 250ms, 625ms }

Page 24: FCP: A Flexible  Transport Framework  for  Accommodating Diversity

24

Fast Convergence/Accurate Feedback Se

ndin

g Ra

te (M

bps)

Time

Ideal RTT = {25ms, 50ms, 125ms, 250ms, 625ms }

Page 25: FCP: A Flexible  Transport Framework  for  Accommodating Diversity

25

Fast Convergence/Accurate Feedback Se

ndin

g Ra

te (M

bps)

Time

Ideal RTT = {25ms, 50ms, 125ms, 250ms, 625ms }

Page 26: FCP: A Flexible  Transport Framework  for  Accommodating Diversity

26

Fast Convergence/Accurate Feedback Se

ndin

g Ra

te (M

bps)

Time

Ideal RTT = {25ms, 50ms, 125ms, 250ms, 625ms }

Page 27: FCP: A Flexible  Transport Framework  for  Accommodating Diversity

27

Fast Convergence/Accurate Feedback

Time

FCP

Ideal

Send

ing

Rate

(Mbp

s)Se

ndin

g Ra

te (M

bps)

Page 28: FCP: A Flexible  Transport Framework  for  Accommodating Diversity

28

Fast Convergence/Accurate Feedback

Time

FCP

RCPIdeal

Send

ing

Rate

(Mbp

s)Se

ndin

g Ra

te (M

bps)

Send

ing

Rate

(Mbp

s)

Overloaded when new flows arrive

Page 29: FCP: A Flexible  Transport Framework  for  Accommodating Diversity

29

Fast Convergence/Accurate Feedback

Fairness AIMD

Time

FCP

RCP

XCP

Ideal

Send

ing

Rate

(Mbp

s)Se

ndin

g Ra

te (M

bps)

Send

ing

Rate

(Mbp

s)Se

ndin

g Ra

te (M

bps)

Overloaded when new flows arrive

Page 30: FCP: A Flexible  Transport Framework  for  Accommodating Diversity

30

Local Stability of FCP

• Random perturbation of [-30,30]% introduced every second for a duration of 100 ms.

Page 31: FCP: A Flexible  Transport Framework  for  Accommodating Diversity

31

Faster Convergence/Accurate Feedback

FCP’s converges faster and the feedback is more accurate.

Fan-

out =

5

100Mbps

Slower, inaccurate

Slowest. Fairness AIMD

More results in the paper:- Fairness, efficiency- Local stability- Effectiveness of preloading- Overhead of price calculation

Page 32: FCP: A Flexible  Transport Framework  for  Accommodating Diversity

32

Budget Determines the Fair-share.

Fan-out =50…

Host A Host B

100Mbps

1 ($/sec) 1 ($/sec)

Page 33: FCP: A Flexible  Transport Framework  for  Accommodating Diversity

33

Local Stability of FCP

• Random perturbation of [-30,30]% introduced every second for a duration of 100 ms.

Page 34: FCP: A Flexible  Transport Framework  for  Accommodating Diversity

3434

Accurate feedback with preloading• Double the load every RTT from t= 0 to 1 sec.• RCP: double the # of flows• FCP (our design): double the budget

Page 35: FCP: A Flexible  Transport Framework  for  Accommodating Diversity

35

Accurate feedback with preloading• Double the load every RTT from t= 0 to 1 sec.• RCP: double the # of flows• FCP (our design): double the budget

Page 36: FCP: A Flexible  Transport Framework  for  Accommodating Diversity

36

End-point Flexibility: Topology

Sender0 (S0)Budget 1

Sender1 (S1)Budget 2

Sender2 (S2)Budget 1

Receiver0

Receiver1

Round-trip latency : 12 ms

250 Mbps link

50 Mbps link200 Mbps links

Top flow

Btm flow

Page 37: FCP: A Flexible  Transport Framework  for  Accommodating Diversity

37

Budget allocation is up to end-points

Budget of S1’s top flow ($/sec)

S1’s

Thro

ughp

ut (M

bps)

Total

Page 38: FCP: A Flexible  Transport Framework  for  Accommodating Diversity

38

Budget allocation is up to end-points

Budget of S1’s top flow ($/sec)

S1’s

Thro

ughp

ut (M

bps)

Total Top flow Bottom flow

Max-throughput

Equal-throughput

Equal-budget

Page 39: FCP: A Flexible  Transport Framework  for  Accommodating Diversity

39

End-point Diversity: Background flows

Non-bottleneckLink capacity: 200Mbps

100Mbps50Mbps

Flow1 Flow2 (Background)Flow3

Flow0

Link latency: 3ms

Flow2 (Background)

Page 40: FCP: A Flexible  Transport Framework  for  Accommodating Diversity

40

Diversity in Network Pricing

• FCP can also support diverse behaviors in network price generation.

• Examples (in the paper)– Deadline support [D3 SIGCOMM 11]– Aggregate resource allocation in a multi-tenant

data-center– Stable bandwidth allocation for streaming– Multicast congestion control

Page 41: FCP: A Flexible  Transport Framework  for  Accommodating Diversity

41

Deadline Support [D3 SIGCOMM 11]

Deadline Queue

Best Effort Queue

Price

Time

Constant Pricing

Preload

Price

Time

Variable Pricing

Deadline flows preload to specify the desired rate

Average Incoming BudgetRemaining Link Capacity

Price ($/byte) =

Page 42: FCP: A Flexible  Transport Framework  for  Accommodating Diversity

42

Differential Pricing for Deadline Support

Constant Pricing for Deadline Flows

Pric

ePr

ice

Constant Pricing for Deadline Flows

Variable Pricingfor BE flows

Page 43: FCP: A Flexible  Transport Framework  for  Accommodating Diversity

43

Differential Pricing for Deadline Support

Dead flows

Rejected/BE flows

Best effort (BE)

Pric

e

Constant Pricing for Deadline Flows

Variable Pricingfor BE flows

Price increase

Page 44: FCP: A Flexible  Transport Framework  for  Accommodating Diversity

44

Packet processing performance

Per-core FCP throughput : 2.6Mpps (1.25 Gbps @ 64 bytes)Per-core Click baseline: 6.1 Mpps (3.1 Gbps @64bytes)

Page 45: FCP: A Flexible  Transport Framework  for  Accommodating Diversity

45

Packet processing performance

About 1/3 spent on actual price calculation1/3 spent on clock_gettime (can be offloaded to h/w)

Page 46: FCP: A Flexible  Transport Framework  for  Accommodating Diversity

46

Summary

• FCP accommodates diverse behaviors in resource allocation while utilizing explicit feedback.

• FCP maximizes end-point’s flexibility by simplifying the mechanism of coexistence.

• FCP’s explicit feed-back and feed-forward provides a generic interface for efficient resource allocation.

Page 47: FCP: A Flexible  Transport Framework  for  Accommodating Diversity

47

Research Theme

• Cooperative model for resource allocation.• Network knows information that end-points

do not know.• End-points know information that the network

does not know. • Can we benefit from a new interface between

the network and the end-points?

Page 48: FCP: A Flexible  Transport Framework  for  Accommodating Diversity

48

Any more examples?

Page 49: FCP: A Flexible  Transport Framework  for  Accommodating Diversity

49

Mobile Networks

• Unique properties:– Under a single administrative domain– A complete ecosystem.

Page 50: FCP: A Flexible  Transport Framework  for  Accommodating Diversity

50

Page 51: FCP: A Flexible  Transport Framework  for  Accommodating Diversity

51

• Prof. Song

Page 52: FCP: A Flexible  Transport Framework  for  Accommodating Diversity

52

What is research?

• People have their own style: “diversity”• What is your “uniqueness”?

Understanding Tradeoffs in Incremental Deployment of New Network Architectures CoNEXT 2013FCP: A Flexible Transport Framework for Accommodating Diversity Sigcomm 2013CAMEO: A Middleware for Mobile Advertisement Delivery MobiSys 2013Supporting Long Term Evolution in an Internet Architecture Ph.D. ThesisRPT: Re-architecting Loss Protection for Content-Aware Networks NSDI 2012XIA: Efficient Support for Evolvable Internetworking NSDI 2012

Page 53: FCP: A Flexible  Transport Framework  for  Accommodating Diversity

53

Conclusion

Page 54: FCP: A Flexible  Transport Framework  for  Accommodating Diversity

54

Page 55: FCP: A Flexible  Transport Framework  for  Accommodating Diversity

55

Budget allocation is up to end-points

Budget of S1’s top flow ($/sec)

S1’s

Thro

ughp

ut (M

bps)

Total Top flow Bottom flow

Page 56: FCP: A Flexible  Transport Framework  for  Accommodating Diversity

56

Equal-throughput

Budget allocation is up to end-points

Budget of S1’s top flow ($/sec)

S1’s

Thro

ughp

ut (M

bps)

Total Top flow Bottom flow

Page 57: FCP: A Flexible  Transport Framework  for  Accommodating Diversity

57

Budget Determines the Fair-share.

Fan-out =50…

Host A Host B

100Mbps

1 ($/sec) 1 ($/sec)

Page 58: FCP: A Flexible  Transport Framework  for  Accommodating Diversity

58

Misbehaving Hosts

Detection of misbehaving hosts: Expected incoming budget ≠ incoming budgetIdentification: Need per-host state.

Page 59: FCP: A Flexible  Transport Framework  for  Accommodating Diversity

59

Packet processing performance

Per-core FCP throughput : 2.6Mpps (1.25 Gbps @ 64 bytes)Per-core Click baseline: 6.1 Mpps (3.1 Gbps @64bytes)

Page 60: FCP: A Flexible  Transport Framework  for  Accommodating Diversity

60

Packet processing performance

About 1/3 spent on actual price calculation1/3 spent on clock_gettime (can be offloaded to h/w)

Page 61: FCP: A Flexible  Transport Framework  for  Accommodating Diversity

61

Memory Overhead

• Implementation stores 500 msec of history at 10 usec granularity = 50K entries

Time

Price ($/byte), Incoming Budget($)

More recent

Page 62: FCP: A Flexible  Transport Framework  for  Accommodating Diversity

62

Local Stability of FCP

• Random perturbation of [-30,30]% introduced every second for a duration of 100 ms.

Page 63: FCP: A Flexible  Transport Framework  for  Accommodating Diversity

63

Incremental Deployment

TCP Queue

Legacy TCP link

FCP link

TCP

FCP

FCP segment

1. Assign budget on aggregate TCP flows.2. TCP flows are treated as a single FCP flow.3. The mapped FCP flow’s rate determines the TCP queue’s drain rate.

FCP feedback

TCP

Page 64: FCP: A Flexible  Transport Framework  for  Accommodating Diversity

64

FCP and RCP

Page 65: FCP: A Flexible  Transport Framework  for  Accommodating Diversity

65

Short Flow’s Completion Time

Page 66: FCP: A Flexible  Transport Framework  for  Accommodating Diversity

6666

Accurate feedback with preloading• Double the load every RTT from t= 0 to 1 sec.• RCP: double the # of flows• FCP (our design): double the budget

Page 67: FCP: A Flexible  Transport Framework  for  Accommodating Diversity

67

Accurate feedback with preloading• Double the load every RTT from t= 0 to 1 sec.• RCP: double the # of flows• FCP (our design): double the budget

Page 68: FCP: A Flexible  Transport Framework  for  Accommodating Diversity

68

Budget Determines the Fair-share.

Fan-out =50…

Host A Host B

100Mbps

1 ($/sec) 1 ($/sec)

Page 69: FCP: A Flexible  Transport Framework  for  Accommodating Diversity

69

Requirements for CC Diversity (1)1) Flexible control at the end-points to handle

new requirements.

Maximize throughput with multiple pathsSupport deadlines [sigcomm 2011,2012]Support background flowsOptimize for Quality of Experience [sigcomm2013]

High-level Application Objectives

High-level Application Objectives

Page 70: FCP: A Flexible  Transport Framework  for  Accommodating Diversity

70

High-level Application Objectives

Requirements for CC Diversity (2)

1) Flexible control at the end-points2) Ensure coexistence (fairness and effciency)

Fairness and efficiency

Page 71: FCP: A Flexible  Transport Framework  for  Accommodating Diversity

71

Aggregate Control in a Multi-tenant Data-center

ToR Switch

20 Servers/Rack

VM1 VM2

VM3 VM4

VM39 VM40

Grou

p 0

Grou

p 1

Two tenants with the same weight sharing a rack. Each of their flow has equal budget. The network dynamically translates the value.

A rack with 20 servers

1¥/sec 20 $/sec

20 $/sec

1 ¥/secLink price: 1 €/bit

Weight 1

Weight 1

Price feedback (¥): 1 €/bit x exchange ¥ /€

Price feedback ($): 1 €/bit x exchange $/€

Page 72: FCP: A Flexible  Transport Framework  for  Accommodating Diversity

72

Aggregate Control in a Multi-tenant Data-center

ToR Switch

20 Servers/Rack

VM1 VM2

VM3 VM4

VM39 VM40

Page 73: FCP: A Flexible  Transport Framework  for  Accommodating Diversity

73

Feed-forward: Preloading2b 1 ($/sec)

PRICE

10 ($/sec)Sender

PRICE Budget = $10/sec

Preload = PRELOAD PRELOAD PRELOAD

PRELOAD PRELOAD PRELOAD

PRICE PRICE

PRICE PRICE

Page 74: FCP: A Flexible  Transport Framework  for  Accommodating Diversity

74

• Feedback: “congestion price” reflecting the “cost” of sending data across the link [Kelly]

P1P2P3

Total Price = p1+p2+p3PRICE DATA

PRICE ACK

PriceEchoback

Sender updatesthe rate.Rate = budget/price

This implements proportional fairness [Kelly].

Feedback: Pricing2a

Page 75: FCP: A Flexible  Transport Framework  for  Accommodating Diversity

75

Deadline Support [D3 SIGCOMM 11]

1) Flows specify the desired rate by preloading.2) The network admits a flow if it is within its capacity, otherwise the flow gets a best effort service. – Two class queuing at the network (deadline, BE)– Deadline (BE) flows get fixed (variable) pricing.

Admitted deadline flows

Rejected deadline flows

Best effort

Page 76: FCP: A Flexible  Transport Framework  for  Accommodating Diversity

76

Faster Convergence/Accurate Feedback

FCP’s converges faster and the feedback is more accurate.

Fan-

out =

5

100Mbps

Overloaded when new flows arrive

Fairness AIMD

Page 77: FCP: A Flexible  Transport Framework  for  Accommodating Diversity

77

Price CalculationRouter updates the price, upon packet reception.

Time

Instantaneous Incoming budget ($)= Price ($/byte) x Bytes Received (bytes)

Averaging window = 2 x AvgRTT

Average Incoming BudgetRemaining Link Capacity

Price ($/byte) =

Feedback: Pricing2a

Incoming budget I(t)=