Re: [quicwg/base-drafts] Incorporate F-RTO (#409)

janaiyengar <notifications@github.com> Tue, 21 March 2017 19:45 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 47AFB128CD5 for <quic-issues@ietfa.amsl.com>; Tue, 21 Mar 2017 12:45:58 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -9.795
X-Spam-Level:
X-Spam-Status: No, score=-9.795 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H2=-2.796, SPF_PASS=-0.001, URIBL_BLOCKED=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 R88hXdq-edq0 for <quic-issues@ietfa.amsl.com>; Tue, 21 Mar 2017 12:45:55 -0700 (PDT)
Received: from github-smtp2b-ext-cp1-prd.iad.github.net (github-smtp2-ext2.iad.github.net [192.30.252.193]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 9D03312894A for <quic-issues@ietf.org>; Tue, 21 Mar 2017 12:45:55 -0700 (PDT)
Date: Tue, 21 Mar 2017 12:45:54 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1490125554; bh=uSe9HJg4madqlJScLIypdqzqXXTMC8hkDQwq/oa+SuM=; h=From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=sVEdbC6pPCnr7dRYyr/NXvkAzfET1kYEdkZcbpXqA5IrL674WmG/IhoXz5VZbWj/l Ay50pQ0czSPLtTV+kUxFlhG7gh8qvAJvghRSpOsFUFbY8uyEgRm2hK4aMtrXzdxegy oddAgeiY7szxBCxp5+yVGcvwX40fko/Gbe5tw+PQ=
From: janaiyengar <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+0166e4ab2a7956ce8bb021d933a0af1b51836fe41862a83d92cf0000000114e944f292a169ce0cd39eb5@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/pull/409/review/28215606@github.com>
In-Reply-To: <quicwg/base-drafts/pull/409@github.com>
References: <quicwg/base-drafts/pull/409@github.com>
Subject: Re: [quicwg/base-drafts] Incorporate F-RTO (#409)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_58d182f28feb0_1fde3fa162d03c3c1155f6"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: janaiyengar
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/V043WM0BkmKP7qPYo4avmagNeRg>
X-BeenThere: quic-issues@ietf.org
X-Mailman-Version: 2.1.22
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, 21 Mar 2017 19:45:58 -0000

janaiyengar commented on this pull request.

Thanks for writing this up, Ian.  A few comments

> @@ -248,6 +248,10 @@ tlp_count:
 rto_count:
 : The number of times an rto has been sent without receiving an ack.
 
+largest_sent_before_rto:
+: The last packet number sent prior to the first transmission due to

nit: change phrase to "prior to the first retransmission timeout"

> @@ -372,6 +377,12 @@ Pseudocode for OnPacketAcked follows:
 
 ~~~
    OnPacketAcked(acked_packet_number):
+     // If a packet sent prior to RTO was acked, then the RTO
+     // was spurious.  Otherwise, inform congestion control.
+     // Similar to the goal of F-RTO {{?RFC5682}}

I would remove this last line from here and add it (now or later) to the text description.

>       if (end_of_recovery < largest_lost_packet.packet_number):
        end_of_recovery = largest_sent_packet
        congestion_window *= kLossReductionFactor
+       congestion_window = max(congestion_window, kMinimumWindow)

nit: combine this line with the previous one:
congestion_window = 
    max(congestion_window * kLossReductionFactor, kMinimumWindow)

>  
 ~~~
    TimeToSend(packet_size):
      if (bytes_in_flight + packet_size > congestion_window)
        return infinite
+     pacing_coefficient = 1.25
+     if (congestion_window < ssthresh)
+       pacing_coefficient = 2

I don't think we need a pacing coeff of 2 here. I never understood why FQ did this, but I don't think we need to have this in the doc. In general I'm less certain that we want to describe the pacing impl as part of the congestion controller... I'm comfortable with definiing the TimeToSend interface without implementing it here. For now, I would at least remove the use of pacing_coeff here.

-- 
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/409#pullrequestreview-28215606