[aqm] avoiding the sqrt

2015-08-10 Thread Jeff Weeks
The CoDel control_law is defined as 't + interval/sqrt(count)'

The sample implementation (http://queue.acm.org/appendices/codel.html) suggests 
that sqrt(count) can be calculated using only integer multiplication, but I'm 
wondering if it even needs to be calculated.

Would it not be more efficient to pre-calculate a set of 1/sqrt(count) for some 
range --  probably (1..interval), and for any count  interval, the next 
interval can just be set to t+1.

Is there any reason to not use this approach (assuming sufficient memory 
exists, of course)?

--Jeff


/dev/jeff_weeks.x2936
Sandvine Incorporated

___
aqm mailing list
aqm@ietf.org
https://www.ietf.org/mailman/listinfo/aqm


Re: [aqm] avoiding the sqrt

2015-08-10 Thread Jonathan Morton
The version of codel that cake uses does indeed use such a lookup table for
1..15.  This was for accuracy rather than performance reasons.

- Jonathan Morton
___
aqm mailing list
aqm@ietf.org
https://www.ietf.org/mailman/listinfo/aqm


Re: [aqm] I-D Action: draft-ietf-aqm-pie-02.txt

2015-08-10 Thread Rong Pan (ropan)
Hello, 

A new draft of PIE has been posted. Below are our responses to Bob¹s
questions.

Thanks,

Rong

‹

Response to Bob¹s comments

1) Proposed Standard, but normative language: Done

2) Has PIE been separately tested with and without each enhancement? Yes.
During the DOCSIS-PIE evaluation process, the new features are added
proven to improve the performance, especially for a single TCP flow¹s
performance.

3) Needs to enumerate whether it satisfies each AQM Design Guideline:
i) no ECN behavior: added
ii) no autotuning of two main parameters: we have made autotuning alpha
and beta parameters a MUST for PIE.
iii) Transport independence: alpha and beta. Since any TCP variance 
would
need to be TCP friendly, we think TCP-Reno is still a reasonable baseline
assumption. Our parameters chosen have been tested in various situations
and they work well. For the UDP traffic, since there is no feedback at end
hosts, so there is no RTT associated with the rate control. The feedback
loop is directly at the queue which would make the loop very stable. Our
simulation results of UDP traffic clearly demonstrate that it is the case.
These parameters are not hard-coded for ever and they are configurable. We
can certainly retune them if we know majority of the transport layer
protocols have been changed to something else. None the less, I believe we
can make parameter adjustments if needed. Regarding the parameter
difference between the paper and the recommendation. The paper shows the
parameters chosen with the phase margins that we use. Note that with 1/8,
we have a phase margin of around 25 degree at 0.2%. During the DOCSIS-PIE
evaluation, we realized that we need to cover more drop probability
regions towards lower end of the spectrum, we modified these results to
give us more margins. Yes, you are right in that we had a typo in kappa in
the paper. It should be 2alphaRo/(poT). Thanks for pointing it out. I
checked with my matlab program, I put the loop components in individually
and correctly so the results in the figure are still valid.

4) Rationale for PI controller: Added the following:
This is the classic Proportional Integral (PI) controller design which is
known for eliminating steady state errors. We
adopt it here to control queueing latency so that, at the steady state,
the difference between the queueing latency and the target value is zero
even under heavy load.


5) Technical flaws/concerns
i)   Turning PIE off: the drop probability will exponentially decay to 0
if there is no packet arriving. For energy saving sleep mode, we would
need a timestamp. When a packet arrives, if it knows the last update is
long time ago, the drop probability will be reset to 0. But we prefer not
having this energy saving mode in the draft. Vendors are free to choose
their own way.
ii)  Auto-tuning alpha and beta parameters: very interesting!!! we would
need to perform some more careful study and simulation work across a range
of scenarios in order to be confident that it provides a good scaling
function.  Perhaps this could be a future enhancement.
iii) Averaging: a) queue sampling rate: the infrequency is relative to
RTT. We assume Internet scale for this draft. So if the propagation delay
is in the orders of tens of ms (fixed) and when the link speeds go up, the
amount of buffering we need for single TCP (to get full bandwidth) goes
up. So given time constance remain Internet scale: tens of ms, the
interval becomes less and less from number of packets point of view.
 b) we agree that the way we averaging is not exact EWMA. To
ensure the rate that we obtain is accurate, we find this method is more
practical. 
iv) Burst allowance unnecessary: BURST_ALLOWANCE to 150ms is very 
helpful
to make sure a single TCP flow can have decent throughput (not getting
into timeout) in the first 10 sec or so.
v)  Need a large delay to make the delay small: This would be the case 
if
the link is very low. In order to make sure that the rate estimation is
accurate, we need more bytes to estimate traffic. However, due to burst
allowance, we should have enough data for a rate sample for free without
causing extra problems.
vi) De-randomization: I agree with your argument about multiple flows
that does not help. We do see it helps in single TCP flow¹s case. I have
made it MAY option for PIE.
vii) Bound drop probability below 100%: This makes sense. Shall we make
this a parameter or fixed?
viii) Lock-out Bias against large packets: I would agree with you.
However, I think it would be good to include that in the queue_.is_full(),
taildrop function, not AQM function.

6. Numerous magic numbers: the look-up table of factors: look into
details. 
DQ_THRESHOLD, scenario-adjustable. T_UPDATE would be same for all AQM
schemes. would be happy to change when WG has a consensus. ALPHA and BETA:
added a rule of thumb for the relationship between 

[aqm] I-D Action: draft-ietf-aqm-pie-02.txt

2015-08-10 Thread internet-drafts

A New Internet-Draft is available from the on-line Internet-Drafts directories.
 This draft is a work item of the Active Queue Management and Packet Scheduling 
Working Group of the IETF.

Title   : PIE: A Lightweight Control Scheme To Address the 
Bufferbloat Problem
Authors : Rong Pan
  Preethi Natarajan
  Fred Baker
Filename: draft-ietf-aqm-pie-02.txt
Pages   : 24
Date: 2015-08-10

Abstract:
   Bufferbloat is a phenomenon where excess buffers in the network cause
   high latency and jitter. As more and more interactive applications
   (e.g. voice over IP, real time video streaming and financial
   transactions) run in the Internet, high latency and jitter degrade
   application performance. There is a pressing need to design
   intelligent queue management schemes that can control latency and
   jitter; and hence provide desirable quality of service to users.

   This document presents a lightweight active queue management design,
   called PIE (Proportional Integral controller Enhanced), that can
   effectively control the average queueing latency to a target value.
   Simulation results, theoretical analysis and Linux testbed results
   have shown that PIE can ensure low latency and achieve high link
   utilization under various congestion situations. The design does not
   require per-packet timestamp, so it incurs very small overhead and is
   simple enough to implement in both hardware and software.


The IETF datatracker status page for this draft is:
https://datatracker.ietf.org/doc/draft-ietf-aqm-pie/

There's also a htmlized version available at:
https://tools.ietf.org/html/draft-ietf-aqm-pie-02

A diff from the previous version is available at:
https://www.ietf.org/rfcdiff?url2=draft-ietf-aqm-pie-02


Please note that it may take a couple of minutes from the time of submission
until the htmlized version and diff are available at tools.ietf.org.

Internet-Drafts are also available by anonymous FTP at:
ftp://ftp.ietf.org/internet-drafts/

___
aqm mailing list
aqm@ietf.org
https://www.ietf.org/mailman/listinfo/aqm


Re: [aqm] New I-D: draft-briscoe-aqm-dualq-coupled-00.txt

2015-08-10 Thread Scheffenegger, Richard

Hi Yuchung, Bob,

(w/o chair hat)

Wouldn't be a sensible reaction, in the scenario sketched by Yuchung, to have 
at least one MSS memory available at all times for L4S queues, and drop from 
the classic queue if that cann't be guaranteed earlier?

Best regards,
  Richard


 -Original Message-
 From: aqm [mailto:aqm-boun...@ietf.org] On Behalf Of John Leslie
 Sent: Samstag, 08. August 2015 13:41
 To: Yuchung Cheng
 Cc: Bob Briscoe; AQM IETF list
 Subject: Re: [aqm] New I-D: draft-briscoe-aqm-dualq-coupled-00.txt
 
 Yuchung Cheng ych...@google.com wrote:
 
  Interesting work. Do the queues share the same memory pool?
 
I don't believe the draft says one way or the other; but the concept
 would seem to call for separate memory.
 
  I hypothesize that with current ECN deployment, the bad (reno) guy
  will take up C_Q. What happens when the nice guy (dctcp) knocks the
  door when the house is full? the strict priority policy in the doc
  isn't clear about which butt to boot ...
 
The pseudocode in Appendix A isn't the easiest to read; but it does
 show that the L4S queue goes out first (with CE marking) before the
 Classic queue.
 
The draft is also clear that the example applies AQM on exit from the
 queues. Thus the Classic queue (in this example) could easily fill
 available memory; so your question is appropriate.
 
The draft is a bit hand-wavy about what happens when there's too much
 L4S traffic. IMHO, _one_ necessary feature would be to limit the size of
 the L4S queue and drop L4S traffic that won't fit.
 
 --
 John Leslie j...@jlc.net
 
 ___
 aqm mailing list
 aqm@ietf.org
 https://www.ietf.org/mailman/listinfo/aqm

___
aqm mailing list
aqm@ietf.org
https://www.ietf.org/mailman/listinfo/aqm


[aqm] WGLC on draft-ietf-aqm-eval-guidelines

2015-08-10 Thread Wesley Eddy
As chairs, Richard and I would like to start a 2-week working
group last call on the AQM characterization guidelines:

https://datatracker.ietf.org/doc/draft-ietf-aqm-eval-guidelines/

Please make a review of this, and send comments to the list or
chairs.  Any comments that you might have will be useful to us,
even if it's just to say that you've read it and have no other
comments.

Thanks!

-- 
Wes Eddy
MTI Systems

___
aqm mailing list
aqm@ietf.org
https://www.ietf.org/mailman/listinfo/aqm