Re: [tcpm] Questions about TLP
Yuchung Cheng <ycheng@google.com> Mon, 06 May 2019 21:29 UTC
Return-Path: <ycheng@google.com>
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 7693E120162 for <tcpm@ietfa.amsl.com>; Mon, 6 May 2019 14:29:02 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -17.509
X-Spam-Level:
X-Spam-Status: No, score=-17.509 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, ENV_AND_HDR_SPF_MATCH=-0.5, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, T_DKIMWL_WL_MED=-0.01, URIBL_BLOCKED=0.001, USER_IN_DEF_DKIM_WL=-7.5, USER_IN_DEF_SPF_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=google.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 egyqfinO398J for <tcpm@ietfa.amsl.com>; Mon, 6 May 2019 14:28:59 -0700 (PDT)
Received: from mail-wr1-x429.google.com (mail-wr1-x429.google.com [IPv6:2a00:1450:4864:20::429]) (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 323E2120020 for <tcpm@ietf.org>; Mon, 6 May 2019 14:28:59 -0700 (PDT)
Received: by mail-wr1-x429.google.com with SMTP id h4so19205708wre.7 for <tcpm@ietf.org>; Mon, 06 May 2019 14:28:59 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=+3cLoVN5KenOPJSp41U3Rq9OFj2jU3cruV9YdZPZcoc=; b=D7/ArXUaYSWmSIw9vxTNPkyap/8aefhfyWvgSIC3TpEUu7ZV4JIAHPEd3TWs63Nn51 tsPAaAiLFg/Nl12xeatOqJGPIsI8k8nNxRuNswYYBMYsZcdBzvRXMmCR5y3rfhOmhkzz duuSndxWCvsdmPRbq9gBjBmmQh74jcGs70gyX9oMTj1os66OB3v44Vw+cqWqafT0JJBW l6YIextF9uWawbr8uQv9Bve+MLS27CfDTdBFDL/ZEQk8vNR5OOBhyNVtB3m2DjeKIUki 0nF7gXNkYQt1riDYH0XbMOWVpgHhpPWesTlwwY66WB1YGbiGkHteHmc71o+TgIiW2Wna GPSA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=+3cLoVN5KenOPJSp41U3Rq9OFj2jU3cruV9YdZPZcoc=; b=W78B+XWj38uCPV+SsQxnwnyQMjCmc9XlJbQiUn1WcKtOOL3A9IVQy94I8e3JbJSJ3B rB/ztamvmz4KohAuvr2ov1OurPbd/RXGYU7Lck0b60F3hDWjgJo10fMdoYG+LmD8/R0o Vqr/b4J6tg8Fl7/fcf8I0dOBZgHjorqDFOvcTIEG4TQ91v8XwGAc6v/vf50pSTlTHAiH hnwp2Bu5CIqhy9OU+HXUBJRS1vhZRUeQzJTxof2VlOU1yfcP0bIoB0rIvkTgiVTAXYPp znNa/MSE9stbRJSRewa0qc5lxPveyKk1J2a8OkTBKVOjsc9S09gPUTXeJEUQwiP2Vdvm +RBA==
X-Gm-Message-State: APjAAAWqo0j9Oiyph5GFB9BBQqr1sr8Sj83lJHvmSqH+YI1ctjq03JKx tOEvPnkodz2BbeW4YXJYRf8dkk/l2ceq0Pi3fFgzAQ==
X-Google-Smtp-Source: APXvYqy3LVLRWr6uK1rh9UG3iQujz3B7rK0O6DO32ATDLmIgCMz7OBY8kfOtgChG+K7zycLFeIgqMpq+blhuaLfsO1U=
X-Received: by 2002:adf:f349:: with SMTP id e9mr1381359wrp.71.1557178136942; Mon, 06 May 2019 14:28:56 -0700 (PDT)
MIME-Version: 1.0
References: <BL0PR2101MB1043C5ABE55E48572EB20C62C3340@BL0PR2101MB1043.namprd21.prod.outlook.com> <CAK6E8=fFR_VT8wMCzUW288HrN91NrbryerVLjOH5=6=bCEJLjw@mail.gmail.com> <BYAPR21MB125645C6DFCD605AE73E97FEBC340@BYAPR21MB1256.namprd21.prod.outlook.com> <CAK6E8=d06pqD=VY1t4rKeLTpcrAGaNCYJgjkLWTH0fhxbsML9w@mail.gmail.com> <BL0PR2101MB1043868EC0F299BFDED33A49C3340@BL0PR2101MB1043.namprd21.prod.outlook.com>
In-Reply-To: <BL0PR2101MB1043868EC0F299BFDED33A49C3340@BL0PR2101MB1043.namprd21.prod.outlook.com>
From: Yuchung Cheng <ycheng@google.com>
Date: Mon, 06 May 2019 14:28:17 -0700
Message-ID: <CAK6E8=cYkULYLUvsDwp113h0NnoPRHuW1TBsWkD_k1utyZMrDw@mail.gmail.com>
To: Yi Huang <huanyi=40microsoft.com@dmarc.ietf.org>
Cc: Yuchung Cheng <ycheng=40google.com@dmarc.ietf.org>, Matt Olson <maolson@microsoft.com>, "tcpm@ietf.org" <tcpm@ietf.org>, Neal Cardwell <ncardwell@google.com>
Content-Type: multipart/alternative; boundary="000000000000b4d2aa05883ec9cf"
Archived-At: <https://mailarchive.ietf.org/arch/msg/tcpm/EIGj8aGRMNDhB5NCDeafq5mpGLM>
Subject: Re: [tcpm] Questions about TLP
X-BeenThere: tcpm@ietf.org
X-Mailman-Version: 2.1.29
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: Mon, 06 May 2019 21:29:02 -0000
Sorry for the late reply. Forget to hit send after drafting the reply... Thanks for spotting that. TCP_send_probe() should always re-arm the RTO regardless of a TLP is sent or not, if there's unacknowledged data. Proposed rev in "Note that the sender MUST arm an RTO timer and not the PTO timer *at the end of TLP_send_probe() as long as FlightSize is not zero, regardless of sending a probe or not*. This ensures that the sender does not send repeated, back-to-back TLP probes. *Also checking TLPRxtOut prior to sending the loss probe* is important to avoid TLP loops if an application writes periodically at an interval less than PTO." *From: *Yi Huang <huanyi=40microsoft.com@dmarc.ietf.org> *Date: *Thu, May 2, 2019 at 11:47 AM *To: *Yuchung Cheng, Matt Olson *Cc: *tcpm@ietf.org If TLPRxtOut is checked in TLP_send_probe(), a new PTO can cancel an > already running RTO timer armed by sending TLP previously. If > TLP_send_probe() decides not to send the probe for the new PTO, what should > the sender do next? Rearm RTO or treat it as RTO timeout? The draft states > we must arm an RTO after transmitting TLP but in this case, no probe will > be sent. > > Also, in page 17, the draft says "This is important to avoid TLP loops if > an application writes periodically at an interval less than PTO." but if > the app writes periodically at an interval less than PTO, PTO will just be > pushed out and not fire until the sender cannot send anything due to window > limit. Then in this case, TLP loops do not seem to exist if TLP loops means > back-to-back TLP probes. Am I missing anything here? > > Thanks, > > Yi > > -----Original Message----- > From: Yuchung Cheng <ycheng=40google.com@dmarc.ietf.org> > Sent: Thursday, May 2, 2019 10:25 AM > To: Matt Olson <maolson@microsoft.com> > Cc: Yi Huang <huanyi@microsoft.com>; tcpm@ietf.org > Subject: Re: [tcpm] Questions about TLP > > On Thu, May 2, 2019 at 10:09 AM Matt Olson <maolson@microsoft.com> wrote: > > > > Also, section 6.5.1 Step 1 is presented as a complete set of conditions > for scheduling a PTO, but it is missing a bullet point for TLPRxtOut. > Thanks for checking: but checking TLPRxtOut is not necessary and is not > preferred when scheduling a probe -- the goal is to prevent more than one > probe inflight, so checking right before TLPRxtOut sending the next one > allows the best coverage of application-limited writes > (burst-idle-burst-....). > > > > > > > > -----Original Message----- > > From: Yuchung Cheng <ycheng@google.com> > > Sent: Wednesday, May 1, 2019 11:33 PM > > To: Yi Huang <huanyi=40microsoft.com@dmarc.ietf.org> > > Cc: tcpm@ietf.org; Matt Olson <maolson@microsoft.com> > > Subject: Re: [tcpm] Questions about TLP > > > > On Wed, May 1, 2019 at 10:48 PM Yi Huang <huanyi= > 40microsoft.com@dmarc.ietf.org> wrote: > > > > > > Hi RACK/TLP authors, > > > > > > > > > > > > I have the following questions (page numbers refer to > draft-ietf-tcpm-rack-05): > > > > > > > > > > > > 1.In page 16, it says “Finally, if the time at which an RTO would fire > (here denoted "TCP_RTO_expire") is sooner than the computed time for the > PTO, then a probe is scheduled to be sent at that earlier time.” What does > this TCP_RTO_expire actually mean? Does it mean there is another RTO timer > (possibly started some time in the past) running along with PTO or just RTT > + 4*RTTVar + Now()? Also, why would another probe be sent at RTO expiration > time instead of treating it like RTO and collapsing the cwnd? > > > > TCP_RTO_expire() should return a timeout value for regular RTO, i.e. > > SRTT + 4*RTTVAR + Now() > > We use TCP_RTO_expire() because many implementations including Linux > > do not use the exact RFC formula > > > > The reason it's not treated as a regular RTO is to avoid resetting > congestion window to 1. The rationale is if the probe was sent within > min(PTO, RTO) and was delivered successfully, there's no need to reset > congestion window and re-start slow-start, similar to the rationale of > Reno's fast recovery reducing window to ssthresh instead of 1. We have > found this strategy benefits wireless connections, as the chance of > spurious RTO is high due to the delay variation. > > > > > > > > > > > > > > 2.In page 18 section 6.6, a new variable TLPRxtOut is defined and it > is stated that TLPRxtOut is used to guarantee that there is only one > outstanding TLP retransmission.. However, it is not clear to me when > TLPRxtOut should be really used. Should it be used in 6.5.1 Step. 1 > (checking whether we should and can schedule a TLP) or in TLP_send_probe()? > > > > This is in > > > > 6.6.2. Recording loss probe states > > > > Senders MUST only send a TLP loss probe retransmission if TLPRxtOut > > is false. This ensures that at any given time a connection has at > > most one outstanding TLP retransmission. This allows the sender to > > > > but I agree it'd be more clear to include this in TLP_send_probe() > pseudo code. I'd incorporate in the next rev. > > > > > > > > > > > > Thanks, > > > > > > > > > > > > Yi > > > > > > > > > > > > _______________________________________________ > > > tcpm mailing list > > > tcpm@ietf.org > > > https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww > .. > > > ietf.org%2Fmailman%2Flistinfo%2Ftcpm&data=01%7C01%7Cmaolson%40mi > > > cr > > > osoft.com%7C66db44672e3d4101d72908d6cec82001%7C72f988bf86f141af91ab2 > > > d7 > > > cd011db47%7C1&sdata=n8rp5Emowm459iSKolhIP1hFXBs8pZjsGG2iy3OBAno% > > > 3D > > > &reserved=0 > _______________________________________________ > tcpm mailing list > tcpm@ietf.org > https://www.ietf.org/mailman/listinfo/tcpm >
- [tcpm] Questions about TLP Yi Huang
- Re: [tcpm] Questions about TLP Yuchung Cheng
- Re: [tcpm] Questions about TLP Yuchung Cheng
- Re: [tcpm] Questions about TLP Yi Huang
- Re: [tcpm] Questions about TLP Matt Olson
- Re: [tcpm] Questions about TLP Yuchung Cheng
- Re: [tcpm] Questions about TLP Yi Huang
- Re: [tcpm] Questions about TLP Yuchung Cheng
- Re: [tcpm] Questions about TLP Yi Huang
- Re: [tcpm] Questions about TLP Yuchung Cheng