[quicwg/base-drafts] Persistent congestion interaction with app limited state (#2593)

Subodh Iyengar <notifications@github.com> Mon, 08 April 2019 16:11 UTC

Return-Path: <bounces+848413-a050-quic-issues=ietf.org@sgmail.github.com>
X-Original-To: quic-issues@ietfa.amsl.com
Delivered-To: quic-issues@ietfa.amsl.com
Received: from localhost (localhost []) by ietfa.amsl.com (Postfix) with ESMTP id D08A312008C for <quic-issues@ietfa.amsl.com>; Mon, 8 Apr 2019 09:11:48 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3
X-Spam-Status: No, score=-3 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_32=0.001, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, RCVD_IN_DNSWL_NONE=-0.0001, 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 ([]) by localhost (ietfa.amsl.com []) (amavisd-new, port 10024) with ESMTP id 5KTewhmsqRFh for <quic-issues@ietfa.amsl.com>; Mon, 8 Apr 2019 09:11:46 -0700 (PDT)
Received: from o11.sgmail.github.com (o11.sgmail.github.com []) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 87C26120049 for <quic-issues@ietf.org>; Mon, 8 Apr 2019 09:11:46 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=github.com; h=from:reply-to:to:cc:subject:mime-version:content-type:content-transfer-encoding:list-id:list-archive:list-post:list-unsubscribe; s=s20150108; bh=YcGJqdur3zewRGxmmbK9m+JgWXg=; b=ONiS+m5a0NFyjWki NRok3ZvntSfUhLNs2MQgsdnaE5xE07btCKWghf6WVGYJk2V6JSSjpbRG08+RmdYW Jt4ccXZtCba9j1fC+q12xpgXhOikFE49/+JjwNE/5GtVPLvcYcsZfypQm+SoWi8y ryxuLPvp6seo4df42a0ZsJqZzrg=
Received: by filter1673p1mdw1.sendgrid.net with SMTP id filter1673p1mdw1-4723-5CAB72BF-35 2019-04-08 16:11:44.002614176 +0000 UTC m=+236773.910595138
Received: from github-lowworker-20a34ff.cp1-iad.github.net (unknown []) by ismtpd0029p1iad2.sendgrid.net (SG) with ESMTP id gTOOLFw2QpO2Qjr8L1dhbQ for <quic-issues@ietf.org>; Mon, 08 Apr 2019 16:11:43.967 +0000 (UTC)
Received: from github.com (localhost []) by github-lowworker-20a34ff.cp1-iad.github.net (Postfix) with ESMTP id ECA67340100 for <quic-issues@ietf.org>; Mon, 8 Apr 2019 09:11:43 -0700 (PDT)
Date: Mon, 08 Apr 2019 16:11:44 +0000
From: Subodh Iyengar <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+0166e4abd4f2badfe051f8120e2746492c3d1d484cd76f7192cf0000000118c334bf92a169ce19a97bc9@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/issues/2593@github.com>
Subject: [quicwg/base-drafts] Persistent congestion interaction with app limited state (#2593)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5cab72bfeb31c_4c683f95a08d45bc983620"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: siyengar
X-GitHub-Recipient: quic-issues
X-GitHub-Reason: subscribed
X-Auto-Response-Suppress: All
X-GitHub-Recipient-Address: quic-issues@ietf.org
X-SG-EID: l64QuQ2uJCcEyUykJbxN122A6QRmEpucztpreh3Pak1tQhYcKT0GltGISqqDAD5g3CrNeoIA+95mcq RESPOpT62S8T/6SIMtxRIE5pkbdUpBZpm6yHqQKirHFPMFTQLMDxMRocwRgtvITd2okweYJflR/O/Z GqKN36D1ddErDgXgmtdj+1uUFb0mo23BntCWq6cFPR3EI0CsQDuCSh4CPNBdx2ScraUTfKXTaGKTMG s=
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic-issues/VR15VFaKtyLeMfrR9-4FOqEHFuo>
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: Mon, 08 Apr 2019 16:11:49 -0000

We discovered one interesting edge case with Persistent congestion at least in mvfst. Due to TLP, we might retransmit data in a packet that is already outstanding if we don't have new data. We call this a "clone". If the original packet is acked, we do not get rid of the clone. We let the clone be outstanding and disable the loss timer, i.e. it's no use trying to retransmit the cloned packet. Instead we rely on regular loss recovery to get rid of the clone. So this means that it is possible to go into application idle state while having packets outstanding. What was surprising to us when we were implementing draft-19 loss was that this strategy might interact poorly with persistent congestion returning from app idle state. This is because the time between the smallest and largest loss packet if there is idle state in-between will most likely exceed the loss threshold. We're planning on fixing this by making a special case for idle state with persistent congestion.

I think others have a similar strategy of dealing with TLP transmissions. Would it be useful to document this edge case?

You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub: