Re: [aqm] working group last call on CoDel drafts

Dave Taht <dave.taht@gmail.com> Fri, 04 December 2015 11:56 UTC

Return-Path: <dave.taht@gmail.com>
X-Original-To: aqm@ietfa.amsl.com
Delivered-To: aqm@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 15CD91A6F3B for <aqm@ietfa.amsl.com>; Fri, 4 Dec 2015 03:56:04 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2
X-Spam-Level:
X-Spam-Status: No, score=-2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, SPF_PASS=-0.001] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id W5kyuRmeTfGe for <aqm@ietfa.amsl.com>; Fri, 4 Dec 2015 03:56:02 -0800 (PST)
Received: from mail-yk0-x235.google.com (mail-yk0-x235.google.com [IPv6:2607:f8b0:4002:c07::235]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id C0C571A6F3E for <aqm@ietf.org>; Fri, 4 Dec 2015 03:56:01 -0800 (PST)
Received: by ykfs79 with SMTP id s79so121670975ykf.1 for <aqm@ietf.org>; Fri, 04 Dec 2015 03:56:01 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=kqdM2QFMjZuNy5KtOiwuBdMpKemUjfeo2z945LBku+s=; b=EdZLN+C5ZO0xaXXkhdeMJF+vd+AuHDGD5NJhx8mmw2NB0cdEx5AmrRyFlmaaxqumqz Ds+tI0wquCAzlNk3Mi9YHlwHzJXsYxj7HM8HdlxIfDVtrwdlvOF2QyzUTbjYfz9g+Fnx Wn04/ByX6altiXB756Rew2ohZrjpYMSzRxntfzwtLQ0DsDSKzQKQFQ0I2ha1pxrpGWz5 eTesqPK8wdyODGQg1VB8sY5r2nZYaUGW1eQT4DyAh3QPp9+xO7ZIgJzpQWmLN17k4uXd GNKRkvgvto7nfubXaYpWWHIfrv0CP3bszwAhffM9LsWb6dVi5N5leYycxOX8iTzq5J82 rZFw==
MIME-Version: 1.0
X-Received: by 10.129.147.194 with SMTP id k185mr12117237ywg.284.1449230160856; Fri, 04 Dec 2015 03:56:00 -0800 (PST)
Received: by 10.37.210.145 with HTTP; Fri, 4 Dec 2015 03:56:00 -0800 (PST)
In-Reply-To: <566167EB.3060502@kit.edu>
References: <565F11FD.3070405@mti-systems.com> <566167EB.3060502@kit.edu>
Date: Fri, 04 Dec 2015 12:56:00 +0100
Message-ID: <CAA93jw7sD-OUcpE6ewi9HfP=mb5nNYWeKmkNhuDCi860ubzrdQ@mail.gmail.com>
From: Dave Taht <dave.taht@gmail.com>
To: "Bless, Roland (TM)" <roland.bless@kit.edu>
Content-Type: text/plain; charset="UTF-8"
Archived-At: <http://mailarchive.ietf.org/arch/msg/aqm/dHYmoP36-LySSY6WWRH9zdaQQrU>
Cc: Wesley Eddy <wes@mti-systems.com>, "aqm@ietf.org" <aqm@ietf.org>
Subject: Re: [aqm] working group last call on CoDel drafts
X-BeenThere: aqm@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "Discussion list for active queue management and flow isolation." <aqm.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/aqm>, <mailto:aqm-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/aqm/>
List-Post: <mailto:aqm@ietf.org>
List-Help: <mailto:aqm-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/aqm>, <mailto:aqm-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 04 Dec 2015 11:56:04 -0000

In just about every benchmark we have created to date, the linux
version of the codel implementation wins over dozens of attempted
alternatives. We have one that is mildly better at a 10ms RTT, but not
as good at 80ms, but that's it.

This doesn't mean that more experimentation isn't called for (there
are two radical alternatives I know of still being tested), but I
would vote for putting the linux version into the codel draft.


On Fri, Dec 4, 2015 at 11:16 AM, Bless, Roland (TM)
<roland.bless@kit.edu> wrote:
> Dear all,
>
> we believe that the Codel specification
> https://datatracker.ietf.org/doc/draft-ietf-aqm-codel/ needs at least one
> major clarification.
>
> The following lines are present in the draft's pseudo-code, but are not
> explained further anywhere in the document text, and moreover differ from
> the Linux implementation [*], that the document also suggests as reference
> implementation.
>
>            // If min went above target close to when it last went
>            // below, assume that the drop rate that controlled the
>            // queue on the last cycle is a good starting point to
>            // control it now. ('drop_next' will be at most 'interval'
>            // later than the time of the last drop so 'now - drop_next'
>            // is a good approximation of the time from the last drop
>            // until now.)
>            count_ = (count_ > 2 && now - drop_next_ < 8*interval_)?
>                        count_ - 2 : 1;
>
> This line makes sure, that when two dropping states are entered within a
> short interval from each other, the variable count is not reset (to zero),
> but is rather changed somehow. In this document, count is decreased by two,
> while in the Linux version, count is set to the number of packets, that were
> dropped in the previous dropping state.
>
> Based on the email-thread that was started from these messages ...
>      http://www.ietf.org/mail-archive/web/aqm/current/msg00376.html
>         http://www.ietf.org/mail-archive/web/aqm/current/msg01250.html
>             http://www.ietf.org/mail-archive/web/aqm/current/msg01455.html
>
> ... one can infer, that:
> 1) the case where count is not reset is not an exception, but rather a
> common case (that we can confirm from our measurements),

It is a common case. Most of the other behaviors in codel are in
attempting to seek to the optimum drop rate, that bit is the one that
maintains the optimal drop rate.

> 2) several options for this behavior were described on the mailing list some
> time ago,
>
> Since it is the most common case, this part of the algorithm should be
> explained in the specification.
> If the two versions will continue to differ, both algorithms (and their
> difference in behavior) should be explained,
> but in order to avoid confusion for implementers/operators we believe that
> specification of a single algorithm is preferable .

I could make a counter argument saying that diversity and not having a
monoculture is good, and that it is possible to make other codels with
very similar behavior... but I too would prefer the one true
implementation in this draft.

>
> Regards,
>   Roland and Polina
>
> [*] https://github.com/torvalds/linux/blob/master/include/net/codel.h#L341
>
> Am 02.12.2015 um 16:45 schrieb Wesley Eddy:
>
> These both have the intended status designated as "Informational". Similar
> to the questions asked for PIE, we/chairs need to understand if there's
> consensus on:
> - Are these specifications are clear and sufficient quality to publish?
> - Should the status of the RFCs be "Experimental", "Proposed Standard", or
> "Informational"?
>
>
>
> _______________________________________________
> aqm mailing list
> aqm@ietf.org
> https://www.ietf.org/mailman/listinfo/aqm
>