FCP: A Flexible Transport Framework for Accommoda:ng - - PowerPoint PPT Presentation

fcp a flexible transport framework for accommoda ng
SMART_READER_LITE
LIVE PREVIEW

FCP: A Flexible Transport Framework for Accommoda:ng - - PowerPoint PPT Presentation

FCP: A Flexible Transport Framework for Accommoda:ng Diversity Dongsu Han (KAIST) Robert Grandl , Aditya Akella , Srinivasan Seshan * University of


slide-1
SLIDE 1

FCP: ¡A ¡Flexible ¡Transport ¡Framework ¡ ¡ for ¡Accommoda:ng ¡Diversity ¡ ¡

Dongsu ¡Han ¡(KAIST) ¡

Robert Grandl† ¡, Aditya Akella†, Srinivasan Seshan* ¡

¡† ¡University ¡of ¡Wisconsin-­‑Madison ¡

*Carnegie ¡Mellon ¡University ¡

1 ¡

slide-2
SLIDE 2

Evolu;on ¡of ¡Transport ¡Protocols ¡

Network ¡(IP) ¡ Transport ¡ Reliability/Loss ¡recovery ¡ In-­‑order ¡delivery ¡ Flow ¡control ¡ Conges;on ¡control ¡ ¡

2 ¡

slide-3
SLIDE 3

Evolu;on ¡of ¡Transport ¡Protocols ¡

Mul;path ¡ Transport ¡ Quality ¡of ¡Experience ¡ (QoE) ¡

3 ¡

slide-4
SLIDE 4

Evolu;on ¡of ¡Transport ¡Protocols ¡

Mul;path ¡ Transport ¡ Quality ¡of ¡Experience ¡ (QoE) ¡ Support ¡for ¡diversity: ¡ Mul;-­‑homing, ¡mul;ple ¡paths, ¡ mul;ple ¡sub-­‑streams, ¡ mul;media ¡streaming, ¡ Web ¡applica;ons, ¡ Data ¡transfer ¡with ¡a ¡deadline ¡

4 ¡

slide-5
SLIDE 5

Evolu;on ¡of ¡Transport ¡Protocols ¡

Transport ¡ Reliability/Loss ¡recovery ¡ In-­‑order ¡delivery ¡ Flow ¡control ¡ Conges;on ¡control ¡ ¡ Conges:on ¡control ¡ ¡

5 ¡

slide-6
SLIDE 6

Evolu;on ¡of ¡Transport ¡Protocols ¡

Conges:on ¡control ¡ ¡ Transport ¡

Resource ¡Alloca;on ¡

Fairness ¡and ¡efficiency ¡

Coordina:on ¡

6 ¡

slide-7
SLIDE 7

Problems ¡in ¡Suppor;ng ¡Diversity ¡ ¡ in ¡Conges;on ¡Control ¡ ¡

Cannot ¡ensure ¡coexistence. ¡

RCP ¡ TCP ¡ D3 ¡

¡[sigcomm] ¡

XCP ¡

[sigcomm] ¡

7 ¡

slide-8
SLIDE 8

Evolu;on ¡of ¡TCP ¡

SACK ¡ ¡(1996) ¡

NewReno ¡(1999) ¡ ¡

MulTCP ¡ Explicit ¡Conges;on ¡No;fica;on ¡ TCP ¡Nice ¡ FastTCP ¡ TCP ¡window-­‑ scaling, ¡1988 ¡ TCP ¡BIC, ¡CUBIC ¡2008 ¡ MPTCP ¡

2010 ¡

TCP ¡Friendly ¡ Rate ¡Control ¡

  • 1. End-­‑point ¡flexibility: ¡Purely ¡end-­‑point ¡based ¡
  • 2. Coexistence: ¡Invariant ¡for ¡fairness ¡

¡ ¡ ¡ ¡ (TCP ¡friendliness) ¡

MPTCP ¡ TFRC ¡ NewReno ¡ CUBIC ¡

8 ¡

slide-9
SLIDE 9

End-­‑point ¡based ¡vs. ¡Router-­‑Assisted ¡

9 ¡

High ¡ Flexibility, ¡ Diversity ¡

End-­‑point ¡based ¡[TCP] ¡

High ¡Efficiency ¡

Router-­‑Assisted ¡[XCP, ¡RCP] ¡

Feedback ¡on ¡ network’s ¡state ¡

Can ¡we ¡achieve ¡the ¡ best ¡of ¡both ¡worlds? ¡

slide-10
SLIDE 10

Our ¡Approach ¡

  • 1. ¡Decouple ¡coexistence ¡issues ¡

(fairness ¡and ¡efficiency) ¡from ¡ end-­‑point ¡control ¡ ¡

Flexible ¡ ¡Control ¡ Fairness ¡ ¡ Efficiency ¡

End-­‑host ¡ Network ¡

  • 2. ¡Introduce ¡generic ¡

abstrac;ons ¡for ¡resource ¡ alloca;on. ¡

10 ¡

Network’s ¡state ¡ ¡ (feedback) ¡ End-­‑point’s ¡future ¡ behavior ¡(feed-­‑forward) ¡

slide-11
SLIDE 11

11 ¡

Flow ¡1 ¡

Budget ¡W ¡ ¡

($/sec) ¡

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

¡

Sender ¡ Receiver ¡ Network ¡

... ¡

Flow ¡2 ¡

Flow ¡n ¡

Sender ¡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 Flexibility

1

slide-12
SLIDE 12

12 ¡

Flow ¡1 ¡

Budget ¡W ¡ ¡

($/sec) ¡

Sender ¡ Receiver ¡ Network ¡

... ¡

Flow ¡2 ¡

Flow ¡n ¡

Flow ¡i’s ¡budget ¡wi, ¡ ¡ ¡ ¡ subject ¡to ¡W ¡≥ ¡Σwi ¡

¡

PRICE ¡ ¡ ¡

Decoupling for Flexibility

1

  • 1. ¡Flexibility ¡at ¡the ¡end-­‑points ¡

in ¡how ¡its ¡budget ¡is ¡used. ¡ ¡

  • 2. ¡Flexibility ¡in ¡network ¡

price ¡genera;on. ¡ ¡ Invariant ¡for ¡fairness ¡

slide-13
SLIDE 13
  • Feedback: ¡“conges;on ¡price” ¡reflec;ng ¡the ¡

“cost” ¡of ¡sending ¡data ¡across ¡the ¡link ¡[Kelly] ¡

P1 ¡ P2 ¡ P3 ¡

13 ¡

Feedback: Pricing

2a

Price ¡= ¡p3 ¡ Round ¡Trip ¡Time ¡ Price ¡= ¡p3+p2 ¡ Round ¡Trip ¡Time ¡ Price ¡= ¡p3+p2+p1 ¡ Round ¡Trip ¡Time ¡ Conges;on ¡Header ¡ Conges;on ¡Header ¡ Conges;on ¡Header ¡

slide-14
SLIDE 14
  • Feedback: ¡“conges;on ¡price” ¡reflec;ng ¡the ¡

“cost” ¡of ¡sending ¡data ¡across ¡the ¡link ¡[Kelly] ¡

P1 ¡ P2 ¡ P3 ¡

14 ¡

Feedback: Pricing

2a

Price ¡feedback ¡= ¡ p3+p2+p1 ¡

¡ Price ¡ Echoback ¡

Sender ¡ ¡ updates ¡ the ¡rate. ¡ Rate ¡= ¡budget/price ¡

This ¡implements ¡propor;onal ¡fairness ¡[Kelly]. ¡ ¡

slide-15
SLIDE 15

Price ¡Calcula;on ¡

Router ¡updates ¡the ¡price, ¡upon ¡packet ¡recep;on. ¡

15 ¡

Time ¡ Load ¡ Averaging ¡window ¡= ¡2 ¡x ¡AvgRTT ¡

Feedback: Pricing

2a

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

slide-16
SLIDE 16

Price ¡Calcula;on ¡

Router ¡updates ¡the ¡price, ¡upon ¡packet ¡recep;on. ¡

16 ¡

Time ¡ Instantaneous ¡Incoming ¡budget ¡($) ¡

= ¡ ¡ ¡

Price ¡($/byte) ¡x ¡Bytes ¡Received ¡(bytes) ¡ ¡ Averaging ¡window ¡= ¡2 ¡x ¡AvgRTT ¡

Feedback: Pricing

2a

Incoming ¡budget ¡ Average ¡Incoming ¡Budget ¡ Remaining ¡Link ¡Capacity ¡ Price ¡($/byte) ¡= ¡ ¡

slide-17
SLIDE 17

Price ¡Calcula;on ¡

17 ¡

Time ¡ Instantaneous ¡ ¡ Incoming ¡budget ¡($) ¡ ¡ Average ¡Incoming ¡Budget ¡ Remaining ¡Link ¡Capacity ¡ Price ¡($/byte) ¡= ¡ ¡

Feedback: Pricing

2a

price(t − rtt)⋅size⋅dt

New ¡Price ¡ Round ¡Trip ¡Time ¡(rq) ¡

Incoming ¡budget ¡ ¡I(t)= ¡

price(t −rtt)bytes(t)dt

price(t)

Router ¡stores ¡recent ¡history ¡of ¡price, ¡

slide-18
SLIDE 18

Feed-forward: Preloading

2b

1 ¡($/sec) ¡ à ¡10 ¡($/sec) ¡ Sender ¡

PRICE ¡ ¡ ¡

Price: ¡p ¡$/byte ¡ Rate ¡= ¡1/p ¡Bps ¡ Rate ¡= ¡10/p ¡Bps ¡

18 ¡

slide-19
SLIDE 19

Feed-forward: Preloading

2b

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-­‑rq) ¡x ¡bytes ¡

Incoming ¡budget ¡($) ¡

Price ¡goes ¡up ¡(from ¡p ¡to ¡p’) ¡

Conges;on ¡Header ¡

19 ¡

slide-20
SLIDE 20

Evalua;on ¡

20 ¡

Flow ¡1 ¡

Budget ¡W ¡ ¡

($/sec) ¡

... ¡

Flow ¡2 ¡

Flow ¡n ¡ PRICE ¡ ¡ ¡

  • 3. ¡Flexibility ¡in ¡network ¡

price ¡genera;on. ¡ ¡

  • 2. ¡End-­‑point ¡budget ¡ ¡

alloca;on. ¡ ¡

  • 1. ¡Basic ¡performance ¡of ¡FCP ¡
slide-21
SLIDE 21

20 40 60 80 100 2 4 6 8 10 12 14

Fast ¡Convergence/Accurate ¡Feedback ¡ ¡

21 ¡

Sending ¡Rate ¡(Mbps) ¡ Time ¡

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

slide-22
SLIDE 22

Fast ¡Convergence/Accurate ¡Feedback ¡ ¡

22 ¡

Sending ¡Rate ¡(Mbps) ¡ Time ¡

Ideal ¡

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

20 40 60 80 100 2 4 6 8 10 12 14

slide-23
SLIDE 23

Fast ¡Convergence/Accurate ¡Feedback ¡ ¡

23 ¡

Sending ¡Rate ¡(Mbps) ¡ Time ¡

Ideal ¡

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

20 40 60 80 100 2 4 6 8 10 12 14

slide-24
SLIDE 24

Fast ¡Convergence/Accurate ¡Feedback ¡ ¡

24 ¡

Sending ¡Rate ¡(Mbps) ¡ Time ¡

Ideal ¡

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

20 40 60 80 100 2 4 6 8 10 12 14

slide-25
SLIDE 25

Fast ¡Convergence/Accurate ¡Feedback ¡ ¡

25 ¡

Sending ¡Rate ¡(Mbps) ¡ Time ¡

Ideal ¡

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

20 40 60 80 100 2 4 6 8 10 12 14

slide-26
SLIDE 26

Fast ¡Convergence/Accurate ¡Feedback ¡ ¡

26 ¡

Sending ¡Rate ¡(Mbps) ¡ Time ¡

Ideal ¡

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

20 40 60 80 100 2 4 6 8 10 12 14

slide-27
SLIDE 27

Fast ¡Convergence/Accurate ¡Feedback ¡ ¡

27 ¡

                                          

Time ¡

FCP ¡ Ideal ¡

Sending ¡Rate ¡(Mbps) ¡ Sending ¡Rate ¡(Mbps) ¡

20 40 60 80 100 2 4 6 8 10 12 14

slide-28
SLIDE 28

Fast ¡Convergence/Accurate ¡Feedback ¡ ¡

28 ¡

                                                                                     

Time ¡

FCP ¡ RCP ¡ Ideal ¡

Sending ¡Rate ¡(Mbps) ¡ Sending ¡Rate ¡(Mbps) ¡ Sending ¡Rate ¡(Mbps) ¡ Overloaded ¡when ¡ new ¡flows ¡arrive ¡

20 40 60 80 100 2 4 6 8 10 12 14

slide-29
SLIDE 29

Fast ¡Convergence/Accurate ¡Feedback ¡ ¡

29 ¡

                                                                                                                                

¡Fairness ¡AIMD ¡ Time ¡

FCP ¡ RCP ¡ XCP ¡ Ideal ¡

Sending ¡Rate ¡(Mbps) ¡ Sending ¡Rate ¡(Mbps) ¡ Sending ¡Rate ¡(Mbps) ¡ Sending ¡Rate ¡(Mbps) ¡ Overloaded ¡when ¡ new ¡flows ¡arrive ¡

20 40 60 80 100 2 4 6 8 10 12 14

slide-30
SLIDE 30

Faster ¡Convergence/Accurate ¡Feedback ¡ ¡

30 ¡

                                                                                                                                

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 ¡
  • ­‑ ¡Effec;veness ¡of ¡preloading ¡
  • ­‑ ¡Overhead ¡of ¡price ¡calcula;on ¡
slide-31
SLIDE 31

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 ¡link ¡ 200 ¡Mbps ¡links ¡

Top ¡flow ¡ Btm ¡flow ¡

31 ¡

slide-32
SLIDE 32

Budget ¡alloca;on ¡is ¡up ¡to ¡end-­‑points ¡ ¡ ¡

32 ¡

40 80 120 160 0.5 1 1.5 2

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

Total ¡ ¡

slide-33
SLIDE 33

40 80 120 160 0.5 1 1.5 2

Budget ¡alloca;on ¡is ¡up ¡to ¡end-­‑points ¡ ¡ ¡

33 ¡

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

Total ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡Top ¡flow ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡Boqom ¡flow ¡ ¡

Max-­‑throughput ¡ Equal-­‑throughput ¡ Equal-­‑budget ¡

slide-34
SLIDE 34

              

End-­‑point ¡Diversity: ¡Background ¡flows ¡

34 ¡

Non-­‑boqleneck ¡ Link ¡capacity: ¡200Mbps ¡ 100Mbps ¡ 50Mbps ¡

Flow1 ¡

Flow2 ¡(Background) ¡ Flow3 ¡

Flow0 ¡

Link ¡latency: ¡3ms ¡

Flow2 ¡(Background) ¡

slide-35
SLIDE 35

Diversity ¡in ¡Network ¡Pricing ¡

  • FCP ¡can ¡also ¡support ¡diverse ¡behaviors ¡in ¡

network ¡price ¡genera;on. ¡

  • Examples ¡(in ¡the ¡paper) ¡

– Deadline ¡support ¡[D3 ¡SIGCOMM ¡11] ¡ – Aggregate ¡resource ¡alloca;on ¡in ¡a ¡mul;-­‑tenant ¡ data-­‑center ¡ – Stable ¡bandwidth ¡alloca;on ¡for ¡streaming ¡ – Mul;cast ¡conges;on ¡control ¡

35 ¡

slide-36
SLIDE 36

Deadline ¡Support ¡[D3 ¡SIGCOMM ¡11] ¡

36 ¡

Deadline ¡Queue ¡ Best ¡Effort ¡Queue ¡

Price ¡ Time ¡ Constant ¡Pricing ¡

Preload ¡ ¡ ¡

Price ¡ Time ¡ Variable ¡Pricing ¡ Deadline ¡flows ¡ ¡ preload ¡to ¡specify ¡ ¡ the ¡desired ¡rate ¡ Average ¡Incoming ¡Budget ¡ Remaining ¡Link ¡Capacity ¡ Price ¡($/byte) ¡= ¡ ¡

slide-37
SLIDE 37

              

Differen;al ¡Pricing ¡for ¡Deadline ¡Support ¡

Constant ¡Pricing ¡for ¡ Deadline ¡Flows ¡

¡ Price ¡ ¡ Price ¡

Constant ¡Pricing ¡for ¡ Deadline ¡Flows ¡ Variable ¡Pricing ¡ for ¡BE ¡flows ¡

37 ¡

slide-38
SLIDE 38

              

             

Differen;al ¡Pricing ¡for ¡Deadline ¡Support ¡

38 ¡

Dead ¡flows ¡ ¡ Rejected/BE ¡flows ¡ Best ¡effort ¡(BE) ¡

¡ Price ¡

Constant ¡Pricing ¡for ¡ Deadline ¡Flows ¡ Variable ¡Pricing ¡ for ¡BE ¡flows ¡

Price ¡ increase ¡

slide-39
SLIDE 39

Conclusion ¡

  • FCP ¡accommodates ¡diverse ¡behaviors ¡in ¡

resource ¡alloca;on ¡while ¡u;lizing ¡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 ¡alloca;on. ¡ ¡

39 ¡