Re: [quicwg/base-drafts] Byte counting at Congestion avoidance (#3917)

Martin Thomson <notifications@github.com> Tue, 28 July 2020 06:08 UTC

Return-Path: <noreply@github.com>
X-Original-To: quic-issues@ietfa.amsl.com
Delivered-To: quic-issues@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 89CC93A0CC4 for <quic-issues@ietfa.amsl.com>; Mon, 27 Jul 2020 23:08:02 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.483
X-Spam-Level:
X-Spam-Status: No, score=-1.483 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_IMAGE_ONLY_24=1.618, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=github.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id X9_CjSH4AYqF for <quic-issues@ietfa.amsl.com>; Mon, 27 Jul 2020 23:08:01 -0700 (PDT)
Received: from out-25.smtp.github.com (out-25.smtp.github.com [192.30.252.208]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1CD683A0CC1 for <quic-issues@ietf.org>; Mon, 27 Jul 2020 23:08:01 -0700 (PDT)
Received: from github-lowworker-28f8021.ac4-iad.github.net (github-lowworker-28f8021.ac4-iad.github.net [10.52.25.98]) by smtp.github.com (Postfix) with ESMTP id 575E0840E1F for <quic-issues@ietf.org>; Mon, 27 Jul 2020 23:08:00 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1595916480; bh=n/i2ihBvBnBSg08OysP2hsveIgGObY6UWCkMLTC3S4k=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=Vw6a21eooMrdcLQISH9/ox72StInwulJe0h2J1fxAUnMFZDVWa3OK7PyNRGVRXKKK eJYgKCFI2VD2uYkx9/ZrtdS8N0cyFICfj+2Ho2LeYhUymJ1lBp19fEkZusiWot1kX/ gQ3Cz2aMWePMhf+WfK+KMKavYf2e7Lu7fzsS6fvU=
Date: Mon, 27 Jul 2020 23:08:00 -0700
From: Martin Thomson <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+AFTOJK7XJQU6IKQHVECWFY55FOQ4BEVBNHHCOPRYC4@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/pull/3917/review/456326732@github.com>
In-Reply-To: <quicwg/base-drafts/pull/3917@github.com>
References: <quicwg/base-drafts/pull/3917@github.com>
Subject: Re: [quicwg/base-drafts] Byte counting at Congestion avoidance (#3917)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5f1fc0c046752_22463fb2dd2cd95c7165d"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: martinthomson
X-GitHub-Recipient: quic-issues
X-GitHub-Reason: subscribed
X-Auto-Response-Suppress: All
X-GitHub-Recipient-Address: quic-issues@ietf.org
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic-issues/XUt8nkG1zBqsglvHdsMJdqmhmcg>
X-BeenThere: quic-issues@ietf.org
X-Mailman-Version: 2.1.29
List-Id: Notification list for GitHub issues related to the QUIC WG <quic-issues.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/quic-issues>, <mailto:quic-issues-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/quic-issues/>
List-Post: <mailto:quic-issues@ietf.org>
List-Help: <mailto:quic-issues-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/quic-issues>, <mailto:quic-issues-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 28 Jul 2020 06:08:03 -0000

@martinthomson commented on this pull request.



> +      bytes_acked += acked_packet.sent_bytes
+      if (bytes_acked >= congestion_window):
+        bytes_acked -= congestion_window
+        congestion_window += max_datagram_size

Oh, I should probably concede that more increases to the congestion window will result in the final congestion window being smaller, so you are trading a larger final increase (this PR) with earlier availability of bytes (status quo).

Say you get 10 acks for 1000 bytes, with a starting cwnd of 10,000 and max_datagram_sizeo of 1000.

With this code, you end up with no change until the last ack, where you go to 11,000.

With the previous code, you would go to: 10100, 10199, 10297, 10394, 10490, 10585, 10680, 10773, 10866, 10958.  (That's using double-precision logic, you lose two bytes if you round.)

That's less in the end, but the value of that to you depends on whether you can use any of those intermediate values.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/3917#discussion_r461339606