coupling discrete time events to continuous time in rmcat (a.k.a. the anatomy of a rmcat rtt) and...

18
Coupling Discrete Time Events to Continuous Time in RMCAT (a.k.a. The Anatomy of a RMCAT RTT) and Reasonable Bounds on the Time Rate of Change in Available Capacity November 5, 2014

Upload: rene-bellow

Post on 16-Dec-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Coupling Discrete Time Events to Continuous Time in RMCAT (a.k.a. The Anatomy of a RMCAT RTT) and Reasonable Bounds on the Time Rate of Change in Available

Coupling Discrete Time Events to Continuous Time in RMCAT

(a.k.a. The Anatomy of a RMCAT RTT)

and Reasonable Bounds on the Time Rateof Change in Available Capacity

November 5, 2014

Page 2: Coupling Discrete Time Events to Continuous Time in RMCAT (a.k.a. The Anatomy of a RMCAT RTT) and Reasonable Bounds on the Time Rate of Change in Available

Talk Outline

1. Motivation (Prior Work On Test Plan Capacity Change Design)2. RMCAT Discrete Time RTT Formalized

• Fluid-flow (continuous-time) model and rigorous RMCAT RTT definition.

3. Infinitely Fast Capacity Change Downward• Unavoidable delay spike caused by infinitely fast capacity change

4. How Quickly ANY RMCAT Design Can Track Capacity Changes• Result is independent of algorithm type (“self-clocked” or “rate-based”).

5. Reasonable Assumptions on Time-Rate-of-Change of Capacity• Worse-case RTT defines “tracking responsiveness” (w/o predictive component).• Squelching mechanisms required (self-clocked schemes do this automatically).• TCP Dynamics as a function of their RTT.• A reasonable bound on RTCP feed back intervals.

6. Implications for Adaptation with Wireless (WiFi/LTE/etc).

Page 3: Coupling Discrete Time Events to Continuous Time in RMCAT (a.k.a. The Anatomy of a RMCAT RTT) and Reasonable Bounds on the Time Rate of Change in Available

Motivation (Discussion at IETF 90)

Colin Perkins (Last Call on rmcat-cc-requirements):• However, as I noted at IETF 90, I think the draft should also

include a secondary requirement to keep delay variation (jitter)down, where possible, since larger delay variation needs largerreceiver-side buffers to compensate, increasing overall latency.

NADAv2

LargeDelaySpikes

Colin (and others) believed thesemight be artifacts of the algorithms

Page 4: Coupling Discrete Time Events to Continuous Time in RMCAT (a.k.a. The Anatomy of a RMCAT RTT) and Reasonable Bounds on the Time Rate of Change in Available

A RMCAT Lab Discrete Time RTT (for Seq. No. = Z)Note: Per-packet Feedback (no RTCP yet)

Gig 0/0.11

192.168.11.2

Router AfterBottleneck

Bottleneck Link

Router BeforeBottleneck

RMCATSource

RMCATReceiver

= Z Receive Timestamp

Step 2: Receiver Records Reception of Z

= ACK Z Receive Timestamp

Step 4: Records Reception of ACK of Z

Step 1: Source Sends Z

= Z Send Timestamp

Bottleneck Direction

= ACK Z Send Timestamp

Step 3: ACK of Z sent

tn-2 tn-1 tn tk-2 tk-1 tk

timetime

EarliestPossibleFeedback

Direction of Feedback/ACKs

df1= ForwardPropagation Delay

Prior toBottleneck

df2= ForwardPropagation Delay

AfterBottleneck

dr= Reverse Propagation Delay

d(t) = QueueDelay at

ContinuousTime t

Modelledzero

receiverprocessing

delaydproc= 0

Page 5: Coupling Discrete Time Events to Continuous Time in RMCAT (a.k.a. The Anatomy of a RMCAT RTT) and Reasonable Bounds on the Time Rate of Change in Available

RMCAT LAB: Measurement Framework (Seq. No. = Z)

tn-2 tn-1 tntk-2 tk-1 tk

time

Sequence number Z sent.Sequence number Z received (forward delay calculated here).

t ack,Z is the earliest time that the queue measurement is available at source (new rate

change can occur here).

The time the queue was actually sampled is tqueue,Z = (tn+df1).

t ack,Z

Sequence number Z-1 sent.

df1 df1

Let’s define continuous time t for fluid-flow modelling of therate adaption component. That is, let (t-tOFFSET) represent times offset from time t.

The effect of the rate change on the queue occurs df1 after the sourcemade the rate change (a full RTT after the queue was sampled)!

Page 6: Coupling Discrete Time Events to Continuous Time in RMCAT (a.k.a. The Anatomy of a RMCAT RTT) and Reasonable Bounds on the Time Rate of Change in Available

RMCAT: Continuous Time Modeling for Control Loop

RMCAT Sender:Generates

New Rate, r(t) Queue

RMCATReceiver

RMCAT Sender:Receiver

df1 df2

d(t)(≈ d0 at equilibrium)

dr

dsend_proc

=0

dpcv_proc

=0(no RTCP)

rsend(t)

q(t) = max [ q( t - ) + (rat_queue(t) – C) , 0 ]

For small ;

Queue increases/decreases as difference in rates

Also note:• rat_queue(t) = rsend ( t – df1)• d(t) = q(t)/C

When queue not emptied, itintegrates the difference in

rates (1/s in Laplace Domain).

Page 7: Coupling Discrete Time Events to Continuous Time in RMCAT (a.k.a. The Anatomy of a RMCAT RTT) and Reasonable Bounds on the Time Rate of Change in Available

Control Loop: Laplace Domain (linearize about equilibrium)

RMCAT Sender

Queue

RMCATReceiver

RMCAT Receiver

e-s(df2)

PQ(s) = Queue Prediction PartXR(s) = Rate Mechanics Part

e-s(dr)

e-s(df1)

e-s(0)=1(couldmodela RTCPmean

delay of100ms)1

e-s(0)=1

R(s) = XR(s)PQ(s)

1/[sC]

Key Control Loop Observations At Equilibrium:• LTI System => Doesn’t matter where prediction or rate control is (sender or receiver).• Wherever it is, it WILL take a minimum of a RTT1 to make a difference at the queue.

1 – If the RTCP reporting interval is >> (df1+df2+dr), it will dominate. If not, it will look like delay noise to individual delay samples.

Page 8: Coupling Discrete Time Events to Continuous Time in RMCAT (a.k.a. The Anatomy of a RMCAT RTT) and Reasonable Bounds on the Time Rate of Change in Available

So … What is the Discrete-Time RMCAT RTT Definition?

RMCAT Sender:Generates

New Rate, r(t) Queue

RMCATReceiver

RMCAT Sender:Receiver

df1 df2

d(t)(≈ d0 at equilibrium)

dr

dsend_proc

=0dpcv_proc

=0

Forward Delay = df1 + { d(t)| } + df2t = tSAMP

RMCAT RTT (ti) | = df1 + { d(t)| }+ df2 + drt = tSAMP (seq no z)ti = tACK for seq Z received

RMCAT RTT ( ti ) | = df1 + df2 + dr + d(t – [dx + df2 + dr] ) ,ti = tACK for seq z received

where dx = d(t)| t = tSAMP (seq no z)

Page 9: Coupling Discrete Time Events to Continuous Time in RMCAT (a.k.a. The Anatomy of a RMCAT RTT) and Reasonable Bounds on the Time Rate of Change in Available

Queue Delay Variation During Downward Capacity ChangeFastest Possible Rate Adaptation Example (imprudently quick)

C i

C (i+1)

Assume r(t) = Ci before t0

t0

Assume rate control estimates C (i+1) via thequeue sample immediately after t0 and thensends at C(i+1) (or less) as soon as possible.

t0 + RTT

Minimum response timeto affect queue.

Minimum possible delayspike is caused by(C (i+1)- C i ) * RTT

too many bits on queue.

Example in IETF RMCAT Test Plan:Capacity: 2500 kbps -> 600kbpsAssume RTT: 0.200 seconds (100 ms one-way)

Minimum ADDITIONAL bits on queue beforewe can do anything about it 380000 bits.

Queue must empty at 600 kbps rate.

Thus minimum delay spike is 633 ms!

Note: If we assumed one-way delay of 50 ms, 316 ms is minimum.

Page 10: Coupling Discrete Time Events to Continuous Time in RMCAT (a.k.a. The Anatomy of a RMCAT RTT) and Reasonable Bounds on the Time Rate of Change in Available

Queue Delay Variation During Downward Capacity ChangeFastest Possible Rate Adaptation Example (imprudently quick)

C i

C (i+1)

r(t) = Ci

(queue at equilibrium,delay at equilibrium is d0)

t0 t0 + RTT

Delayat

Queue,d(t)

d0

[Ci - C (i+1)]

C (i+1)

dacc =

m

1

dmin_spike = (dacc + d0)DifferentCandidateResponses

integration at queue

To lowerdmin_spike,

decreaserate ofchangeto new

rate

Minimum delay spike NOT caused by candidates!

* RTT

Accumulated bits delay

Page 11: Coupling Discrete Time Events to Continuous Time in RMCAT (a.k.a. The Anatomy of a RMCAT RTT) and Reasonable Bounds on the Time Rate of Change in Available

Talk Outline

1. Motivation (Prior Work On Test Plan Capacity Change Design)2. RMCAT Discrete Time RTT Formalized

• Fluid-flow (continuous-time) model and rigorous RMCAT RTT definition.

3. Infinitely Fast Capacity Change Downward• Unavoidable delay spike caused by infinitely fast capacity change.• How to avoid the delay spike (proposal could be presented to IETF).

4. How Quickly ANY RMCAT Design Can Track Capacity Changes• Result is independent of algorithm type (“self-clocked” or “rate-based”).

5. Reasonable Assumptions on Time-Rate-of-Change of Capacity• Worse-case RTT defines “tracking responsiveness” (w/o predictive component).• Squelching mechanisms required (self-clocked schemes do this automatically).• TCP Dynamics as a function of their RTT.• A reasonable bound on RTCP feed back intervals.

6. Implications for Adaptation with Wireless (WiFi/LTE/etc).

Page 12: Coupling Discrete Time Events to Continuous Time in RMCAT (a.k.a. The Anatomy of a RMCAT RTT) and Reasonable Bounds on the Time Rate of Change in Available

C i

C (i+1)t0 t0 + RTT

How Quickly Can RMCAT Track Available Capacity Changes?Answer: It Depends on the RTT, Duh!

• The quickest time a RMCAT flow can possibly “measure” (and “react to”)changes in capacity is bounded by ITS round-trip time.

• Thus the quickest time it can influence it’s contribution to the queue aftera change in capacity is thus bounded by ITS round-trip time.

• Corollary: RMCAT flows with different RTTs can react to changes on differenttime scales (which correspond to their individual RTTs). Just like TCP!

• A reasonable ASSUMPTION for the fastest time-rate-of-change in availablecapacity is one which could be tracked (i.e., measured and reacted to) bya RMCAT flow with an assumed worst-case RTT and RTCP interval.

Page 13: Coupling Discrete Time Events to Continuous Time in RMCAT (a.k.a. The Anatomy of a RMCAT RTT) and Reasonable Bounds on the Time Rate of Change in Available

A reasonable assumption bound for RMCATtime rate of change in available capacity

t? t? + RTT

C(t)

CLocal_Max

CMax_Change

CLocal_Min

• Assume worst-case RMCAT RTT of ~250 ms (¼ sec).• Highest capacity change “frequency” that is actionable is fMAX ≈ 4 Hz.

• Capacity changes faster than this CANNOT be “seen/sensed/measured” and then“actionable” by a RMCAT flow with the “worst-case RTT”.1

• Ditto for ACK-based, “self-clocked”, protocols like TCP, SCReAM too!• TCP can’t know to stop within this time either; as they only stop after their ACKs stop.• TCP thus “pounds the queue” causing gross overflow events on long RTT connections too!

• Corollary: “Fast Response” is a matter of the worst-case capacitychange assumption - not a fundamental property of “self-clocked” protocols.2

2 - Rebuttal to: http://conferences.sigcomm.org/sigcomm/2014/doc/slides/150.pdf1 – If other information was known (e.g., form), predictive components could react quicker.

Page 14: Coupling Discrete Time Events to Continuous Time in RMCAT (a.k.a. The Anatomy of a RMCAT RTT) and Reasonable Bounds on the Time Rate of Change in Available

1414

1 TCP, Delay seen by Voice Packets

Near 100% Link Utilization (delay 30 ~ 80 ms)

Queue emptied only 4 times*

-Serialization delay for TCP packet ~ 11 ms

Voice Only

RTT Estimate ~ 50ms,fast reaction per unit time

TCP Dynamics as a Function of the RTT1 TCP: Voice Delay, 50 ms BE Queue

Loss-Based Rate Control Overfills Queues and CAUSES substantial loss

Page 15: Coupling Discrete Time Events to Continuous Time in RMCAT (a.k.a. The Anatomy of a RMCAT RTT) and Reasonable Bounds on the Time Rate of Change in Available

1515

100% Link Utilization (delay 100 ~ 500 ms)

QueueNeverEmptied

1 TCP, Delay seen by Voice Packets

We have loss with much larger persistent delays!

Rate dynamics clearly a function of RTT (including queue delay).

If capacity downward occurred quickly within RTT near queue overflow, the

TCP (control loop) would have behaved similarly to our RMCAT Candidates.

RTT Estimate nowincludes queuing delay ...subsequent rate increase

reaction times are slowed.

TCP Dynamics as a Function of the RTT1 TCP: Voice Delay, 500 ms BE Queue

Page 16: Coupling Discrete Time Events to Continuous Time in RMCAT (a.k.a. The Anatomy of a RMCAT RTT) and Reasonable Bounds on the Time Rate of Change in Available

ACK-Gated RMCAT Proposals (a la Ericsson)

t0 t0 + RTT

C(t)

CLocal_Max

CMax_Change

CLocal_Min

• On long-RTT connections, ACK-gated protocols will also hit the queue toohard and build up excess delay. They will “stop” quickly – but that is amatter of degree (by comparison to how rate-based designs) – notbecause of some more beneficial property of ACK-gated protocols.*

• Once a worst-case RTT assumption has been made, it imposes a theoreticalconstraint on how quickly ANY RMCAT FLOW can adapt to it.• Thus imposing a “hidden assumption” on the time-rate-of-change of capacity ANY

RMCAT DESIGN on the worst-case RTT can adapt to.• This, in turn, imposes a minimum RTCP spacing constraint:

• For 250 ms RTT, < π/2 spacing (@4 Hz) implies TRTCP ≤ ~ 62.5 ms.

Page 17: Coupling Discrete Time Events to Continuous Time in RMCAT (a.k.a. The Anatomy of a RMCAT RTT) and Reasonable Bounds on the Time Rate of Change in Available

Implications for WiFi/LTE/Wireless Adaptation

t0 t0 + RTT

C(t)

CLocal_Max

CMax_Change

CLocal_Min

On long-RTT connections, ACK-gated protocols will also hit the queue too hard andbuild up excess delay. They will “stop” quickly – but that is a matter of degree

(by comparison to rate-based approaches) – not because of some morebeneficial property of “self-clocked” protocols over rate-controlled protocols.

Repeated/paraphrased from last slide:

Summary:• We will need to develop better “squelching conditions” in future enhancements to our present

RMCAT designs (i.e., when feedback stops and/or becomes irregular).• Complete squelch is only prudent when there is no impairment in feedback path.• Wireless challenges now become a known second-order problem; unless we want

to limit RTT (not possible) or go to per-packet feedback (non RTCP approaches).

Page 18: Coupling Discrete Time Events to Continuous Time in RMCAT (a.k.a. The Anatomy of a RMCAT RTT) and Reasonable Bounds on the Time Rate of Change in Available

Summary

1. RMCAT Discrete Time RTT Formalized• Fluid-flow (continuous-time) model and rigorous RMCAT RTT definition.

2. How Quick Can ANY RMCAT Design Can Track Capacity Changes• Result is independent of algorithm type (“self-clocked” or “rate-based”).

3. Reasonable Assumptions on Time-Rate-of-Change of Capacity• Worse-case RTT defines “tracking responsiveness” (w/o predictive component).• Like TCP, dynamics of RMCAT solution will be a function of their RTT.• The feedback intervals and flow RTT will determine capacity tracking ability.• Bounding feedback intervals and worst-case RTT effectively bounds best-case tracking.

4. Implications for Adaptation with Wireless (WiFi/LTE/etc).• Squelching mechanisms required (self-clocked schemes do this automatically).