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 ¡
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
*Carnegie ¡Mellon ¡University ¡
1 ¡
2 ¡
3 ¡
4 ¡
5 ¡
6 ¡
¡[sigcomm] ¡
7 ¡
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 ¡
8 ¡
9 ¡
10 ¡
11 ¡
Flow ¡1 ¡
($/sec) ¡
¡
Flow ¡2 ¡
Flow ¡n ¡
¡
PRICE ¡ ¡ ¡
12 ¡
Flow ¡1 ¡
($/sec) ¡
Flow ¡2 ¡
Flow ¡n ¡
¡
PRICE ¡ ¡ ¡
P1 ¡ P2 ¡ P3 ¡
13 ¡
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 ¡
P1 ¡ P2 ¡ P3 ¡
14 ¡
Price ¡feedback ¡= ¡ p3+p2+p1 ¡
15 ¡
16 ¡
17 ¡
New ¡Price ¡ Round ¡Trip ¡Time ¡(rq) ¡
PRICE ¡ ¡ ¡
18 ¡
Price ¡ Round ¡Trip ¡Time ¡ Preload=9 ¡ Price ¡ Round ¡Trip ¡Time ¡ Preload=9 ¡
Incoming ¡budget ¡($) ¡
Conges;on ¡Header ¡
19 ¡
20 ¡
Flow ¡1 ¡
($/sec) ¡
Flow ¡2 ¡
Flow ¡n ¡ PRICE ¡ ¡ ¡
20 40 60 80 100 2 4 6 8 10 12 14
21 ¡
Sending ¡Rate ¡(Mbps) ¡ Time ¡
RTT ¡= ¡{25ms, ¡50ms, ¡125ms, ¡250ms, ¡625ms ¡} ¡
22 ¡
Sending ¡Rate ¡(Mbps) ¡ Time ¡
RTT ¡= ¡{25ms, ¡50ms, ¡125ms, ¡250ms, ¡625ms ¡} ¡
20 40 60 80 100 2 4 6 8 10 12 14
23 ¡
Sending ¡Rate ¡(Mbps) ¡ Time ¡
RTT ¡= ¡{25ms, ¡50ms, ¡125ms, ¡250ms, ¡625ms ¡} ¡
20 40 60 80 100 2 4 6 8 10 12 14
24 ¡
Sending ¡Rate ¡(Mbps) ¡ Time ¡
RTT ¡= ¡{25ms, ¡50ms, ¡125ms, ¡250ms, ¡625ms ¡} ¡
20 40 60 80 100 2 4 6 8 10 12 14
25 ¡
Sending ¡Rate ¡(Mbps) ¡ Time ¡
RTT ¡= ¡{25ms, ¡50ms, ¡125ms, ¡250ms, ¡625ms ¡} ¡
20 40 60 80 100 2 4 6 8 10 12 14
26 ¡
Sending ¡Rate ¡(Mbps) ¡ Time ¡
RTT ¡= ¡{25ms, ¡50ms, ¡125ms, ¡250ms, ¡625ms ¡} ¡
20 40 60 80 100 2 4 6 8 10 12 14
27 ¡
Time ¡
Sending ¡Rate ¡(Mbps) ¡ Sending ¡Rate ¡(Mbps) ¡
20 40 60 80 100 2 4 6 8 10 12 14
28 ¡
Time ¡
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
29 ¡
¡Fairness ¡AIMD ¡ Time ¡
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
30 ¡
100Mbps ¡
Slower, ¡inaccurate ¡
Fairness ¡AIMD ¡
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 ¡
32 ¡
33 ¡
34 ¡
Non-‑boqleneck ¡ Link ¡capacity: ¡200Mbps ¡ 100Mbps ¡ 50Mbps ¡
Flow2 ¡(Background) ¡ Flow3 ¡
Link ¡latency: ¡3ms ¡
Flow2 ¡(Background) ¡
35 ¡
36 ¡
Preload ¡ ¡ ¡
Constant ¡Pricing ¡for ¡ Deadline ¡Flows ¡
Constant ¡Pricing ¡for ¡ Deadline ¡Flows ¡ Variable ¡Pricing ¡ for ¡BE ¡flows ¡
37 ¡
38 ¡
Dead ¡flows ¡ ¡ Rejected/BE ¡flows ¡ Best ¡effort ¡(BE) ¡
Constant ¡Pricing ¡for ¡ Deadline ¡Flows ¡ Variable ¡Pricing ¡ for ¡BE ¡flows ¡
39 ¡