Re: [tcpm] Vicious or Virtuous circle? Adapting reordering window to reordering degree
Bob Briscoe <ietf@bobbriscoe.net> Wed, 28 March 2018 22:53 UTC
Return-Path: <ietf@bobbriscoe.net>
X-Original-To: tcpm@ietfa.amsl.com
Delivered-To: tcpm@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D984E127867 for <tcpm@ietfa.amsl.com>; Wed, 28 Mar 2018 15:53:00 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2
X-Spam-Level:
X-Spam-Status: No, score=-2 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_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=bobbriscoe.net
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 VrX6IA2tMU_T for <tcpm@ietfa.amsl.com>; Wed, 28 Mar 2018 15:52:58 -0700 (PDT)
Received: from server.dnsblock1.com (server.dnsblock1.com [85.13.236.178]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 04DF7124234 for <tcpm@ietf.org>; Wed, 28 Mar 2018 15:52:57 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=bobbriscoe.net; s=default; h=Content-Type:In-Reply-To:MIME-Version:Date: Message-ID:From:References:Cc:To:Subject:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=hP6rVrIR566WMFs5nLTaJ4gmgoLRskT5CvptRxaQ/RI=; b=OJQI9XdwuDklX8uMI2GrmDBix i3Kj1Nd3YZQYhCKOtZjjuxk7KEuSIuzzAH+I6BVp8oh5HBoMwaTC7Iydx9F1iDw1+G8eaP5C9jEL1 K40dipcfYUnP0MpMJ7YT82xHH2EDObrNyOJj2VjgYILjo3K1ACmx9DHnXhE86krbFMRxZV6hIhaXP n4y1uGsaYw47RIGj9D2EKUznzyC4cr0y0uSKfkiHB2u/5wVvl8xzzh16GF6OmR64CS3hfgnznQ1i9 a2VGI8z0i61sP/4ZOD8oPulA0+yJUL28K1UY+lJ7MhFQ2v6uMcmOV9F1r2Nfw/ia8Dl2hL1ltuWIn t5oz5UxBQ==;
Received: from host-79-78-166-168.static.as9105.net ([79.78.166.168]:37276 helo=[192.168.2.6]) by server.dnsblock1.com with esmtpsa (TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128) (Exim 4.89_1) (envelope-from <ietf@bobbriscoe.net>) id 1f1Jw6-0002D2-8y; Wed, 28 Mar 2018 23:52:54 +0100
To: Yuchung Cheng <ycheng@google.com>, Praveen Balasubramanian <pravb@microsoft.com>
Cc: Olivier Bonaventure <olivier.bonaventure@tessares.net>, "tcpm@ietf.org" <tcpm@ietf.org>, "draft-ietf-tcpm-rack@tools.ietf.org" <draft-ietf-tcpm-rack@tools.ietf.org>
References: <152029151070.12715.15497200993114582811@ietfa.amsl.com> <c45b807e-8076-71fd-28ea-861db62c9bbd@bobbriscoe.net> <284E217A-4A12-4EC1-A9C6-52B6FFF67FFD@tessares.net> <CY4PR21MB0630B185DB997C389EEF1810B6AD0@CY4PR21MB0630.namprd21.prod.outlook.com> <CAK6E8=e1umb31yT4MFYZivM_fgg+BkWsJhOp4etWDz+_T1=csg@mail.gmail.com>
From: Bob Briscoe <ietf@bobbriscoe.net>
Message-ID: <e2d34b18-d8a6-9cdc-50b0-0a1a83914ba6@bobbriscoe.net>
Date: Wed, 28 Mar 2018 23:52:53 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0
MIME-Version: 1.0
In-Reply-To: <CAK6E8=e1umb31yT4MFYZivM_fgg+BkWsJhOp4etWDz+_T1=csg@mail.gmail.com>
Content-Type: multipart/alternative; boundary="------------92C6B89A11D5DA889D8710A6"
Content-Language: en-GB
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - server.dnsblock1.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - bobbriscoe.net
X-Get-Message-Sender-Via: server.dnsblock1.com: authenticated_id: in@bobbriscoe.net
X-Authenticated-Sender: server.dnsblock1.com: in@bobbriscoe.net
Archived-At: <https://mailarchive.ietf.org/arch/msg/tcpm/aetA74NFfxL8E8DyQWWXWtLRkt0>
Subject: Re: [tcpm] Vicious or Virtuous circle? Adapting reordering window to reordering degree
X-BeenThere: tcpm@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: TCP Maintenance and Minor Extensions Working Group <tcpm.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tcpm>, <mailto:tcpm-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tcpm/>
List-Post: <mailto:tcpm@ietf.org>
List-Help: <mailto:tcpm-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tcpm>, <mailto:tcpm-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 28 Mar 2018 22:53:01 -0000
Yuchung,
On 26/03/18 17:15, Yuchung Cheng wrote:
> There are two action items
> 1) clarify the reo_wnd policy further
At present the draft largely just states the algo without much
rationale. Now I understand the DSACK-based algo, I have realized it
contains subtleties that I try to articulate below (pls use as text if
you want).
Correct me if I'm wrong, but over the years I have detected a (perhaps
unstated) presumption from some in the TCP community that their aim is
to eliminate all spurious retransmissions. The DSACK algo doesn't fall
into that trap, but superficially it looks as if it does.
The subtle part is that it starts off with the 3 DUPACK rule {Note 1},
then grows the reordering window from there as long as at least one
{Note 2} spurious retransmission per RTT is detected. So, for short
flows (or the beginning of long flows), even if the degree of reordering
is high:
* losses will be repaired fast, which is important for short-flow latency
* and spurious retransmissions will be tolerated, which is OK for a
few RTTs
If a flow lasts longer, and if the reordering degree is high, the
reordering window will grow, so:
* losses will take longer to repair, which is not such a concern for
elephants {Note 3}
* spurious retransmissions will be reduced, because the bandwidth
efficiency of elephants dominates overall bandwidth efficiency.
I think it's important for the draft to explain that it deliberately
starts by tolerating more spurious retransmissions to keep repair delay
low for short flows. IOW, it would not be entirely appropriate to cache
the reordering window learned from prior connections over the same path.
Cheers
Bob
{Note 1}: Alternative initial rules
This could be replaced with a duration in units of time, e.g. SRTT/4,
but I understand that you wanted to start with traditional behaviour, so
as not to trigger intrusion detection systems or protocol compliance
checkers that might punish non-traditional behaviour.
{Note 2}: At least one?
Rather than counting the existence of at least one spurious
retransmission per RTT, I think it would be preferable to count their
extent. Then the algo would be collecting the metrics it needs to trade
off a residual rate of spurious retransmissions against longer delay to
repair losses. Instead, it keeps on extending the reordering window in
response to even one spurious retransmission per RTT, whatever the cost
in delayed loss-recovery (up to the arbitrary hard limit of 1 SRTT).
{Note 3}: Not all elephants are the same.
If an elephant is a single bulk file download, the delay repairing
losses has negligible effect on performance. However, what looks like an
elephant from the outside might actually by numerous multiplexed small
streams (e.g. http2). Then delay repairing losses remains significant,
potentially holding back a small object with potential collateral damage
to latency delivering other objects stuck behind the loss (HoL
blocking). Conclusion: TCP still needs to trade off delay repairing
losses against spurious retransmissions, even for elephants.
--
________________________________________________________________
Bob Briscoe http://bobbriscoe.net/
- [tcpm] I-D Action: draft-ietf-tcpm-rack-03.txt internet-drafts
- [tcpm] Vicious or Virtuous circle? Adapting reord… Bob Briscoe
- Re: [tcpm] Vicious or Virtuous circle? Adapting r… Joe Touch
- Re: [tcpm] Vicious or Virtuous circle? Adapting r… Yuchung Cheng
- Re: [tcpm] Vicious or Virtuous circle? Adapting r… rs.ietf
- Re: [tcpm] Vicious or Virtuous circle? Adapting r… Bob Briscoe
- Re: [tcpm] Vicious or Virtuous circle? Adapting r… Yuchung Cheng
- Re: [tcpm] Vicious or Virtuous circle? Adapting r… Yuchung Cheng
- Re: [tcpm] Vicious or Virtuous circle? Adapting r… rs.ietf
- Re: [tcpm] Vicious or Virtuous circle? Adapting r… Ingemar Johansson S
- Re: [tcpm] Vicious or Virtuous circle? Adapting r… Olivier Bonaventure
- Re: [tcpm] Vicious or Virtuous circle? Adapting r… Sowmini Varadhan
- Re: [tcpm] Vicious or Virtuous circle? Adapting r… Yuchung Cheng
- Re: [tcpm] Vicious or Virtuous circle? Adapting r… Praveen Balasubramanian
- Re: [tcpm] Vicious or Virtuous circle? Adapting r… Yuchung Cheng
- Re: [tcpm] Vicious or Virtuous circle? Adapting r… Joe Touch
- Re: [tcpm] Vicious or Virtuous circle? Adapting r… Praveen Balasubramanian
- Re: [tcpm] Vicious or Virtuous circle? Adapting r… Joe Touch
- Re: [tcpm] Vicious or Virtuous circle? Adapting r… Praveen Balasubramanian
- Re: [tcpm] Vicious or Virtuous circle? Adapting r… rs.ietf
- Re: [tcpm] Vicious or Virtuous circle? Adapting r… Joe Touch
- Re: [tcpm] Vicious or Virtuous circle? Adapting r… Bob Briscoe
- Re: [tcpm] Vicious or Virtuous circle? Adapting r… Bob Briscoe
- Re: [tcpm] Vicious or Virtuous circle? Adapting r… Bob Briscoe
- Re: [tcpm] Vicious or Virtuous circle? Adapting r… Matt Mathis
- Re: [tcpm] Vicious or Virtuous circle? Adapting r… Michael Welzl
- Re: [tcpm] Vicious or Virtuous circle? Adapting r… Bob Briscoe
- Re: [tcpm] Vicious or Virtuous circle? Adapting r… Michael Welzl
- Re: [tcpm] Vicious or Virtuous circle? Adapting r… Michael Welzl
- Re: [tcpm] Vicious or Virtuous circle? Adapting r… Yuchung Cheng
- Re: [tcpm] Vicious or Virtuous circle? Adapting r… touch
- Re: [tcpm] Vicious or Virtuous circle? Adapting r… Bob Briscoe
- Re: [tcpm] Vicious or Virtuous circle? Adapting r… Joe Touch