NADA Algorithm Update and Test Case Evalua9ons - - PowerPoint PPT Presentation

nada algorithm update and test case evalua9ons
SMART_READER_LITE
LIVE PREVIEW

NADA Algorithm Update and Test Case Evalua9ons - - PowerPoint PPT Presentation

NADA Algorithm Update and Test Case Evalua9ons dra:-zhu-rmcat-nada Xiaoqing Zhu, Rong Pan, Michael Ramalho, Sergio Mena, Charles Ganzhorn, Paul


slide-1
SLIDE 1

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 ¡

slide-2
SLIDE 2

Outline ¡

  • Revised ¡algorithm ¡

– TCP ¡co-­‑existence ¡ – Accelerated ¡ramp-­‑up ¡

  • Simula9on-­‑based ¡test ¡case ¡evalua9on ¡
  • Testbed ¡results ¡

11/7/14 ¡ 2 ¡ dra:-­‑zhu-­‑rmcat-­‑nada ¡

slide-3
SLIDE 3

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 ¡ 3 ¡ dra:-­‑zhu-­‑rmcat-­‑nada ¡

slide-4
SLIDE 4

Revised ¡Receiver ¡Behavior ¡

Delay ¡weight ¡ for ¡marking ¡ Delay ¡weight ¡ for ¡loss ¡ Queuing ¡ delay ¡

dn

Packet ¡ marking ¡ra9o ¡

pM

Packet ¡ loss ¡ra9o ¡

pL

Receiving ¡ rate ¡

rR xn = ˜ dn + pMdM + pLdL x0

n = xn − xnk

δ

Warped ¡ delay ¡

˜ dn

Non-­‑linear ¡ warping ¡ ACK ¡interval ¡ Calculate ¡aggregate ¡conges9on ¡ signal ¡and ¡its ¡deriva9ve: ¡ ¡

slide-5
SLIDE 5

Non-­‑linear ¡Warping ¡of ¡Delay ¡

˜ dn dth dmax

Observed ¡queuing ¡delay ¡ Warped ¡delay ¡

dth

˜ dn = dth( dmax − dn dmax − dth )4

[Budzisz ¡et ¡al. ¡ToN ¡2011] ¡

dn

Delay-­‑based ¡ Loss/Marking-­‑based ¡

slide-6
SLIDE 6

Revised ¡Sender ¡Behavior ¡

11/7/14 ¡ 6 ¡ dra:-­‑zhu-­‑rmcat-­‑nada ¡

γ = min[γ0, Tth RTT + δ ] Rn = (1 + γ)rR Accelerated ¡Ramp-­‑Up ¡ Gradual ¡Update ¡ Empty ¡ Queue? ¡ ¡

Bound ¡on ¡ delay ¡spike ¡ Reported ¡ receive ¡rate ¡

θ = w(Rmax − Rmin)xref Rn ← Rn + κδ τ 2

  • (θ − (Rn − Rmin)(xn + ητox0

n))

slide-7
SLIDE 7

RTT-­‑Aware ¡Accelerated ¡Ramp-­‑Up ¡

11/7/14 ¡ 7 ¡ dra:-­‑zhu-­‑rmcat-­‑nada ¡

C Time ¡ Rate ¡ t t + RTT + δ R1 ≈ C R2 = (1 + γ)R1 ≈ (1 + γ)C Queuing ¡ Delay ¡ Earliest ¡ feedback ¡ γ < Tth RTT + δ

dq ≈ γ(RTT + δ) < Tth

slide-8
SLIDE 8

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 ¡

Path ¡propaga9on ¡delay: ¡ ¡50ms ¡ Bogleneck ¡queue ¡depth: ¡ ¡~ ¡300ms ¡ Default ¡Se,ngs ¡

slide-9
SLIDE 9

Default ¡Algorithm ¡Parameters ¡

  • ACK ¡interval: ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡
  • MTU ¡size: ¡

¡ ¡1000 ¡bytes ¡

  • Rate ¡range: ¡ ¡

¡150 ¡Kbps ¡~ ¡1.5 ¡Mbps ¡

  • Scaling ¡parameters: ¡ ¡
  • Upper ¡bound ¡on ¡RTT: ¡
  • Reference ¡delay: ¡ ¡
  • Delay ¡warping: ¡
  • Delay ¡weights: ¡ ¡ ¡
  • Accelerated ¡ramp-­‑up: ¡ ¡

τo = 500 ms xref = 10 ms

11/7/14 ¡ 9 ¡ dra:-­‑zhu-­‑rmcat-­‑nada ¡

κ = 1.0, η = 2.0

dth = 50 ms, dmax = 400 ms dM = 200 ms, dP = 1.0 s Tth = 50 ms, γ0 = 0.5 δ0 = 100 ms

slide-10
SLIDE 10

Variable ¡Available ¡Capacity ¡w/ ¡Single ¡RMCAT ¡Flow ¡

11/7/14 ¡ 10 ¡ dra:-­‑zhu-­‑rmcat-­‑nada ¡

slide-11
SLIDE 11

Variable ¡Available ¡Capacity ¡w/ ¡Single ¡RMCAT ¡Flow ¡ (Zoom-­‑In ¡View) ¡

11/7/14 ¡ 11 ¡ dra:-­‑zhu-­‑rmcat-­‑nada ¡

slide-12
SLIDE 12

Variable ¡Available ¡Capacity ¡w/ ¡Mul9ple ¡RMCAT ¡Flows ¡

11/7/14 ¡ 12 ¡ dra:-­‑zhu-­‑rmcat-­‑nada ¡

slide-13
SLIDE 13

Variable ¡Available ¡Capacity ¡w/ ¡Mul9ple ¡RMCAT ¡Flows ¡ (Zoom-­‑In ¡View) ¡

11/7/14 ¡ 13 ¡ dra:-­‑zhu-­‑rmcat-­‑nada ¡

slide-14
SLIDE 14

Congested ¡Feedback ¡w/ ¡Bi-­‑direc9onal ¡RMCAT ¡Flows: ¡ Forward ¡Direc9on ¡ ¡

11/7/14 ¡ 14 ¡ dra:-­‑zhu-­‑rmcat-­‑nada ¡

slide-15
SLIDE 15

Congested ¡Feedback ¡w/ ¡Bi-­‑direc9onal ¡RMCAT ¡Flows: ¡ Backward ¡Direc9on ¡ ¡

11/7/14 ¡ 15 ¡ dra:-­‑zhu-­‑rmcat-­‑nada ¡

slide-16
SLIDE 16

dra:-­‑zhu-­‑rmcat-­‑nada ¡

Congested ¡Feedback ¡w/ ¡TCP ¡Backward ¡Traffic ¡

TCP ¡flow ¡along ¡ backward ¡path ¡

11/7/14 ¡ 16 ¡

slide-17
SLIDE 17

Compe9ng ¡Flows ¡w/ ¡Same ¡RMCAT ¡Algorithm ¡

11/7/14 ¡ 17 ¡

slide-18
SLIDE 18

Compe9ng ¡Flows ¡w/ ¡Same ¡RMCAT ¡Algorithm ¡ Per-­‑Flow ¡Rate ¡and ¡Delay ¡Sta9s9cs ¡

11/7/14 ¡ 18 ¡

slide-19
SLIDE 19

Compe9ng ¡Flows ¡w/ ¡Same ¡RMCAT ¡Algorithm ¡ Varying ¡Path ¡Propaga9on ¡Delay ¡

11/7/14 ¡ 19 ¡

Late-­‑comer’s ¡ ¡ advantage ¡ Increased ¡oscilla9on ¡

slide-20
SLIDE 20

Round ¡Trip ¡Time ¡Fairness ¡

11/7/14 ¡ 20 ¡

slide-21
SLIDE 21

Round ¡Trip ¡Time ¡Fairness ¡ Per-­‑Flow ¡Rate ¡and ¡Delay ¡Sta9s9cs ¡

11/7/14 ¡ 21 ¡

0.81 ¡ 0.85 ¡ 0.80 ¡ 0.76 ¡ 0.77 ¡ 20.55 ¡ 19.39 ¡ 20.90 ¡ 21.89 ¡ 21.21 ¡ Jain’s ¡Fairness ¡Index: ¡0.9984 ¡ ¡ ¡

slide-22
SLIDE 22

RMCAT ¡Flow ¡compe9ng ¡w/ ¡a ¡Long ¡TCP ¡Flow ¡

11/7/14 ¡ 22 ¡

Queue ¡Depth ¡= ¡240ms ¡

slide-23
SLIDE 23

RMCAT ¡Flow ¡compe9ng ¡w/ ¡a ¡Long ¡TCP ¡Flow: ¡ Varying ¡Bogleneck ¡Queue ¡Depth ¡

11/7/14 ¡ 23 ¡ dra:-­‑zhu-­‑rmcat-­‑nada ¡

slide-24
SLIDE 24

RMCAT ¡Flow ¡compe9ng ¡w/ ¡a ¡Long ¡TCP ¡Flow: ¡ Varying ¡Path ¡Propaga9on ¡Delay ¡

11/7/14 ¡ 24 ¡ dra:-­‑zhu-­‑rmcat-­‑nada ¡

slide-25
SLIDE 25

RMCAT ¡Flow ¡compe9ng ¡w/ ¡Short ¡TCP ¡Flows ¡

11/7/14 ¡ 25 ¡

slide-26
SLIDE 26

Media ¡Pause ¡and ¡Resume ¡

Stream ¡2 ¡pauses ¡ For ¡20 ¡seconds ¡

11/7/14 ¡ 26 ¡

slide-27
SLIDE 27

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 ¡ 27 ¡ dra:-­‑zhu-­‑rmcat-­‑nada ¡

slide-28
SLIDE 28

Testbed ¡Result: ¡Single ¡Flow ¡ ¡

NADA ¡

11/7/14 ¡ 28 ¡

slide-29
SLIDE 29

Testbed ¡Result: ¡Two ¡Flows ¡

NADA ¡

11/7/14 ¡ 29 ¡

slide-30
SLIDE 30

Summary ¡and ¡Next ¡Steps ¡

  • Revised ¡algorithm ¡and ¡updated ¡evalua9on ¡results: ¡ ¡

– 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 ¡

NADA ¡

11/7/14 ¡ 30 ¡ dra:-­‑zhu-­‑rmcat-­‑nada ¡

slide-31
SLIDE 31

Backup ¡Slides ¡

slide-32
SLIDE 32

Traffic ¡ sniffer ¡via ¡ Wireshark ¡

VLAN ¡10 ¡ VLAN ¡12 ¡ VLAN ¡13 ¡ VLAN ¡14 ¡ VLAN ¡15 ¡

Router ¡A ¡ Router ¡B ¡ Router ¡C ¡ Router ¡D ¡

Gig ¡0/1 ¡ Gig ¡0/0 ¡ Gig ¡0/0 ¡ Gig ¡0/1 ¡

Windows7 ¡ VM1 ¡ Fedora ¡ VM1 ¡

Addi9ve ¡delays ¡ inserted ¡via ¡PAGENT ¡ in ¡Router ¡C ¡and/or ¡D ¡

RMCAT ¡Lab: ¡Topology ¡

Fedora ¡ VM2 ¡ Windows7 ¡ VM2 ¡ Fedora ¡ VM3 ¡ Windows7 ¡ VM3 ¡

Configurable ¡ Bogleneck ¡Link ¡

External ¡ network ¡ ASA ¡

All ¡virtual ¡machines ¡are ¡hosted ¡on ¡a ¡UCS ¡server ¡

11/7/14 ¡ 32 ¡

slide-33
SLIDE 33

Delay ¡Measurement ¡Framework ¡

Gig ¡0/0.11 ¡ 192.168.11.2 ¡

Gig ¡E ¡ Router ¡B ¡ BoDleneck ¡Serial ¡Link ¡ Router ¡A ¡ Router ¡C ¡

= ¡Ping ¡Receive ¡ Timestamp ¡

Step ¡2: ¡ Reflector ¡Records ¡ RecepLon ¡of ¡Ping ¡

= ¡Pong ¡Receive ¡Timestamp ¡

Step ¡4: ¡Source ¡Records ¡ RecepLon ¡of ¡Pong ¡ Step ¡1: ¡ Source ¡ Sends ¡Ping ¡

= ¡Ping ¡Send ¡ Timestamp ¡

BoDleneck ¡DirecLon ¡

= ¡Pong ¡Send ¡Timestamp ¡

Step ¡3: ¡ Reflector ¡ Sends ¡Pong ¡

Non-­‑BoDleneck ¡DirecLon ¡

Step ¡5: ¡Creates ¡History. ¡

History ¡

Result: ¡All ¡rates ¡and ¡packet ¡lengths ¡are ¡known ¡ and ¡all ¡Lmestamps ¡knowable ¡are ¡in ¡packet ¡capture! ¡

Step ¡6: ¡Puts ¡History ¡in ¡next ¡ping. ¡

NADA ¡algorithm ¡implemented ¡at ¡sender ¡process ¡

Source ¡ Process ¡ Reflector ¡ Process ¡

11/7/14 ¡ 33 ¡

slide-34
SLIDE 34

_

Feedback ¡Control ¡Loop ¡in ¡Laplace ¡Domain ¡

1 sC δx e−s˜

τ

1 + ητs δ˜ x δr ro xo 1 1 +

τ κxo sτ

slide-35
SLIDE 35

Stability ¡Analysis ¡

  • Open-­‑loop ¡transfer ¡func9on: ¡ ¡ ¡
  • Low-­‑frequency ¡response: ¡ ¡ ¡
  • High-­‑frequency ¡response: ¡ ¡ ¡

Ensures ¡weighted ¡fair ¡ bandwidth ¡sharing ¡ Stability ¡guaranteed ¡by ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡and ¡ ¡ ¡

ητ 1

G(s) = −ro C 1 + ηsτ 1 +

τ κxo sτ

e−s˜

τ

sxo |G(s)| ∝ ro xo ˜ τ C G(s) ≈ −κη ro C ˜ τ τ e−s˜

τ

s˜ τ

κη τ ˜ τ < π 2

slide-36
SLIDE 36

Numerical ¡Results ¡on ¡Stability ¡Region ¡

Bogleneck ¡BW ¡= ¡2Mbps ¡ Propaga9on ¡Delay ¡= ¡50ms ¡ ¡