[Webtransport] Flow Control for high-throughput Streams
Marten Seemann <martenseemann@gmail.com> Tue, 19 March 2024 09:47 UTC
Return-Path: <martenseemann@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 3849AC14F73F for <webtransport@ietfa.amsl.com>; Tue, 19 Mar 2024 02:47:52 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.107
X-Spam-Level:
X-Spam-Status: No, score=-2.107 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_NONE=-0.0001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01] 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 Q3w4n52aNToo for <webtransport@ietfa.amsl.com>; Tue, 19 Mar 2024 02:47:51 -0700 (PDT)
Received: from mail-ej1-x62f.google.com (mail-ej1-x62f.google.com [IPv6:2a00:1450:4864:20::62f]) (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 B6009C14F5F4 for <webtransport@ietf.org>; Tue, 19 Mar 2024 02:47:51 -0700 (PDT)
Received: by mail-ej1-x62f.google.com with SMTP id a640c23a62f3a-a466fc8fcccso637347766b.1 for <webtransport@ietf.org>; Tue, 19 Mar 2024 02:47:51 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1710841668; x=1711446468; darn=ietf.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=aY+qOblW5+7+aVuW6ZhI9MNVue7g0ZL8P8Ht4bdKLp4=; b=ZkDPfRXeXzNlRMHS75i5cT/LR6YuKNARzjcTUVxi/bfhgXwm8B4A2q0acNsqmJskzt 4zV8+lMOh82tBIv5wVbs9U2yT+4jcgPcCLFtPps0WZ8O989beEg9j/De/XOwZu0zFmgF A09A8PBCyZDAYJaesTb96FQ+mZ1qtG1nD4OPA+G4hOyjLhSFCtPVDSQYEF+tzcJDVvJY D5+7Y48xcuihQGp/VcUzGIDBCafyLB+Y1fo1xrJ6MdU4WQsmXsFb+cVJmZXeYIOVHSpt pHxO3P77vk3YIylGkzZUfqUWmbvWzaUQau0EU5BnzxQ64Y5KFRNDZ/DvjB3L9c9S8z7I 9DVQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1710841668; x=1711446468; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=aY+qOblW5+7+aVuW6ZhI9MNVue7g0ZL8P8Ht4bdKLp4=; b=aYayDYSfqgxZWhscouuuwpv0o9zKNnT8heGQKWta8jpxyi41dyT3ULDfYW3OIA4ssa 04iIUEWAN75fwLfUMhvgGdfp+yajZeb7IAX6Wj/4QRi34b3Wh/j3kGzp0bIVCuaYaJCJ G2uuFn8qUp3RrHZSSv2SDmCJhpo7wSSgC/l+NGG4ERxTj7VgCmLXVquCwCgA1nsIMHvx if8QYQOULPR3rPgQ3ixiR63rmsMn0NJptgSTdTJGHfw7zYLL/6qBIvk0SCpEFiZQnAws 3/ekkycxDvsnO83qLJULeIoFCCl7V7CC+gH8klATL3TDheaRCc7JBNaJTLs9gabx72hy FH2w==
X-Gm-Message-State: AOJu0YyCFiydBf1ohfJib8tHo3uj8p3CanefUfPGFcFnCayrI72w6OQK 0GC6kVYMP/U2xz4Egb1Au/qakoZuQH3K2yzlMetHQDESA5U3Zaq32PW6X5bim1JRG6rRLfi8uqT Yj0fP9QgfJti+kY/9TiKvVGaVRFRTRIEDgFT6BIJR
X-Google-Smtp-Source: AGHT+IHgT8xGBVTWc9aEQTIMv/o9XaqRbtaUHiuAPS1zIULqIYwFxbglMlpimfC/Nz2zAsgW0/DSkeS6fM7d4PiUpxg=
X-Received: by 2002:a17:906:199b:b0:a46:c8e3:c9b9 with SMTP id g27-20020a170906199b00b00a46c8e3c9b9mr2706717ejd.42.1710841668313; Tue, 19 Mar 2024 02:47:48 -0700 (PDT)
MIME-Version: 1.0
From: Marten Seemann <martenseemann@gmail.com>
Date: Tue, 19 Mar 2024 19:47:36 +1000
Message-ID: <CAOYVs2qshgTP6SaB0KtwvMixQ_pHKYUajfHzDqf1eG04-hAk7w@mail.gmail.com>
To: WebTransport <webtransport@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000e82af90614005d63"
Archived-At: <https://mailarchive.ietf.org/arch/msg/webtransport/ilM905-C3EG_0S6KSoB6vjNXdP8>
Subject: [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: Tue, 19 Mar 2024 09:47:52 -0000
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] Flow Control for high-throughput S… Marten Seemann
- Re: [Webtransport] Flow Control for high-throughp… David Schinazi
- Re: [Webtransport] Flow Control for high-throughp… Marten Seemann
- Re: [Webtransport] Flow Control for high-throughp… David Schinazi
- Re: [Webtransport] Flow Control for high-throughp… Victor Vasiliev
- Re: [Webtransport] Flow Control for high-throughp… Marten Seemann
- Re: [Webtransport] Flow Control for high-throughp… Martin Thomson
- Re: [Webtransport] Flow Control for high-throughp… Bernard Aboba