Re: [L4s-discuss] Configuring a L4S test plant
Matteo Guarna S303434 <matteo.guarna@studenti.polito.it> Wed, 04 October 2023 09:48 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 D0982C1519AB for <l4s-discuss@ietfa.amsl.com>; Wed, 4 Oct 2023 02:48:43 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.006
X-Spam-Level:
X-Spam-Status: No, score=-2.006 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_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 ZZH1lFepZf33 for <l4s-discuss@ietfa.amsl.com>; Wed, 4 Oct 2023 02:48:39 -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 C4DDEC09015C for <l4s-discuss@ietf.org>; Wed, 4 Oct 2023 02:48:20 -0700 (PDT)
Received: from compass-fwd (localhost [127.0.0.1]) by compass.polito.it (Postfix) with ESMTP id A50F3600172E for <l4s-discuss@ietf.org>; Wed, 4 Oct 2023 11:48:17 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1]) by compass.polito.it (Postfix) with ESMTP id A39AB6001720 for <l4s-discuss@ietf.org>; Wed, 4 Oct 2023 11:48:17 +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=1696412896; bh=o2NPF bokLx6wxqwHxod6IGEFsOIC9TA3fOtYaaTnykg=; b=qSzLMo/VnoUPLJj787dRf eDwrYK7F9MlOBYNBLgFurs83aBXpsFa8XqGWC94kQrqvcV50tftH8w+x0S6VHhYs WTViTrcy6TmuzF0u13zl4WlVQ8UdsR8qUAmbspmmSHNqsHi8H5+CX8H+tBbYXSK6 AWuJyQnhu0Fj/rrKSXn4SY=
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 N-X5VO9a9N1k for <l4s-discuss@ietf.org>; Wed, 4 Oct 2023 11:48:16 +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 E632D6001721 for <l4s-discuss@ietf.org>; Wed, 4 Oct 2023 11:48:16 +0200 (CEST)
MIME-Version: 1.0
Content-Type: text/plain; charset="US-ASCII"; format="flowed"
Content-Transfer-Encoding: 7bit
Date: Wed, 04 Oct 2023 11:48:16 +0200
From: Matteo Guarna S303434 <matteo.guarna@studenti.polito.it>
To: l4s-discuss@ietf.org
In-Reply-To: <230D9924-C32F-4DE8-8BBD-F3D35D94B05B@gmx.de>
References: <7952e11516cc7b25484b53ae1380d88c@studenti.polito.it> <230D9924-C32F-4DE8-8BBD-F3D35D94B05B@gmx.de>
Message-ID: <b82b81e36e168f6e627798d8cd588db8@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: YxypfLApKB7Sgg0zbckLeZOF1MKXjSQR6GZRA1DUbWEnPh6EHs50W0R03IwCi69QNshUptMjgXcAcHcm0/tsTmWpqFoGsMGf
Archived-At: <https://mailarchive.ietf.org/arch/msg/l4s-discuss/9lXowThLQnG1J1nqmNma8Mk8SBc>
Subject: Re: [L4s-discuss] Configuring a L4S test plant
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, 04 Oct 2023 09:48:43 -0000
Hi Sebastian and thank you for your answer Il 2023-10-03 16:39 Sebastian Moeller ha scritto: > Hi Matteo. > >> On Oct 3, 2023, at 15:42, Matteo Guarna S303434 >> <matteo.guarna@studenti.polito.it> wrote: >> >> Greetings everyone, >> >> I hope the question isn't too off-topic, please forgive me in advance >> if it is so. >> >> I am still trying to perform some fairness measurements with both L4S >> and classic flow, although now on a physical test plant instead of a >> virtualized one. I'm relying on the L4STeam Github project for the >> deployment of the L4S architecture and I am looking for someone who's >> familiar with the project and might be willing to help me: in fact I >> seem not to be able to achieve the correct configuration. >> >> My setup is very simple: I have four servers (two senders and two >> receivers) exchanging two traffic flows through one server acting as a >> router. One client-server pair uses Prague as CC, while the other uses >> Cubic. All servers have the patched kernel provided in the >> https://github.com/L4STeam/linux/ repository branch. >> >> If I trigger a congestion on the router by generating both the Prague >> and the Cubic flows (let's say the flows measure 100 Mbit/s each, and >> they come though a L2 switch both on the same router's input interface >> on a 1Gb Ethernet link; only a 100M link though is in place on the >> output interface towards the receivers) I see the L4S flow having >> higher delay, higher jitter and a smaller (and more variable) >> bandwidth share. The Prague share is 1/4 of the Cubic share. I am >> sending an attachment with a graphical representation of the scenario >> here described. >> >> I configured my L4S endpoints as follows: >> >> - I set the CC as tcp Prague (sysctl -w >> net.ipv4.tcp_congestion_control=prague) >> - I set the AccEcn, even if it's not necessary apparently (sysctl -w >> net.ipv4.tcp_ecn=3) >> - I disabled the required offloading capabilities on the endpoints >> (sudo ethtool -K $NETIF tso off gso off gro off lro off) > > [SM] I think you need to do the same on the router... or with your > topology with running prague and cubic over separate end-points > especially on the router itself. Side-node, sch_cake grew a split-gso > mode to automatically handle this issue because it can be a bit of a > whack-a-mole problem to make these configs stick (and in the case of > cake the idea was to make deployment easy even for non-experts). [MG] I tried as you suggested and unfortunately the situation remains unvaried. Still, I think I missed the point regarding sch_cake, could you explain again what it is and if and how could it be useful? Apologize, I guess I perfectly fit into the definition of "non experts". I tried to look it up on the internet but I struggled to find any clarification. >> - I configured the fair queue on the endpoints (sudo tc qdisc replace >> dev $NETIF root fq) >> >> I configured my router as follows: >> >> - I enabled forwarding through these interfaces to obtain the routing >> capabilities (sudo sysctl -w net.ipv4.ip_forward=1) >> - I set the dualpi2 on both interfaces (sudo tc qdisc replace dev >> $NETIF root dualpi2) >> >> I then applied the fair queue and disabled the offloading capabilities >> on both my classic endpoints to ensure that the classic and l4s flows >> act as fairly as possible, but to no avail (even without these >> precautions the results remain roughly the same). > > [SM] Again, I think with your topology offloads at the endpoints > should not have much influence, but at the router the well might. If > that turns out to help this might be explained by Prague's (and/or > DualQ's L-queue) considerably higher sensitivity to bursty traffic > compared to classic traffic and queue. > >> >> I am sure I am missing some important details in the setup, and I >> would really appreciate some help. > > [SM] To me this looks rather straight forward, and I probably would > try something similar, but I did not actually try in practice. > > Regards & good luck > Sebastian > [MG] Thanks in advance for your help, and if you have other tips or if you (or anyone else for that matter) are by any chance aware of a paper or project using the prague branch of the L4STeam repository, that might indeed be really helpful too. My best regards to you and the community, Matteo > >> >> Regards, >> >> Matteo >> >> P.s. >> I just want to point out that by looking at the packet traces >> everything seems fine: Prague carries the ECN=1, the dualpi2 marks >> packets with ECN=3, the AccEcn control signals on the ACE fields are >> coherent, and no losses occur in the Prague flow, while they do happen >> with the Cubic flow. It looks like Prague is underperforming for >> whatever reason. Furthermore, if I switch back to two Cubic flows I >> measure perfect share, equal delay and equal jitter, so it looks to me >> like there are no physical impairments on the >> testbed.<testplant_issue.pdf>-- >> L4s-discuss mailing list >> L4s-discuss@ietf.org >> https://www.ietf.org/mailman/listinfo/l4s-discuss
- [L4s-discuss] Configuring a L4S test plant Matteo Guarna S303434
- Re: [L4s-discuss] Configuring a L4S test plant Sebastian Moeller
- Re: [L4s-discuss] Configuring a L4S test plant Matteo Guarna S303434
- Re: [L4s-discuss] Configuring a L4S test plant Sebastian Moeller
- Re: [L4s-discuss] Configuring a L4S test plant Neal Cardwell
- Re: [L4s-discuss] Configuring a L4S test plant Matteo Guarna S303434
- Re: [L4s-discuss] Configuring a L4S test plant Neal Cardwell
- Re: [L4s-discuss] Configuring a L4S test plant Matteo Guarna S303434
- Re: [L4s-discuss] Configuring a L4S test plant Sebastian Moeller
- Re: [L4s-discuss] Configuring a L4S test plant Sebastian Moeller
- Re: [L4s-discuss] Configuring a L4S test plant Matteo Guarna S303434
- Re: [L4s-discuss] Configuring a L4S test plant Matteo Guarna S303434
- Re: [L4s-discuss] Configuring a L4S test plant Sebastian Moeller
- Re: [L4s-discuss] Configuring a L4S test plant Sebastian Moeller
- Re: [L4s-discuss] Configuring a L4S test plant Matteo Guarna S303434
- Re: [L4s-discuss] Configuring a L4S test plant Sebastian Moeller
- Re: [L4s-discuss] Configuring a L4S test plant Koen De Schepper (Nokia)