Re: [tsvwg] QUIC with L4S

Sebastian Moeller <moeller0@gmx.de> Wed, 06 July 2022 07:09 UTC

Return-Path: <moeller0@gmx.de>
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 3A810C15C121; Wed, 6 Jul 2022 00:09:54 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.656
X-Spam-Level:
X-Spam-Status: No, score=-6.656 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H2=-0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=gmx.net
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id fUEUx-FWrSJl; Wed, 6 Jul 2022 00:09:49 -0700 (PDT)
Received: from mout.gmx.net (mout.gmx.net [212.227.15.18]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 7DC66C15BED3; Wed, 6 Jul 2022 00:09:49 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1657091380; bh=497kJ7jsWmDwIMiawmdn5/ZUQAxgZl006aXM3MhXBs4=; h=X-UI-Sender-Class:Subject:From:In-Reply-To:Date:Cc:References:To; b=DLUb6tCfTcX2ZoVhj9c5VdvQDueJULAswFeFnilw9phf0+daVFELUKELSQY8+bg68 BeSPuHQiWply1EU7X1+U+V4SmHa+3hFm5zKVWOJc3r+/tgOnZws39iN+kJZ1knXEFK O1rqhi7qQqqPlE5sQBBxWgCMEoCWderhnvlmY/Ko=
X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c
Received: from smtpclient.apple ([134.76.241.253]) by mail.gmx.net (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id 1N8ob6-1nUzWE0ecY-015tkR; Wed, 06 Jul 2022 09:09:40 +0200
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.100.31\))
From: Sebastian Moeller <moeller0@gmx.de>
In-Reply-To: <77332295-c7b7-21aa-7661-af5770b4c249@huitema.net>
Date: Wed, 06 Jul 2022 09:09:38 +0200
Cc: Ingemar Johansson S <ingemar.s.johansson=40ericsson.com@dmarc.ietf.org>, "tsvwg@ietf.org" <tsvwg@ietf.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <FD39D53A-0A47-4609-930A-DFD6526CA49B@gmx.de>
References: <AM8PR07MB8137710DD707BF2DB4FDEA9DC2B89@AM8PR07MB8137.eurprd07.prod.outlook.com> <AM8PR07MB81378A432301907ABFDFC2B8C2B89@AM8PR07MB8137.eurprd07.prod.outlook.com> <77332295-c7b7-21aa-7661-af5770b4c249@huitema.net>
To: Christian Huitema <huitema@huitema.net>
X-Mailer: Apple Mail (2.3696.100.31)
X-Provags-ID: V03:K1:qVV8xL8GC+v2JWaUv6mQiaDU5i7M4jj52LMSFKciGEVS8rj7N9D Tg6hi1zxmtTVU5yZR0Zebgi3/KYZhVSWjVpe/cZNuOIgvTKdPy4VcGErQTFxuLDBw/otUKF PmntOKBxwpnh+8K4f37JhWe0U/FJHPlsATyf66bsBBL4DDaHkbhnMTHn4CiBlwLBhnReZ7I SmUtGCOL3ipycHm+YT77w==
X-UI-Out-Filterresults: notjunk:1;V03:K0:BawsF+S9dCc=:zn6wj5KqVksG9BBqwPJoNW nRalvJLVJNtNCh8qgNtwLne0E5KVLAIPdnyee7Gu8iZW3bcj/a9VCMOsdWx5mZ/08xjCjHluN TG141Mv9VjLDfjWUkgNlcaxRMO7Twu7P8miedeiPBkejXoGnjiO7fWev5CdLZF2Yl6qK++sM1 r+P8gF3InTwvmpR4nUWOOekyTzREx982vTxU4bouhRR3mpRcDND+61tbibhKwU/phZId9fRbx +hPOyO+JE6tlAPAqqmccrqw9jlZqoEaeUmIUmMqiqjLfn0+hmTVKN6lbBgyuMbYoJn1522Keu Dda+kBuuDwiXE0aHnGZB3Vy8VkCyuW6IyuPIN1301jn96jvN/i5IAF2lBFvVPlyvGBXoPyjFx ocIdarTvDNtMvdqKW3TaFDPrOJWveA8h3Djr9J6MAoJe50MiutJSMPFqvax2tzDloGKQCMxXx WdMK6DhYj/5Ci6aaLexPpHixWESY6zskMY1oL0j4t6QA/VJcANANpb+noxSfUwlqL5EPUadhV iwpfq0o1MpA01OcV1IQjFHOb4iK7DYlX3iTd9l9MvJ8z2BAdDcMVJytcMJXAkY3Q2Ln4EHsP0 mH4ewWSlwOjXmnYyfoAy7q/BTqf3B/SVO8ozX7oXme/+PgyEncpOL8rcmamRh/j2lHdrRmj34 gFpQR14zNxRhJdNT2yyv4AB0/UHGvqoWk3PdS1lDqSJnoDyqMaxRlppWUuy1szt/WCxJpLkhN Es+Z9FSUKY9F3OH/WnWDkTR+VEYAd328vszgultq6Pvkz/oRy31IgFc7QudG+NY4ApazSrvt0 lOcMthEcuk5RPYXK1D11Jjy0K2q6+LCB9lMJvq0Sxx/but9gsnAyPHsuLVte3cCIavDF6q8By 9q3sGAvV2zcdHRTSSEJLXIE2gB9CBZCdd1J+2YsG8uvT56fxf8wJmvCvh7Y8uDX04Ff0sEmhS SjjBF20nnNUEIJb7K6zYzjSpiveg15tQ7o5h6yxvR9hj2/FjPAE3ZPt+R2v+6CG7rTA078bz4 AFelkK9+OxUy87cSj6UNxV1GaKJe/HopItUJ5hMQmwcVUWePZ/Z3m67r/EJr8DNacM0L1hpch xxDa+Scvkb1LKHemmHwY4fKHmr6XEs6/+lU2xdHISox6rwCby/dXz7DSw==
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/fYPouQPxcfrk6s2-o1rAe9JOrV0>
Subject: Re: [tsvwg] QUIC with L4S
X-BeenThere: tsvwg@ietf.org
X-Mailman-Version: 2.1.39
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: Wed, 06 Jul 2022 07:09:54 -0000

Hi Christian,

> On Jul 6, 2022, at 00:39, Christian Huitema <huitema@huitema.net> wrote:
> 
> Ingemar,
> 
> The implementation of Prague in Picoquic that you mentioned was really old. I am updating it before checking it in the main branch, and I wrote a little blog about it: https://huitema.wordpress.com/2022/07/05/a-low-latency-internet-with-l4s/
> 
> Is there a new Prague draft? I could only find an obsolete draft from 2019. Maybe I did not look in the right places.
> 
> I found a few issue when doing the implementation:
> 
> * Alpha smoothing does not handle well the sudden onset of congestion. My implementation overrides the smoothing if there are sudden onset of marks, setting "alpha" to "frac" immediately, instead of using 1/16 smoothing. Not doing that improves performance, but also causes a sharp increase in the number of losses.
> 
> * Hysteresis. This is an issue with many  congestion control algorithms. When congestion is noticed, it was caused by the CWIND set 2 RTT before the notification -- the packets sent in the last RTT are still in flight. This is mitigated in Reno by not acting on losses of packets sent before entering recovery. In Prague, ECN marks triggered by these packets do increase the ECN counters, which means alpha increases and we get an extra round of CWIND reduction 1 RTT after the first one.
> 
> * Restart after idle. In my tests, I simulate a suggestion of "GET 1MB", each one starting after the previous is service. That means the sender is idle for 1RTT. On restart, the sender starts with a large CWIND, sends a lot of packets, which causes a bump in latency and a large number of ECN marks. Maybe that's linked to my implementation of pacing using a leaky bucket, and the leaky bucket is too large. I will try fix that, but I suspect the draft should say something about resuming from idle.
> 
> We may also need to do some work on "slow start". My implementation exist slow start on first ECN-CE mark, but at that point there is a full flight of packets in transit, which is going to cause either packet losses or spikes in latency.

	[SM] Is this actually fixable? This seems to require an oracle or alternatively a quick side-effect-free method to empirically estimate a given flows immediate path capacity. Then again, current Prague essentially only works reasonably well on short-RTT paths without bottlenecks with plain FIFOs, so the scenarios were L4S signaling has been demonstrated to work (to some degree) will not suffer from too much data in flight, no?

> 
> I also had to try a couple of different settings for the threshold value used in the simulation. Too low, and the throughput drops. Too high, and the amount of losses increases too much. In the tests, the router has a queue size of 1 BDP, and setting the threshold to BDP/4 appears to work well.

	[SM] I thought both legs of an L4S-AQM engage based on sojourn time (either measured directly or estimated from queue size and known egress rate), why does the maximal length of the queue matter here? What AQM are you using?


> 
> I am going to test more scenarios, such as starting with a high bandwidth and simulating a rapid decrease, or vice versa. Also, testing what happens with higher bandwidth and RTT. And looking at ways to plug the Prague concepts in BBR, possibly as a way to replace the "scan for min RTT" phases of BBR. In any case, the initial results seem encouraging.
> 
> -- Christian Huitema
> 
> On 6/28/2022 1:02 AM, Ingemar Johansson S wrote:
>> And to clarify, as indicated by the subject line. QUIC with L4S support
>> 
>> /Ingemar
>> 
>> From: Ingemar Johansson S <ingemar.s.johansson@ericsson.com>
>> Sent: Tuesday, 28 June 2022 09:47
>> To: tsvwg@ietf.org
>> Cc: Ingemar Johansson S <ingemar.s.johansson@ericsson.com>
>> Subject: QUIC with L4S
>> 
>> Hi
>> 
>> A fairly short question.
>> What QUIC implementations, open source and well as propietary exist today.
>> I know of the following
>> + Apples implementation, presented by Vihdi Goel
>> + Pico-quic with Prague maintained/presented by Bob, Koen and others ( https://github.com/qdeconinck/picoquic/tree/quic-prague )
>> 
>> Are there any other examples available ?
>> 
>> Regards
>> /Ingemar
>> ==================================
>> Ingemar Johansson M.Sc.
>> Master Researcher
>> 
>> Ericsson AB
>> GFTL ER Networks RNS Protocol & E2E Perf
>> Labratoriegränd 11
>> 977 53, Luleå, Sweden
>> Phone +46-1071 43042
>> SMS/MMS +46-73 078 3289
>> ingemar.s.johansson@ericsson.com<mailto:ingemar.s.johansson@ericsson.com>
>> www.ericsson.com<http://www.ericsson.com/>
>> 
>> Your're always standing on the shoulders
>> of something that you've experienced
>> May El-Toukhy
>> ===================================