Re: [Webtransport] Flow Control for high-throughput Streams

David Schinazi <dschinazi.ietf@gmail.com> Sun, 24 March 2024 07:16 UTC

Return-Path: <dschinazi.ietf@gmail.com>
X-Original-To: webtransport@ietfa.amsl.com
Delivered-To: webtransport@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 2C3BDC15106E for <webtransport@ietfa.amsl.com>; Sun, 24 Mar 2024 00:16:25 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.105
X-Spam-Level:
X-Spam-Status: No, score=-7.105 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, 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 (2048-bit key) header.d=gmail.com
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 I3PbTDfj_UdX for <webtransport@ietfa.amsl.com>; Sun, 24 Mar 2024 00:16:21 -0700 (PDT)
Received: from mail-ej1-x62e.google.com (mail-ej1-x62e.google.com [IPv6:2a00:1450:4864:20::62e]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 55E48C151071 for <webtransport@ietf.org>; Sun, 24 Mar 2024 00:16:21 -0700 (PDT)
Received: by mail-ej1-x62e.google.com with SMTP id a640c23a62f3a-a4702457ccbso444614366b.3 for <webtransport@ietf.org>; Sun, 24 Mar 2024 00:16:21 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1711264579; x=1711869379; darn=ietf.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=iWRa2GH/+j1/IrglYd9qR0EX2kGA3ykP2Ck51BM+9NM=; b=P9jAz60bseKIasRBd5iJLIi/gZoKzTxKcHWYmvBXVdwLOsB7thXqSav9B1PASgdrWf gpKBeKBrWlkGu16ntmzqz1WacRdUkxvhzjw4XqsheB/nS6AUi2+yX3H0EV2rJqHcVDxI aixWkEHgqpQpHy7RALGd7aYIutq/DgScD2bmhLNiaVYRwd+uJXJoCQC/jopu33DiDauU ff5frgCYr390fV4pzT3RlJvv7yQH4l06z1xlJHa+Q6d+SzcifHSTybUeS9muJDJnxmL8 +3ZrD+mX+TwVldeg//cObPhmeHDjs6ZW7KkwftTbSBcoKEHnGGGBsSJxk9z/+8dFZhHn KRzg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711264579; x=1711869379; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=iWRa2GH/+j1/IrglYd9qR0EX2kGA3ykP2Ck51BM+9NM=; b=Ct4aDUfXiD2Eo+XZ0nXeZ7t39dhC15+BzOKsy+UE5XxIwGjdlcpTYsDrKAcE9hOb3v /sPP1afNZVWHhbcpkiVAntXoDt2Qi8hin417tzKujB8vf4NNqGYB454UQBC/94SUfjd+ spjmToliB2tL4Ch546n8yZy0vY3ZZoWyEZT+Kq0QzVl6Fwn0ysvu813miGKXp4Guw1xU FrPTjJ9ukJdbmnPQ8r+MfOIxO4GNJgVSdHiTDdfUUjpy6bLVaWjBrQw6CCyvBNK0Yz2b OkR6lIjDb96a/XO7epH6u4Hzb8Pkj6GYHkuzLfW9nYVmunzPFV3kll10pWvfJGL+0vRz ER8Q==
X-Gm-Message-State: AOJu0Yy+9Vyw7FS/P3VTkLngoaHkAiyW8BqmzxjhYTgsCaeAiVpVzxin MF553TRautMHM61qNqOzUFbgVyLW83+RHXDn0SwrIIWKkqw+uB/g6f/REs2YI61RF0faOzqaiom 4IUQNMcbrxv+1+QsLUaCOa486G9M=
X-Google-Smtp-Source: AGHT+IFzCZ0gerS9XhltiSzdxzwqvpmKMEJyFPKLHDQEp18fGU/u3L42scXSWQgTNKKV4kKLac/qrI32Ntt+2rA6Rho=
X-Received: by 2002:a17:907:1002:b0:a46:e921:ae3f with SMTP id ox2-20020a170907100200b00a46e921ae3fmr2494185ejb.13.1711264579380; Sun, 24 Mar 2024 00:16:19 -0700 (PDT)
MIME-Version: 1.0
References: <CAOYVs2qshgTP6SaB0KtwvMixQ_pHKYUajfHzDqf1eG04-hAk7w@mail.gmail.com>
In-Reply-To: <CAOYVs2qshgTP6SaB0KtwvMixQ_pHKYUajfHzDqf1eG04-hAk7w@mail.gmail.com>
From: David Schinazi <dschinazi.ietf@gmail.com>
Date: Sun, 24 Mar 2024 17:16:07 +1000
Message-ID: <CAPDSy+4aUh1_rELbhckWr6Vy8RcVT0REB+ybHok7gEpNJ+=Kbg@mail.gmail.com>
To: Marten Seemann <martenseemann@gmail.com>
Cc: WebTransport <webtransport@ietf.org>
Content-Type: multipart/alternative; boundary="0000000000005eee5f061462d5cd"
Archived-At: <https://mailarchive.ietf.org/arch/msg/webtransport/zPIVp1_eL9zDinckb3fkhqITyHg>
Subject: Re: [Webtransport] Flow Control for high-throughput Streams
X-BeenThere: webtransport@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: WebTransport WG <webtransport.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/webtransport>, <mailto:webtransport-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/webtransport/>
List-Post: <mailto:webtransport@ietf.org>
List-Help: <mailto:webtransport-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/webtransport>, <mailto:webtransport-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 24 Mar 2024 07:16:25 -0000

(I'm speaking as individual contributor)

I'd like to see data showing that this is a problem in practice. If it
appears to be an issue, I'm not sure that changing the wire format is the
best solution. This issue can be solved by having the QUIC stream layer
retransmit all of the unacked data on the WebTransport stream every time it
tries to send a subsequent flow control frame. That would provide very
similar performance properties without complicating flow control for
everyone.

David

On Tue, Mar 19, 2024 at 7:47 PM Marten Seemann <martenseemann@gmail.com>
wrote:

> After the discussion we had in yesterday’s session, I’ve spent some more
> time thinking about how and in which situations the HoL blocking introduced
> by putting flow control capsules on a control stream might hurt
> performance. Unfortunately, this is not an edge case, but a fairly common
> scenario.
>
> Consider an application transferring a large amount of data on a single
> stream. In QUIC, the receiver would select or auto-tune the stream receive
> window to slightly exceed the connection's BDP, assuming it sends
> MAX_STREAM_DATA frames multiple times per RTT. This ensures that
> flow-control doesn’t block the transfer. If MAX_STREAM_DATA is sent less
> frequently, a window slightly larger than the BDP is needed to be able to
> fully utilize the available bandwidth.
>
> For connections not terminating at a CDN's edge, BDPs can be quite large
> due to the longer RTTs. For instance, a 200ms RTT connection with a
> bandwidth of 1 Gbps has a BDP of 25 MB.
>
> When packet loss occurs on the WebTransport control stream (in upstream
> direction), no capsules can be read until this packet loss is repaired,
> which takes at least (since loss detection might take some time as well) 1
> RTT. This applies even if the control stream is given the highest priority
> when sending. For a BDP-sized flow control window, this means that the
> high-throughput stream (in downstream direction) is now blocked on flow
> control until the retransmission arrives (i.e. for at least 1 RTT).
>
> The solution suggested in yesterday's session, "just use higher flow
> control limits," would mean increasing the stream flow control window to
> (at least!) 50 MB from 25 MB for our example. This approach seems
> unappealing from a resource allocation standpoint.
> --
> Webtransport mailing list
> Webtransport@ietf.org
> https://www.ietf.org/mailman/listinfo/webtransport
>