Re: [tsvwg] L4S and the RACK requirement

"Scheffenegger, Richard" <rs.ietf@gmx.at> Fri, 15 February 2019 16:20 UTC

Return-Path: <rs.ietf@gmx.at>
X-Original-To: tsvwg@ietfa.amsl.com
Delivered-To: tsvwg@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 6A3BD130FC1 for <tsvwg@ietfa.amsl.com>; Fri, 15 Feb 2019 08:20:30 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.6
X-Spam-Level:
X-Spam-Status: No, score=-2.6 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
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 YvaYQxVYjaFt for <tsvwg@ietfa.amsl.com>; Fri, 15 Feb 2019 08:20:25 -0800 (PST)
Received: from mout.gmx.net (mout.gmx.net [212.227.17.22]) (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 2EE69128BCC for <tsvwg@ietf.org>; Fri, 15 Feb 2019 08:20:25 -0800 (PST)
Received: from [192.168.233.108] ([213.143.121.76]) by mail.gmx.com (mrgmx101 [212.227.17.168]) with ESMTPSA (Nemesis) id 0LsPwa-1h5Rko3DS4-0121UV; Fri, 15 Feb 2019 17:20:18 +0100
To: "Black, David" <David.Black@dell.com>, Yuchung Cheng <ycheng@google.com>
Cc: "tsvwg@ietf.org" <tsvwg@ietf.org>
References: <fb6d2979-a6a4-b122-a90e-4a0732ee89fa@mti-systems.com> <CAK6E8=chZjxNd6RFx-dfPU1jbbjmsW0DcDeGSTpLkWo3f=9k2Q@mail.gmail.com> <CE03DB3D7B45C245BCA0D2432779493630439583@MX307CL04.corp.emc.com> <CAK6E8=cdDmFmTB8-BjFeHvVL9JeDAW9TJyhaKBJmpZMy4ff-YQ@mail.gmail.com> <CE03DB3D7B45C245BCA0D243277949363043EF3B@MX307CL04.corp.emc.com>
From: "Scheffenegger, Richard" <rs.ietf@gmx.at>
Message-ID: <50e27fa2-750b-5602-ceab-c48274c854e0@gmx.at>
Date: Fri, 15 Feb 2019 17:20:19 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.5.0
MIME-Version: 1.0
In-Reply-To: <CE03DB3D7B45C245BCA0D243277949363043EF3B@MX307CL04.corp.emc.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Provags-ID: V03:K1:4zTREKVG5iYzT9cQ1RShDTMuWUoH0DjtK4Z6nbOP4Ys/wxLudvj KsSOPmPZgP8MIum2ktSvwXc59feWt4bsfkcI78ER2cq+Xr2CMJlbNggtSJ7L7ZFIREEoq4r Iw9490e5KPhPNGxwMO+78ZgZd/hY1KmUP6e0aUKdjzjLr5499KoOBwT0XPmZXetDc8sGRC9 kzoiB/ZBQlR0PfDUAaAIQ==
X-UI-Out-Filterresults: notjunk:1;V03:K0:ojQjIvA9yxY=:lvKOZlL9cZ0KFXHpkL3jVN yfCOwvgVqKuyN/wLsEPZhNaeujXMnZOL+jsNWJdBCxBt5WE6uSyLSXoqVu5js7FEsLuMF4lYi X80XfV3890f1ca/tlQ442QvS0q0OyVJKm1aCdDkhlIYJ5x4RwNxiwWdoBN7uAhoMpuAUBPhM3 J20eULCwi/oqMnh91ZwuC2LmG+hbEzDAyqmfxIx8yP2O3gXhyOlii0I1nil+H/ltw2BgW3fgJ lA4y/5X84eH1uKQJX627GJAP9j7rvUB+n1nuIUQs8va1cJLVSff3LbIplr3Nd4MV6xS5HSrgo FVw7Qm0OVzn9z9c4DmOZsQEP5Usz6a+y/gzu0QWxZCov1qm8vEXU7TPj2HIysu+9OKQFNIpfF +Eh/Wy9oSCUTUSMFw3FOYWEK15ppmG0d/pQzm63QOCJuHAHpvH+d16Ak1cUfPZCy6Ci/n4Lea +meoTwHLTnTi8Oy7VOlcuxtuBWX3Holx0OG7kOKPuxoRY/OnSqwe8uQJMDoxzG88m6tktDmPR cIpzFLGHNpSs86HBtyti7CKZFZVlteexODlpRMP+jPKLgW2/ucT9hcbNV2oV4tqOVhB5xWYNZ 7q5IttP/B0ESiKu5ZmKxKJHo/a18+/XbO4cWXJ02ZCtZUSl/99H8RsFV6C1/CE0y09z8Q1Zqj 6B8vdBOQTXQUPsY6INmIPPLARkYeYb1hVDdrTIsH8G+3C4pCYZPMIm94CRQ80rqE0NVjUhybM 2z+5J9cz5liAQaWW/Cbqf4vSemFmAOQUkH9yaxKy/h23d/n1szpGqcNL+thWbR+1scWId7mPp 0LHUqLQk1vAblTk4U3vl41IqViduw47TWOZIM6OItfcGZeeOCKugvDjTH9n7iuFaPCN9FKJtR 6dpsl8q03yJL69SOZZf9UOtQ/T9M9cy8VDg5ZSHZ3odbUBo2/SooDXKG/wYRC818U/Hzw2EFG yyMyzgabCjg==
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/G_06PUVo7vSvqPxst5k5iUIW1OY>
Subject: Re: [tsvwg] L4S and the RACK requirement
X-BeenThere: tsvwg@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Transport Area Working Group <tsvwg.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tsvwg/>
List-Post: <mailto:tsvwg@ietf.org>
List-Help: <mailto:tsvwg-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 15 Feb 2019 16:20:30 -0000

OTOH, for non-RACK (time-based) stacks, mechanisms like this
https://tools.ietf.org/html/draft-zimmermann-tcpm-reordering-detection-02

should also adjust to the reordering extent - the current wording of L4S 
seems to preclude any enhancement along those lines to qualify for use 
of L4S, even thoug a dynamic measurement of the reordering extent would 
implicitly have some time component as measured, correct?


Also, for the proposed RTT/8, what would be a default starting value for 
RACK? 1 sec / 8 = 125 ms?


Best regards,
   Richard

Am 14.02.2019 um 21:18 schrieb Black, David:
>> Perhaps Bob can shed more lights on how TCP L4S would break badly w/o
>> RACK?
> 
> Start by looking at the rest of that slide deck:
> 
> https://datatracker.ietf.org/meeting/103/materials/slides-103-tcpm-sessa-l4s-rack-00
> 
> 
> Thanks, --David
> 
>> -----Original Message-----
>> From: Yuchung Cheng [mailto:ycheng@google.com]
>> Sent: Thursday, February 14, 2019 2:16 PM
>> To: Black, David
>> Cc: Wesley Eddy; tsvwg@ietf.org
>> Subject: Re: [tsvwg] L4S and the RACK requirement
>>
>>
>> [EXTERNAL EMAIL]
>>
>> On Tue, Feb 12, 2019 at 7:34 PM Black, David <David.Black@dell.com> wrote:
>>>
>>>> I am missing something: how does DCTCP depend a specific loss
>>>> detection mechanism (e.g. DupACK based, RACK, etc)? DCTCP is only
>>>> mandated to react to packet losses.
>>>>
>>>> Linux DCTCP uses RACK by default. There's no inherent dependency of
>>>> the two either.
>>>
>>> See slide 8 from Bob's Bangkok presentation to TCPM (and the rest of that
>>> presentation) - the requirement in the ecn-l4s-id draft is more restrictive
>>> than RACK as currently implemented - current DCTCP with RACK doesn't
>>> meet that requirement.
>>>
>>> https://datatracker.ietf.org/meeting/103/materials/slides-103-tcpm-sessa-
>> l4s-rack-00
>>>
>>> We (TSVWG chairs) are looking for "running code" ... as we're having
>> difficulty
>>> figuring out how the L4S experiment (the L4S drafts are intended to
>> become
>>>   experimental RFCs) would be carried out without any transport protocol
>> code.
>> Thanks for the pointer. I too think RACK seems a recommended
>> component, not a necessity based on the slides.
>>
>> Perhaps Bob can shed more lights on how TCP L4S would break badly w/o
>> RACK?
>>
>>>
>>> Thanks, --David
>>>
>>>> -----Original Message-----
>>>> From: tsvwg [mailto:tsvwg-bounces@ietf.org] On Behalf Of Yuchung
>> Cheng
>>>> Sent: Tuesday, February 12, 2019 7:27 PM
>>>> To: Wesley Eddy
>>>> Cc: tsvwg@ietf.org
>>>> Subject: Re: [tsvwg] L4S and the RACK requirement
>>>>
>>>>
>>>> [EXTERNAL EMAIL]
>>>>
>>>> On Tue, Feb 12, 2019 at 10:01 AM Wesley Eddy <wes@mti-systems.com>
>>>> wrote:
>>>>>
>>>>> In discussion among the TSVWG chairs, we are concerned about lack of
>>>>> consensus on the requirement currently in L4S ID draft (
>>>>> https://tools.ietf.org/html/draft-ietf-tsvwg-ecn-l4s-id-05 ) regarding
>>>>> the need for RACK-like behavior in a transport that uses the L4S queue.
>>>>>
>>>>> The statement in the draft is:
>>>>>
>>>>>       A scalable congestion control MUST detect loss by counting in units
>>>>> of time, which is scalable, and MUST NOT count in units of packets (as
>>>>> in the 3 DupACK rule of traditional TCP), which is not scalable (see
>>>>> Appendix A.1.7 for rationale).
>>>>>
>>>>> By saying this, it seems to rule out DCTCP and some other existing code
>>>>> that might be used with L4S (and DCTCP discussed in the draft as an
>>>>> example scalable transport, even though it violates this rule (?)).
>>>> I am missing something: how does DCTCP depend a specific loss
>>>> detection mechanism (e.g. DupACK based, RACK, etc)? DCTCP is only
>>>> mandated to react to packet losses.
>>>>
>>>> Linux DCTCP uses RACK by default. There's no inherent dependency of
>>>> the two either.
>>>>
>>>>> This seems like a bit of a problem for making L4S usable.  I guess maybe
>>>>> TCP Prague code fixes this, but isn't as widely available yet?
>>>>>
>>>>> The discussion in the appendix is good at explaining what I think the
>>>>> real goal is here, which is to enable major reduction in latency from
>>>>> link-layer (or other underlying transport network) re-ordering buffers.
>>>>> We want that in order to meet the low latency goals, which makes total
>>>>> sense.
>>>>>
>>>>> So, my question is whether the "MUST" is really more appropriately
>>>>> turned into a "SHOULD" guidance?  Given that we expect reordering to
>> be
>>>>> possible (and maybe normal) over hops supporting L4S, then the
>>>>> congestion control algorithm SHOULD have mechanisms that allow it to
>>>>> perform robustly.  If it doesn't, it only hurts itself, not any other
>>>>> traffic, so there seems to be no real reason to say "MUST" (someone
>>>>> violating it doesn't break the Internet or cause interop issues, etc).
>>>>> As I understand it, this would allow the examples like DCTCP to be
>>>>> relevant for use with L4S as well.
>>>>>
>>>>> Does Bob or anyone else have thoughts on this?
>>>>>
>>>