BUFFERDeBLOAT
A SURVEY OF DIFFERENT WAYS TO COUNTER-BUFFERBLOAT
BUFFERDeBLOAT A SURVEY OF DIFFERENT WAYS TO COUNTER-BUFFERBLOAT - - PowerPoint PPT Presentation
BUFFERDeBLOAT A SURVEY OF DIFFERENT WAYS TO COUNTER-BUFFERBLOAT Problem Problem Problem Simulation Setup Result Analysis Suggestion Bufferbloat is the existence of excessively large (bloated) buffers in systems, AFFECTED
A SURVEY OF DIFFERENT WAYS TO COUNTER-BUFFERBLOAT
Problem Simulation Setup Result Analysis Suggestion
Bufferbloat is the existence
buffers in systems, particularly network communication systems.
High latency and jitter Reduce throughput Hard to detect Larger buffer trend
VoIP Gaming Video chat +
Problem
Problem Simulation Setup Result Analysis Suggestion
Previous study shows that the combination of solutions at router and end-to-end doesnβt work as supposed.
Avoid congestion Avoid global synchronization
Saturate the bottleneck Keep / add low delay Response fast to congestion Yield quickly to TCP flows +
Problem
Problem Simulation Setup Result Analysis Suggestion
Use extensive parameters Avoid most uncertainties Output evaluation matrix Plot intuitive graphs
Who are influential factors What are their impact When do they matter How they interact Why they cause problem Avoid configuration traps Choose better parameters Advise on future design
Simulation
Problem Simulation Setup Result Analysis Suggestion
Bottleneck link efficiency Ξ· = π¦π/π·
π
LINUX NS2.33 PYTHON VEUSZ F A I R DROP L E F F TCP% QLEN TCP breakdown ππ·π% = π¦π/
πβππ·π
π¦π
π
Average queue length π = ππ€π(ππππ‘π’) Jain fairness index πΊ = π¦π
π 2/ π β π¦π2 π
Packet drop rate πΈππ% = ππ/
πβπΈπππ
ππ
π Setup
Problem Simulation Setup Result Analysis Suggestion
DropTail RED CHOKe DRR SFQ CoDel AQM 10% ~ (+10%) ~ 100% TCP-Reno Ledbat TCP-LP TCP-NICE (pkts/Mbps) TIME: 60s FLOW: 5 Reno + 5 CCP RUN: 10 6ms * 5 2ms 4ms 6ms 8ms 10ms C C P WLD B U F C A P D E L F I X 0.25 0.5 1 2 4 6 8 10 100 200 300 400
Setup
Problem Simulation Setup Result Analysis Suggestion
F A I R DROP L E F F TCP% QLEN
AQM C C P DropTail RED SFQ CoDel TCP-Reno Ledbat
0.00% 1.00% 2.00% 3.00% 4.00% 5.00% 6.00% 7.00% 8.00% 9.00% 50 100 150 200 250 300 350 0.25 0.5 1 2 4 6 8 10 DROP QLEN CAP BUF=100 BUF=200 BUF=300 BUF=400 BUF=100 BUF=200 BUF=300 BUF=400
BUF and QLEN is positive correlated. Low CAP limit QLEN. CAP and DROP is negative correlated.
Result
Problem Simulation Setup Result Analysis Suggestion
F A I R DROP L E F F TCP% QLEN
AQM C C P DropTail RED SFQ CoDel TCP-Reno Ledbat
CAP and QLEN/DROP is negative correlated. CAP and FAIR is positive correlated.
0.00% 20.00% 40.00% 60.00% 80.00% 100.00% 120.00% 0.00 1.00 2.00 3.00 4.00 5.00 6.00 0.25 0.5 1 2 4 6 8 10 DROP/FAIR QLEN CAP QLEN DROP FAIR Result
Problem Simulation Setup Result Analysis Suggestion
F A I R DROP L E F F TCP% QLEN
AQM C C P DropTail RED SFQ CoDel TCP-Reno Ledbat
QLEN/DROP is same as DropTail+TCP-Reno. CAP and TCP% is positive correlated. CAP and FAIR is negative correlated.
0.00% 10.00% 20.00% 30.00% 40.00% 50.00% 60.00% 70.00% 80.00% 90.00% 100.00% 0.25 0.5 1 2 4 6 8 10 TCP%/FAIR CAP TCP% FAIR Result
Problem Simulation Setup Result Analysis Suggestion
F A I R DROP L E F F TCP% QLEN
AQM C C P DropTail RED SFQ CoDel TCP-Reno Ledbat
DROP is same as RED+TCP-Reno. QLEN of CoDel is opposite to other AQM. Trends of TCP% and FAIR are opposite.
0.00% 10.00% 20.00% 30.00% 40.00% 50.00% 60.00% 70.00% 80.00% 90.00% 100.00% 0.00 5.00 10.00 15.00 20.00 25.00 0.25 0.5 1 2 4 6 8 10 TCP%/FAIR QLEN CAP QLEN_RED QLEN_SFQ QLEN_CoDel TCP%_RED FAIR_RED TCP%_SFQ FAIR_SFQ TCP%_CoDel FAIR_CoDel Result
Problem Simulation Setup Result Analysis Suggestion
F A I R QLEN DROP
AQM eliminate the impact of BUF. CAP and QLEN/DROP is negative correlated. AQM/CCP has combined impact on TCP%/FAIR.
C A P B U F DROP C A P QLEN QLEN DROP C A P B U F F A I R TCP% DROP C A P QLEN F A I R TCP% C C P AQM F A I R DROP L E F F TCP% QLEN
We choose 400pkts / 4Mbps for further experiment to ensure a stable state and reasonable bufferbloat.
Result
Problem Simulation Setup Result Analysis Suggestion 0.00% 10.00% 20.00% 30.00% 40.00% 50.00% 60.00% 70.00% 80.00% 90.00% 100.00% 0.00 5.00 10.00 15.00 20.00 25.00 RED CHOKE DRR SFQ CoDel TCP%/FAIR/DROP QLEN QLEN TCP% FAIR DROP
F A I R DROP L E F F TCP% QLEN
AQM DropTail RED CHOKe DRR SFQ CoDel
AQM force TCP and Ledbat into same priority. QLEN is decided by each AQMβs setting. AQM-CoDel has a higher TCP%.
Result
Problem Simulation Setup Result Analysis Suggestion
F A I R DROP L E F F TCP% QLEN
AQM DropTail RED CHOKe DRR SFQ CoDel
AQM-DRR has a noticeable lower fairness. AQM-SFQ has perfect inter/intra fairness. AQM-CoDel has perfect intra fairness.
FAIR FAIR_TCP FAIR_CCP DropTail RED CHOKe DRR SFQ CoDel Result
Problem Simulation Setup Result Analysis Suggestion DROP DROP_TCP DROP_CCP DropTail RED CHOKe DRR SFQ CoDel
F A I R DROP L E F F TCP% QLEN
AQM DropTail RED CHOKe DRR SFQ CoDel
AQM-SFQ has a high DROP_TCP/DROP_CCP. AQM-CHOKe/DRR behave similar. AQM-RED/CoDel/DropTail behave similar.
Result
Problem Simulation Setup Result Analysis Suggestion
TCP% and FAIR is closely related. QLEN at this level have no bufferbloat effect. Use a simple addition score system to value.
LEFF TCP% QLEN FAIR F_TCP F_CCP DROP D_TCP D_CCP DropTail 99.69% 98.24% 305.16 50.45% 97.41% 99.96% 2.20% 2.22% 2.86% RED 98.32% 57.29% 3.92 97.34% 99.44% 99.44% 8.77% 9.15% 8.30% CHOKE 98.17% 52.55% 5.68 99.23% 99.59% 99.49% 10.98% 13.97% 7.42% DRR 99.69% 54.05% 13.74 90.25% 97.24% 83.27% 5.15% 7.63% 3.44% SFQ 99.69% 53.21% 21.64 99.55% 99.99% 99.93% 2.81% 5.14% 0.01% CoDel 99.01% 63.50% 7.45 92.55% 99.26% 99.53% 7.02% 7.27% 6.66%
RED CHOKE DRR SFQ CoDel F_TCP + F_CCP 198.88% 2 199.08% 2 180.51% 5 199.93% 1 198.79% 2 TCP% 2 3 3 3 1 D_TCP/D_CCP 1.10 4 1.88 3 2.22 2 424.05 1 1.09 4 Score 8 8 10 5 7
F A I R DROP L E F F TCP% QLEN
We think AQM-SFQ has an a brief advantage in
Result
Problem Simulation Setup Result Analysis Suggestion 0.00% 10.00% 20.00% 30.00% 40.00% 50.00% 60.00% 70.00% 80.00% 90.00% 100.00% Ledbat TCP-LP TCP-NICE TCP%/FAIR/DROP TCP%_RED TCP%_CHOKe TCP%_DRR TCP%_SFQ TCP%_CoDel FAIR_RED FAIR_CHOKe FAIR_DRR FAIR_SFQ FAIR_CoDel DROP_RED DROP_CHOKe DROP_DRR DROP_SFQ DROP_CoDel
F A I R DROP L E F F TCP% QLEN
AQM DropTail RED CHOKe DRR SFQ CoDel
CCP-TCP-LP has a little higher TCP%. (* but lower LEFF under AQM-RED/CHOKe.) (* but lower F_CCP under even AQM-DropTail.)
Result
Problem Simulation Setup Result Analysis Suggestion
F A I R DROP L E F F TCP% QLEN
AQM DropTail RED CHOKe DRR SFQ CoDel
With SFQ, value tuple is (424.05, 1.29, 85.52). CCP-Ledbat penalizes more on TCP flows.
0.00 0.50 1.00 1.50 2.00 2.50 3.00 3.50 Ledbat TCP-LP TCP-NICE {D_TCP / D_CCP} DropTail RED CHOKe DRR CoDel
We think CCP-Ledbat has an a brief advantage in
Result
Problem Simulation Setup Result Analysis Suggestion 0.00% 10.00% 20.00% 30.00% 40.00% 50.00% 60.00% 70.00% 80.00% 90.00% 100.00% 0.00 5.00 10.00 15.00 20.00 25.00 1 2 3 4 5 6 7 8 9 10 LEFF QLEN QLEN_RED QLEN_CHOKe QLEN_DRR QLEN_SFQ QLEN_CoDel LEFF_RED LEFF_CHOKe LEFF_DRR LEFF_SFQ LEFF_CoDel
F A I R DROP L E F F TCP% QLEN
AQM DropTail RED CHOKe DRR SFQ CoDel
LEFF/QLEN and WLD is positive correlated. AQM-RED/CHOKe has more βstableβ QLEN. AQM-DRR/SFQ has higher LEFF.
Result
Problem Simulation Setup Result Analysis Suggestion
F A I R DROP L E F F TCP% QLEN
AQM DropTail RED CHOKe DRR SFQ CoDel
DROP and WLD is positive correlated. Trends of TCP% and FAIR are opposite.
0.00% 10.00% 20.00% 30.00% 40.00% 50.00% 60.00% 70.00% 80.00% 90.00% 100.00% 1 2 3 4 5 6 7 8 9 10 TCP%/FAIR/DROP TCP%_RED TCP%_CHOKe TCP%_DRR TCP%_SFQ TCP%_CoDel FAIR_RED FAIR_CHOKe FAIR_DRR FAIR_SFQ FAIR_CoDel DROP_RED DROP_CHOKe DROP_DRR DROP_SFQ DROP_CoDel Result
Problem Simulation Setup Result Analysis Suggestion
F A I R DROP L E F F TCP% QLEN
AQM DropTail RED CHOKe DRR SFQ CoDel
WLD has an impact on intra-protocol fairness. AQM-DRR has higher F_TCP under most WLD.
70.00% 75.00% 80.00% 85.00% 90.00% 95.00% 100.00% 70.00% 75.00% 80.00% 85.00% 90.00% 95.00% 100.00% F_CCP F_TCP RED CHOKe DRR SFQ CoDel Result
Problem Simulation Setup Result Analysis Suggestion
F A I R DROP L E F F TCP% QLEN
AQM DropTail RED CHOKe DRR SFQ CoDel
AQM-RED/CHOKe/CoDel keeps good intra- protocol fairness.
96.00% 96.50% 97.00% 97.50% 98.00% 98.50% 99.00% 99.50% 100.00% 96.00% 97.00% 98.00% 99.00% 100.00% F_CCP F_TCP RED CHOKe DRR SFQ CoDel Linear (RED) Linear (CHOKe) Linear (SFQ) Linear (CoDel) Result
Problem Simulation Setup Result Analysis Suggestion
F A I R DROP L E F F TCP% QLEN
AQM DropTail RED CHOKe DRR SFQ CoDel
Under all AQM/WLD, TCP is more penalized.
0.00% 3.00% 6.00% 9.00% 12.00% 15.00% 0.00% 3.00% 6.00% 9.00% 12.00% 15.00% D_CCP D_TCP RED CHOKe DRR SFQ CoDel
We think WLD (>60%) doesnβt have a big impact on
Result
Problem Simulation Setup Result Analysis Suggestion
F A I R DROP L E F F TCP% QLEN
AQM DropTail RED CHOKe DRR SFQ CoDel
DEL makes TCP%/QLEN higher. DEL makes LEFF/FAIR/DROP lower.
0.00% 5.00% 10.00% LEFF TCP% FAIR F_TCP F_CC DROP D_TCP D_CCP RED CHOKe DRR SFQ CoDel
We think DEL has a consistent negative impact on
situation.
Result
Problem Simulation Setup Result Analysis Suggestion
Analysis
Easy to deploy Flexible to tweak Limited improvement Based on estimation Limited computing resource Slow to adoption Real-time info available Able to fine control AQM canβt know the different priority of TCP and CCP CCP canβt know the network situation is due to AQM or TCP
Problem Simulation Setup Result Analysis Suggestion
Suggestion
Choose AQM that performs better in heterogeneous delay environment. Implement explicit low-priority indicator in CCP to notify AQM. Coexistence of different AQM on a path may arise problem. Possibility of misusing the explicit priority indicator.