Re: [tsvwg] [Ecn-sane] CNQ cheap-nasty-queuing (was per-flow queuing)

Luca Muscariello <muscariello@ieee.org> Tue, 23 July 2019 11:36 UTC

Return-Path: <muscariello@ieee.org>
X-Original-To: tsvwg@ietfa.amsl.com
Delivered-To: tsvwg@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 45BF51201EA for <tsvwg@ietfa.amsl.com>; Tue, 23 Jul 2019 04:36:05 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Level:
X-Spam-Status: No, score=-1.999 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=ieee.org
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 4xZSPaMrsJ_s for <tsvwg@ietfa.amsl.com>; Tue, 23 Jul 2019 04:36:02 -0700 (PDT)
Received: from mail-wr1-x42c.google.com (mail-wr1-x42c.google.com [IPv6:2a00:1450:4864:20::42c]) (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 F07021200C4 for <tsvwg@ietf.org>; Tue, 23 Jul 2019 04:36:01 -0700 (PDT)
Received: by mail-wr1-x42c.google.com with SMTP id z1so42771359wru.13 for <tsvwg@ietf.org>; Tue, 23 Jul 2019 04:36:01 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ieee.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=nR9lNeKx9Prk6xkIlY4euICDNb3oBUgxvBol1iXdRBw=; b=ZqBD8nQGBeheZvfLrHGO6WwcrR0Udpwsgpcy/vGHuljsxWZ4s1k5XN+HL4I1gU9Vqk uxk219+jdRGZa4acGk1q9lHvsUFwahv0K3wXD/Kz9UEJs29NqnEi+YtHSSW/ozo008xZ e/TiaMDSoGzMrs93H+KxXegKGK8vUqqP4jyEo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=nR9lNeKx9Prk6xkIlY4euICDNb3oBUgxvBol1iXdRBw=; b=ZnzgNHG/ASI3/lnZbbSajBVKGVrZ7euLcPF6aBf0lPaTyAE7+7x1h72uWuVApXRZUf PC3kX7kRWwGwoLNiiQQexkzrZEekcBIXdo2nl8VEa3EUGppCfxORGRA/FaMrWR24Op5V 87/H4I1yZqlayInzdmW9tSMLbbg3zMVWsAG8RXqLx7ZTgn79b6L3SxJ3fn6el8NE4hnX jNTka5L5UYlmJ+DXBGslx5oZND/GdEXSWUg07oK/lGXSdINmjI2V/3Tehdx4RJftB5Sh vrw0cUUlZiC4lWh/xlh81xF5TxsD7/PQLaESrZpIoE23kawTV8qciMr31Pgol4P4Okhl FvZw==
X-Gm-Message-State: APjAAAWGaN/RzLY3s8Yb9jRUXzOj8lynmg/5WJfRg3g74SijEX/myvbs K1O1hMBDuEmw3Wqbz0hErOff1VuDldlcNV2ZrCyU1/RXLP4=
X-Google-Smtp-Source: APXvYqzif02nCSTwaJraTPM5iyTUD3sLNq40nPevpEM4c0sJaHgVJyZ3kO06fbBywi0xwzJS0NkncPuWYCDVnNI9w0Y=
X-Received: by 2002:a5d:46cf:: with SMTP id g15mr83987275wrs.93.1563881760250; Tue, 23 Jul 2019 04:36:00 -0700 (PDT)
MIME-Version: 1.0
References: <350f8dd5-65d4-d2f3-4d65-784c0379f58c@bobbriscoe.net> <40605F1F-A6F5-4402-9944-238F92926EA6@gmx.de> <1563401917.00951412@apps.rackspace.com> <D1595770-9481-46F6-AC50-3A720E28E03D@gmail.com> <d8911b7e-406d-adfd-37a5-1c2c20b353f2@bobbriscoe.net> <8741152A-EBF0-48F4-A123-B34A638322A1@gmail.com>
In-Reply-To: <8741152A-EBF0-48F4-A123-B34A638322A1@gmail.com>
From: Luca Muscariello <muscariello@ieee.org>
Date: Tue, 23 Jul 2019 13:35:49 +0200
Message-ID: <CAH8sseQ5SG2vy0t5y9m9C+jEpp19WP7pfVn92+TpaVXrRAUQUQ@mail.gmail.com>
To: "ecn-sane@lists.bufferbloat.net" <ecn-sane@lists.bufferbloat.net>, tsvwg IETF list <tsvwg@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000ca7fda058e579816"
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/Y3ocbIWqSlg0-Bum_aBpS5cxkXQ>
Subject: Re: [tsvwg] [Ecn-sane] CNQ cheap-nasty-queuing (was per-flow queuing)
X-BeenThere: tsvwg@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Transport Area Working Group <tsvwg.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tsvwg/>
List-Post: <mailto:tsvwg@ietf.org>
List-Help: <mailto:tsvwg-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 23 Jul 2019 11:36:05 -0000

Starting a new thread as it looks like this new proposal can be
integrated in a modular way with several other loosely coupled
components by just using two hardware queues, which are
already available in current HW.

Modifications would just be in the ingress  enqueue time “self-classifier”.

It also looks like possible to append different optional packet droppers
to the backlogged queue such as AFD or others to provide
some level of flow protection to backlogged flows as well.



On Tue, Jul 23, 2019 at 7:01 AM Jonathan Morton <chromatix99@gmail.com>
wrote:

>
> It is true that SCE doesn't inherently carry a label distinguishing its
> traffic from the general set, and thus DualQ cannot be directly applied to
> it.  But there is a straightforward way to perform this labelling if
> required, right next door in the Diffserv field.  The recently proposed NQB
> DSCP would likely be suitable.  I don't think that the majority of
> potential SCE users would need or even want this distinction (the primary
> benefit of SCE being better link utilisation by eliminating the traditional
> deep sawtooth), but the mechanism exists, orthogonally to SCE itself.
>
> I have also drawn up, as a straw-man proposal, CNQ - Cheap Nasty Queuing:
>
>
> https://tools.ietf.org/html/draft-morton-tsvwg-cheap-nasty-queueing-00
>
> This is a single-queue AQM, plus a side channel for prioritising sparse
> flows, although the definition of "sparse" is much stricter than for a true
> FQ implementation (even LFQ).  In essence, CNQ treats a flow as sparse if
> its inter-packet gap is greater than the sojourn time of the main queue,
> and does not attempt to enforce throughput fairness.  This is probably
> adequate to assist some common latency-sensitive protocols, such as ARP,
> SSH, NTP and DNS, as well as the initial handshake of longer-lived bulk
> flows.  You will also notice that there is support for SCE in the
> application of AQM, though the AQM algorithm itself is only generically
> specified.
>
> In common with a plain single-queue AQM, CNQ will converge to approximate
> fairness between TCP-friendly flows, while keeping typical latencies under
> reasonable control.  Aggressive or meek flows will also behave as expected
> for a single queue, up to a limit where an extremely meek flow might fall
> into the sparse queue and thus limit its ability to give way.  This limit
> will relatively depend on the latency maintained in the main queue, and
> will probably be several times less than the fair share.
>
> I hope this serves to illustrate that I'm not against single-queue AQMs in
> an appropriate context, but that their performance limitations need to be
> borne in mind.  In particular, I consider a single-queue AQM (or CNQ) to be
> a marked improvement over a dumb FIFO at any bottleneck.
>
>  - Jonathan Morton
>
> _______________________________________________
> Ecn-sane mailing list
> Ecn-sane@lists.bufferbloat.net
> https://lists.bufferbloat.net/listinfo/ecn-sane
>