[quicwg/base-drafts] congestion window increase on every ACKed packet could result in bursty sends (#3094)

Vidhi Goel <notifications@github.com> Tue, 15 October 2019 18:46 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 DB8BA12082F for <quic-issues@ietfa.amsl.com>; Tue, 15 Oct 2019 11:46:20 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.382
X-Spam-Level:
X-Spam-Status: No, score=-6.382 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, HTML_IMAGE_ONLY_24=1.618, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, RCVD_IN_DNSWL_HI=-5, 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 BR_DB_P4AvhC for <quic-issues@ietfa.amsl.com>; Tue, 15 Oct 2019 11:46:18 -0700 (PDT)
Received: from out-7.smtp.github.com (out-7.smtp.github.com [192.30.252.198]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 316CF120828 for <quic-issues@ietf.org>; Tue, 15 Oct 2019 11:46:09 -0700 (PDT)
Received: from github-lowworker-275fa97.va3-iad.github.net (github-lowworker-275fa97.va3-iad.github.net [10.48.17.64]) by smtp.github.com (Postfix) with ESMTP id 4B2A22C0B41 for <quic-issues@ietf.org>; Tue, 15 Oct 2019 11:46:08 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1571165168; bh=w2x3pPuw6qW3AEvLbs8IkYbSutXybQcmv0bVjq5yN84=; h=Date:From:Reply-To:To:Cc:Subject:List-ID:List-Archive:List-Post: List-Unsubscribe:From; b=nZSQ+1OL3KkHDfx2D9lcyArvH7cYt1mB7xqmt8Dk2oswF0zLGCc/N6U4wBUErK+Fp XNY4LoHxDJd97Psp9y9Y6HleGHeBWELgjKr8IsIW6dn+R0Hts0qkeWz3kk6KPrZKcP KrBeRF5XVrjt77QZuT54EwRIDN70cL7wQkDknoF4=
Date: Tue, 15 Oct 2019 11:46:08 -0700
From: Vidhi Goel <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+AFTOJK2VC7AXYVC2XZPKJK53WNKIBEVBNHHB4PUWF4@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/issues/3094@github.com>
Subject: [quicwg/base-drafts] congestion window increase on every ACKed packet could result in bursty sends (#3094)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5da613f03b74c_7d0d3f95094cd96067905b"; charset=UTF-8
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: goelvidhi
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/8BU_MfmpIff_aKqbRGAATmz6dOA>
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, 15 Oct 2019 18:46:21 -0000

When an ACK arrives that acknowledges N packets (where N could be very large), QUIC will increase the congestion window by more than 1MSS per congestion window during Congestion Avoidance causing bursty send. This could also affect the slow start.

if (congestion_window < ssthresh):
       // Slow start.
       congestion_window += acked_packet.size
     else:
       // Congestion avoidance.
       congestion_window += kMaxDatagramSize * acked_packet.size / congestion_window

One could argue that QUIC ACKs every other packet, but there ACK packet could get lost or  ACK for ACK packet could get lost.

The draft is probably assuming packet pacing but not all implementations support that.

I discussed this with Jana and he thinks that we should add something in pseudo code or some specific text in the draft.

-- 
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/issues/3094