Re: [quicwg/base-drafts] Recovery uses both time and packet thresholds (#1974)

Subodh Iyengar <notifications@github.com> Wed, 21 November 2018 03:27 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 0C057127598 for <quic-issues@ietfa.amsl.com>; Tue, 20 Nov 2018 19:27:30 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -8.47
X-Spam-Level:
X-Spam-Status: No, score=-8.47 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.47, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, RCVD_IN_DNSWL_HI=-5, 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 Fr0_71zWizIu for <quic-issues@ietfa.amsl.com>; Tue, 20 Nov 2018 19:27:28 -0800 (PST)
Received: from out-3.smtp.github.com (out-3.smtp.github.com [192.30.252.194]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 5AF36129385 for <quic-issues@ietf.org>; Tue, 20 Nov 2018 19:27:28 -0800 (PST)
Date: Tue, 20 Nov 2018 19:27:27 -0800
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1542770847; bh=siZuqwbb+Om81LAVyEQLxrGbu6e3QKqSFzJy41uNltE=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=bRGWsH+Qj4ZyE+2aoDdhFiRkor9+yIcABozvErENr2REeRMTGM3DmvEY5NwZl56gS H0yrLE8szw2af9r8g8QW2HWQu2RfC1h6QmVwNPgXZmR7QCOo5yH+0Xb/8fUIuByOK1 qpLnZWr79dihF2MeqIk4CZ+/UW6cOt9/oUB+m460=
From: Subodh Iyengar <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+0166e4ab8f06d2e3075ed719d345c233b8d195d0ec7a7b5792cf00000001180c929f92a169ce1684c1ce@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/pull/1974/review/177063937@github.com>
In-Reply-To: <quicwg/base-drafts/pull/1974@github.com>
References: <quicwg/base-drafts/pull/1974@github.com>
Subject: Re: [quicwg/base-drafts] Recovery uses both time and packet thresholds (#1974)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5bf4d09f662fe_6ff53feb0ccd45c440873a"; 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
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic-issues/UEb23DgepZy2fe3lA7bU4Es5tU8>
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: Wed, 21 Nov 2018 03:27:30 -0000

siyengar commented on this pull request.



> @@ -875,7 +841,7 @@ Pseudocode for OnLossDetectionTimeout follows:
        RetransmitUnackedCryptoData()
        crypto_count++
      else if (loss_time != 0):
-       // Early retransmit or Time Loss Detection
+       // Time threshold loss Detection

I don't think this is only early retransmit @janaiyengar in this current form. loss_time is always set here

> @@ -907,14 +872,8 @@ Pseudocode for DetectLostPackets follows:
 DetectLostPackets(largest_acked):
   loss_time = 0
   lost_packets = {}
-  delay_until_lost = infinite
-  if (kUsingTimeLossDetection):
-    delay_until_lost =
-      (1 + time_reordering_fraction) *
-          max(latest_rtt, smoothed_rtt)
-  else if (largest_acked.packet_number == largest_sent_packet):
-    // Early retransmit timer.
-    delay_until_lost = 9/8 * max(latest_rtt, smoothed_rtt)
+  delay_until_lost = (1 + time_reordering_fraction) *

this looks like it will always set the loss time to be  1 + 1/8 rtt now. However this might be super aggressive for regular cases. This is even lower than 1/4 rtt for tlp. So tlp will never fire.

it seems like @janaiyengar  is right here. Early retransmit and time based loss detection are 2 separate mechanisms with different time_reordering_fractions.

something like:

```
 delay_until_lost = (1 + time_ordering_fraction) * max(lrtt, srtt)
  if (largest_acked.packet_number == largest_sent_packet):
     delay_until_lost = 9/8 * max(lrtt, srtt)
```

-- 
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/1974#pullrequestreview-177063937