Re: [L4s-discuss] Irregularities in results from L4S testing

Matteo Guarna S303434 <matteo.guarna@studenti.polito.it> Wed, 13 September 2023 13:21 UTC

Return-Path: <matteo.guarna@studenti.polito.it>
X-Original-To: l4s-discuss@ietfa.amsl.com
Delivered-To: l4s-discuss@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 70BFAC151097 for <l4s-discuss@ietfa.amsl.com>; Wed, 13 Sep 2023 06:21:16 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.306
X-Spam-Level:
X-Spam-Status: No, score=-4.306 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_MED=-2.3, 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=studenti.polito.it
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 1ayw3y1VjuLg for <l4s-discuss@ietfa.amsl.com>; Wed, 13 Sep 2023 06:21:12 -0700 (PDT)
Received: from compass.polito.it (compass.polito.it [130.192.55.110]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id AB88FC14CE54 for <l4s-discuss@ietf.org>; Wed, 13 Sep 2023 06:21:11 -0700 (PDT)
Received: from compass-fwd (localhost [127.0.0.1]) by compass.polito.it (Postfix) with ESMTP id 9C5516001732 for <l4s-discuss@ietf.org>; Wed, 13 Sep 2023 15:21:08 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1]) by compass.polito.it (Postfix) with ESMTP id 9B038600172C for <l4s-discuss@ietf.org>; Wed, 13 Sep 2023 15:21:08 +0200 (CEST)
Authentication-Results: compass.polito.it (amavisd-new); dkim=pass (1024-bit key) reason="pass (just generated, assumed good)" header.d=studenti.polito.it
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d= studenti.polito.it; h=user-agent:x-sender:message-id:references :in-reply-to:subject:subject:to:from:from:date:date :content-transfer-encoding:content-type:content-type :mime-version:received:received; s=y2k10; t=1694611267; bh=ZZNZ6 63Plyr5wApiCAOBR01TDsoCaYfgPECjiMyQUiQ=; b=hPXckYpkGTqQcwclFZEvY rLlbTOiayd4/tPRz1mcqeSuDgqIMw4Qrq3Fc6rM89XKSOHVsImnq9ZxYie+fOY26 u1nOmY5i5m5CyjDad2Prm1stW673LPZofhzwy/QAi0MzdxZqUFA/WGWNVJwImWWb p1Zg7HtOnqTtGLPeBP0DBA=
X-Virus-Scanned: amavisd-new at studenti.polito.it
Received: from compass.polito.it ([127.0.0.1]) by localhost (compass.polito.it [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id cSO9JfjlHkiF for <l4s-discuss@ietf.org>; Wed, 13 Sep 2023 15:21:07 +0200 (CEST)
X-AccountStatus: yes
Received: from mail.studenti.polito.it (mail.studenti.polito.it [130.192.55.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: s256987@studenti.polito.it) by compass.polito.it (Postfix) with ESMTPSA id AB0FF6001730 for <l4s-discuss@ietf.org>; Wed, 13 Sep 2023 15:21:07 +0200 (CEST)
MIME-Version: 1.0
Content-Type: text/plain; charset="US-ASCII"; format="flowed"
Content-Transfer-Encoding: 7bit
Date: Wed, 13 Sep 2023 15:21:07 +0200
From: Matteo Guarna S303434 <matteo.guarna@studenti.polito.it>
To: l4s-discuss@ietf.org
In-Reply-To: <6E33F523-CDED-4145-A938-73F770A6B866@gmx.de>
References: <181d20c79294d87ca7e3c4a398457cb2@studenti.polito.it> <6460de788e810fc720d196304e9cd228@studenti.polito.it> <8eea45b1cd4862fa731babeab073fc74@studenti.polito.it> <AM9PR07MB73130E1E7EB61029EC1D0196B9EFA@AM9PR07MB7313.eurprd07.prod.outlook.com> <6E33F523-CDED-4145-A938-73F770A6B866@gmx.de>
Message-ID: <9a1f1e733e29f36149e64d20f1014e54@studenti.polito.it>
X-Sender: matteo.guarna@studenti.polito.it
User-Agent: Roundcube Webmail/1.2-rc
X-Webmail-IP: [ 62.77.47.80 ]
X-Encoded-IP: +fL6+3LkkMgZPTOyijA0Czw08akIZy1Mo7PpVo5V2OuOm45E/DLpb3s1iKevcRORykHSO+aX1pMKtcQIwt5bKXugRvtkIBp4
Archived-At: <https://mailarchive.ietf.org/arch/msg/l4s-discuss/22JWdJKmMra5kKk4H2WpyaY5e-k>
Subject: Re: [L4s-discuss] Irregularities in results from L4S testing
X-BeenThere: l4s-discuss@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: "Low Latency, Low Loss, Scalable Throughput \(L4S\) " <l4s-discuss.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/l4s-discuss>, <mailto:l4s-discuss-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/l4s-discuss/>
List-Post: <mailto:l4s-discuss@ietf.org>
List-Help: <mailto:l4s-discuss-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/l4s-discuss>, <mailto:l4s-discuss-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 13 Sep 2023 13:21:16 -0000

Hi Sebastian,
thanks again for the previous answer, and thank you the same in advance 
for your assistance

> Hi Matteo,
> 
> 
>> On Sep 6, 2023, at 17:13, Koen De Schepper (Nokia) 
>> <koen.de_schepper=40nokia-bell-labs.com@dmarc.ietf.org> wrote:
>> 
>> Hi Matteo,
>> 
>>>> 1 - The TCP-Prague and TCP-Cubic flows do not seem to equitably 
>>>> share available bandwidth. In some cases, TCP-Prague appears to 
>>>> consume up to two/thirds of the channel's capacity.
>> 
>> We do not expect exact equal throughput, which is also not possible 
>> with current Classic congestion controls, at least assuming the NW 
>> does not identify the different application flows. There are known and 
>> explainable/accepted
> 
> 	[SM] I will note, that "acceptable" needs to be qualified. ATM only
> the designers of L4S and the majority of (self-selected) members of
> the IETF's TSV working group consciously accepted that trade-off, that
> is by all means not an unbiased sample (and also not a representative
> sample of any meaningful internet-wide group)... "explainable" I
> agree, but "accepted" I object to, these should be fixed in the L4S
> design given that we know where the failures come from (partly as part
> of the AQM specification, partly as part of the protocol
> specification).
> 

           [MG] I would like to know if you're aware of any official 
document raising this problem, as I couldn't find anything myself.

> 
>> deviations from the exact equal rates as well in L4S-only 
>> combinations, as in Classic-only combinations and by consequence also 
>> in a combination of both. The goal is to make flows share the capacity 
>> good enough, so that a user's applications don't get denied service 
>> when sharing a common bottleneck.
> 
> 	[SM] Again I note that "denied service" was never defined
> numerically, making it rather hard to assess what constitutes "good
> enough". That said, I principally agree that there needs to be some
> level of slack, and I would argue that something like "random ratios
> in the range of 1:4 to 4:1" are good enough, that is allow some
> deviation UNLESS that deviation is systemically biased to one of the
> classes under analysis.

           [MG] Here I also wonder if this is only an educated guess or 
if it may have something to do with the "k" coupling parameter set by 
default to "k=2" in the Dual-Queue algorithm in order to preserve the 
fairness between classic and L4S traffic. As in the RFC 9332 ( 
https://datatracker.ietf.org/doc/html/rfc9332 ), in the appendix A it's 
in fact stated:

In line 11 of the initialization function (Figure 2), the maximum 
Classic drop probability p_Cmax
= min(1/k^2, 1) or 1/4 for the default coupling factor k = 2. In 
practice, 25% has been found to be a
good threshold to preserve fairness between ECN-capable and 
non-ECN-capable trafc. This
protects the queues against both temporary overload from responsive fows 
and more persistent
overload from any unresponsive trafc that falsely claims to be 
responsive to ECN.


Grateful for your willingness

Matteo


> 
> Regards
> 	Sebastian
> 
> 
>> The main goal of L4S on top of this is to make sure that applications 
>> get as low as possible latency and as smooth as possible throughput 
>> while competing for that share.
>> These latter objectives are much more important than throughput for 
>> interactive applications.
>> Due to this lower latency the effective Prague RTTs are much smaller, 
>> potentially giving large benefits to Prague flows in NWs that have a 
>> small base (unloaded) RTT. The RTT-independent Prague requirement l
>> argely fixes this for most low base RTT cases.
>> 
>>>> 2 - Upon inspecting the packets to assess the correctness of the 
>>>> protocol's behavior
>> 
>> As Vidhi already commented, this is due to the changed TCP-ECN echo 
>> protocol called accurate ECN. As this is a 3 bit running number, any 
>> of those 3 bits are expected to be 50% on and off, which your 5/9th 
>> ratio is as expected very close to.
>> 
>> Regards,
>> Koen.
>> 
>> 
>> -----Original Message-----
>> From: Matteo Guarna S303434 <matteo.guarna@studenti.polito.it>
>> Sent: Tuesday, September 5, 2023 9:44 PM
>> To: l4s-discuss@ietf.org
>> Subject: [L4s-discuss] Irregularities in results from L4S testing
>> 
>> Greetings,
>> 
>> I am currently conducting research for my thesis on the L4S suite. As 
>> part of my research, I have deployed a simple testbed to examine the 
>> behavior of a TCP-Prague data flow when deployed in conjunction with a 
>> TCP-Cubic flow on a congested, L4S-capable network link.
>> 
>> For the network configuration and host setup, I have utilized the 
>> source code available at the following GitHub repository:
>> 
>> https://github.com/L4STeam/linux/tree/testing .
>> 
>> While my initial tests have been generally successful, I have 
>> encountered two specific issues:
>> 
>> 1 - The TCP-Prague and TCP-Cubic flows do not seem to equitably share 
>> available bandwidth. In some cases, TCP-Prague appears to consume up 
>> to two/thirds of the channel's capacity.
>> 
>> 2 - Upon inspecting the packets to assess the correctness of the 
>> protocol's behavior, I observed that the proportion of TCP-Prague ACK 
>> packets with the TCP ECE (Explicit Congestion Notification Echo) flag 
>> is approximately 5/9 of the total ACK packets, while the percentage of 
>> transmitted packets marked by the queue remains consistently at around 
>> 8%. While I did not anticipate a strict 1:1 ratio, this result still 
>> strikes me as peculiar.
>> 
>> Additionally, I noted that all TCP-Prague packets inherently carry the 
>> CWR (Congestion Window Reduced) flag by default. It appears to me (if 
>> I'm not mistaken) to be an intentional implementation choice by the 
>> developers, as detailed in the source code found at 
>> https://github.com/L4STeam/linux/blob/testing/net/ipv4/tcp_prague.c , 
>> specifically beginning at line 53. I would appreciate confirmation 
>> regarding this implementation choice and assurance that it does not 
>> adversely impact its compliance with the standard.
>> 
>> I extend my sincere gratitude in advance to anyone who can provide 
>> insights or assistance with these matters.
>> 
>> Best regards,
>> 
>> Matteo Guarna
>> 
>> 
>> P.s.
>> 
>> I someone wants a more detailed insight regarding my testplant and my 
>> results, I had tried to ask for help by opening an issue on the 
>> repository's github, where I provided a more in-depth description of 
>> my experiment. The conversation is available here:
>> 
>> https://github.com/L4STeam/linux/issues/21
>> 
>> 
>> --
>> L4s-discuss mailing list
>> L4s-discuss@ietf.org
>> https://www.ietf.org/mailman/listinfo/l4s-discuss