NADA ¡Algorithm ¡Update ¡ ¡ and ¡Test ¡Case ¡Evalua9ons ¡ dra:-‑zhu-‑rmcat-‑nada ¡ ¡ Xiaoqing ¡Zhu, ¡Rong ¡Pan, ¡Michael ¡Ramalho, ¡Sergio ¡Mena, ¡ Charles ¡Ganzhorn, ¡Paul ¡Jones, ¡and ¡Stefano ¡D’Aronco ¡ ¡ IETF ¡91, ¡Honolulu, ¡Hawaii, ¡USA ¡ 2014-‑11-‑09 ¡
Outline ¡ • Revised ¡algorithm ¡ – TCP ¡co-‑existence ¡ – Accelerated ¡ramp-‑up ¡ • Simula9on-‑based ¡test ¡case ¡evalua9on ¡ • Testbed ¡results ¡ 11/7/14 ¡ dra:-‑zhu-‑rmcat-‑nada ¡ 2 ¡
Issues ¡with ¡Currently ¡Documented ¡Algorithm ¡ (as ¡in ¡dra:-‑zhu-‑rmcat-‑nada-‑04) ¡ • Slow ¡ramp-‑up ¡at ¡start ¡up ¡ ¡ • Ignored ¡loss/marking ¡informa9on ¡ • Lack ¡of ¡TCP ¡coexistence ¡ 11/7/14 ¡ dra:-‑zhu-‑rmcat-‑nada ¡ 3 ¡
Revised ¡Receiver ¡Behavior ¡ Non-‑linear ¡ warping ¡ Calculate ¡ aggregate ¡conges9on ¡ Queuing ¡ Warped ¡ signal ¡and ¡its ¡deriva9ve: ¡ ¡ delay ¡ delay ¡ ˜ d n d n Delay ¡weight ¡ Delay ¡weight ¡ Packet ¡ for ¡marking ¡ for ¡loss ¡ marking ¡ra9o ¡ p M x n = ˜ d n + p M d M + p L d L Packet ¡ loss ¡ra9o ¡ p L n = x n − x n � k x 0 Receiving ¡ δ rate ¡ ACK ¡interval ¡ r R
Non-‑linear ¡Warping ¡of ¡Delay ¡ ˜ d n Delay-‑based ¡ Loss/Marking-‑based ¡ d th Warped ¡delay ¡ d n = d th ( d max − d n ˜ ) 4 d max − d th d th d max Observed ¡queuing ¡delay ¡ d n [Budzisz ¡et ¡al. ¡ToN ¡2011] ¡
Revised ¡Sender ¡Behavior ¡ Accelerated ¡Ramp-‑Up ¡ Bound ¡on ¡ delay ¡spike ¡ T th γ = min[ γ 0 , RTT + δ ] R n = (1 + γ ) r R Empty ¡ Reported ¡ Queue? ¡ ¡ receive ¡rate ¡ Gradual ¡Update ¡ θ = w ( R max − R min ) x ref R n ← R n + κδ ( θ − ( R n − R min )( x n + ητ o x 0 n )) τ 2 o 11/7/14 ¡ dra:-‑zhu-‑rmcat-‑nada ¡ 6 ¡
RTT-‑Aware ¡Accelerated ¡Ramp-‑Up ¡ R 2 = (1 + γ ) R 1 ≈ (1 + γ ) C C Rate ¡ Earliest ¡ R 1 ≈ C feedback ¡ d q ≈ γ ( RTT + δ ) < T th Queuing ¡ Delay ¡ T th γ < RTT + δ t t + RTT + δ Time ¡ 11/7/14 ¡ dra:-‑zhu-‑rmcat-‑nada ¡ 7 ¡
List ¡of ¡Test ¡Cases ¡ • Variable ¡Available ¡Capacity ¡w/ ¡Single ¡RMCAT ¡Flow ¡ • Variable ¡Available ¡Capacity ¡w/ ¡Mul9ple ¡RMCAT ¡Flows ¡ • Congested ¡Feedback ¡Link ¡w/ ¡Bidirec9onal ¡Flows ¡ • Compe9ng ¡Flows ¡with ¡same ¡RMCAT ¡Algorithm ¡ • Round ¡Trip ¡Time ¡Fairness ¡ • RMCAT ¡Flow ¡Compe9ng ¡with ¡a ¡Long-‑Live ¡TCP ¡Flow ¡ • RMCAT ¡Flow ¡Compe9ng ¡with ¡Short ¡TCP ¡Flows ¡ • Media ¡Pause ¡and ¡Resume ¡ Default ¡Se,ngs ¡ Path ¡propaga9on ¡delay: ¡ ¡50ms ¡ Bogleneck ¡queue ¡depth: ¡ ¡~ ¡300ms ¡
Default ¡Algorithm ¡Parameters ¡ • ACK ¡interval: ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ δ 0 = 100 ms • MTU ¡size: ¡ ¡ ¡1000 ¡bytes ¡ • Rate ¡range: ¡ ¡ ¡150 ¡Kbps ¡~ ¡1.5 ¡Mbps ¡ • Scaling ¡parameters: ¡ ¡ κ = 1 . 0 , η = 2 . 0 • Upper ¡bound ¡on ¡RTT: ¡ τ o = 500 ms • Reference ¡delay: ¡ ¡ x ref = 10 ms • Delay ¡warping: ¡ d th = 50 ms , d max = 400 ms • Delay ¡weights: ¡ ¡ ¡ d M = 200 ms , d P = 1 . 0 s • Accelerated ¡ramp-‑up: ¡ ¡ T th = 50 ms , γ 0 = 0 . 5 11/7/14 ¡ dra:-‑zhu-‑rmcat-‑nada ¡ 9 ¡
Variable ¡Available ¡Capacity ¡w/ ¡Single ¡RMCAT ¡Flow ¡ 11/7/14 ¡ dra:-‑zhu-‑rmcat-‑nada ¡ 10 ¡
Variable ¡Available ¡Capacity ¡w/ ¡Single ¡RMCAT ¡Flow ¡ (Zoom-‑In ¡View) ¡ 11/7/14 ¡ dra:-‑zhu-‑rmcat-‑nada ¡ 11 ¡
Variable ¡Available ¡Capacity ¡w/ ¡Mul9ple ¡RMCAT ¡Flows ¡ 11/7/14 ¡ dra:-‑zhu-‑rmcat-‑nada ¡ 12 ¡
Variable ¡Available ¡Capacity ¡w/ ¡Mul9ple ¡RMCAT ¡Flows ¡ (Zoom-‑In ¡View) ¡ 11/7/14 ¡ dra:-‑zhu-‑rmcat-‑nada ¡ 13 ¡
Congested ¡Feedback ¡w/ ¡Bi-‑direc9onal ¡RMCAT ¡Flows: ¡ Forward ¡Direc9on ¡ ¡ 11/7/14 ¡ dra:-‑zhu-‑rmcat-‑nada ¡ 14 ¡
Congested ¡Feedback ¡w/ ¡Bi-‑direc9onal ¡RMCAT ¡Flows: ¡ Backward ¡Direc9on ¡ ¡ 11/7/14 ¡ dra:-‑zhu-‑rmcat-‑nada ¡ 15 ¡
Congested ¡Feedback ¡w/ ¡TCP ¡Backward ¡Traffic ¡ TCP ¡flow ¡along ¡ backward ¡path ¡ 11/7/14 ¡ dra:-‑zhu-‑rmcat-‑nada ¡ 16 ¡
Compe9ng ¡Flows ¡w/ ¡Same ¡RMCAT ¡Algorithm ¡ 11/7/14 ¡ 17 ¡
Compe9ng ¡Flows ¡w/ ¡Same ¡RMCAT ¡Algorithm ¡ Per-‑Flow ¡Rate ¡and ¡Delay ¡Sta9s9cs ¡ 11/7/14 ¡ 18 ¡
Compe9ng ¡Flows ¡w/ ¡Same ¡RMCAT ¡Algorithm ¡ Varying ¡Path ¡Propaga9on ¡Delay ¡ Late-‑comer’s ¡ ¡ advantage ¡ Increased ¡oscilla9on ¡ 11/7/14 ¡ 19 ¡
Round ¡Trip ¡Time ¡Fairness ¡ 11/7/14 ¡ 20 ¡
Round ¡Trip ¡Time ¡Fairness ¡ Per-‑Flow ¡Rate ¡and ¡Delay ¡Sta9s9cs ¡ Jain’s ¡Fairness ¡Index: ¡0.9984 ¡ ¡ ¡ 0.81 ¡ 0.85 ¡ 0.80 ¡ 0.76 ¡ 0.77 ¡ 20.55 ¡ 19.39 ¡ 20.90 ¡ 21.89 ¡ 21.21 ¡ 11/7/14 ¡ 21 ¡
RMCAT ¡Flow ¡compe9ng ¡w/ ¡a ¡Long ¡TCP ¡Flow ¡ Queue ¡Depth ¡= ¡240ms ¡ 11/7/14 ¡ 22 ¡
RMCAT ¡Flow ¡compe9ng ¡w/ ¡a ¡Long ¡TCP ¡Flow: ¡ Varying ¡Bogleneck ¡Queue ¡Depth ¡ 11/7/14 ¡ dra:-‑zhu-‑rmcat-‑nada ¡ 23 ¡
RMCAT ¡Flow ¡compe9ng ¡w/ ¡a ¡Long ¡TCP ¡Flow: ¡ Varying ¡Path ¡Propaga9on ¡Delay ¡ 11/7/14 ¡ dra:-‑zhu-‑rmcat-‑nada ¡ 24 ¡
RMCAT ¡Flow ¡compe9ng ¡w/ ¡Short ¡TCP ¡Flows ¡ 11/7/14 ¡ 25 ¡
Media ¡Pause ¡and ¡Resume ¡ Stream ¡2 ¡pauses ¡ For ¡20 ¡seconds ¡ 11/7/14 ¡ 26 ¡
Preliminary ¡Testbed ¡Evalua9ons ¡ • Testbed ¡Senng: ¡ ¡ – Bogleneck ¡link ¡capacity: ¡1Mbps ¡ – Path ¡propaga9on ¡delay: ¡0ms ¡ – Bogleneck ¡queue ¡depth: ¡500ms ¡ – VM-‑based ¡sender ¡and ¡receiver ¡ • Windows-‑based ¡implementa9on ¡of ¡NADA: ¡ ¡ – Synthe9c ¡traffic ¡source ¡ – Rate ¡range: ¡120Kbps ¡– ¡3.6Mbps ¡ – Feedback ¡interval ¡target: ¡100ms ¡ – Limita7on: ¡Sender/receiver ¡7mestamp ¡granularity ¡of ¡16ms ¡ 11/7/14 ¡ dra:-‑zhu-‑rmcat-‑nada ¡ 27 ¡
Testbed ¡Result: ¡Single ¡Flow ¡ ¡ NADA ¡ 11/7/14 ¡ 28 ¡
Testbed ¡Result: ¡Two ¡Flows ¡ NADA ¡ 11/7/14 ¡ 29 ¡
Summary ¡and ¡Next ¡Steps ¡ • Revised ¡algorithm ¡and ¡updated ¡evalua9on ¡results: ¡ ¡ NADA ¡ – Improved ¡convergence ¡speed ¡ – Coexists ¡with ¡TCP ¡ – Maintains ¡stability ¡and ¡RTT ¡fairness ¡ • Next ¡steps: ¡ ¡ – Analysis ¡and ¡tuning ¡of ¡algorithm ¡parameters ¡ – Calcula9on ¡of ¡performance ¡metrics ¡ – More ¡extensive ¡testbed ¡evalua9ons ¡ 11/7/14 ¡ dra:-‑zhu-‑rmcat-‑nada ¡ 30 ¡
Backup ¡Slides ¡
RMCAT ¡Lab: ¡Topology ¡ Fedora ¡ Fedora ¡ VM2 ¡ VM1 ¡ VLAN ¡15 ¡ Windows7 ¡ Gig ¡0/1 ¡ VM2 ¡ External ¡ Router ¡C ¡ Windows7 ¡ network ¡ VM1 ¡ Gig ¡0/0 ¡ VLAN ¡12 ¡ Configurable ¡ Addi9ve ¡delays ¡ Bogleneck ¡Link ¡ VLAN ¡10 ¡ inserted ¡via ¡PAGENT ¡ Router ¡B ¡ in ¡Router ¡C ¡and/or ¡D ¡ Router ¡A ¡ ASA ¡ VLAN ¡13 ¡ Gig ¡0/0 ¡ Traffic ¡ Fedora ¡ sniffer ¡via ¡ Router ¡D ¡ VM3 ¡ Wireshark ¡ Gig ¡0/1 ¡ Windows7 ¡ VM3 ¡ VLAN ¡14 ¡ 11/7/14 ¡ 32 ¡ All ¡virtual ¡machines ¡are ¡hosted ¡on ¡a ¡UCS ¡server ¡
Recommend
More recommend