Re: [OPS-DIR] Opsdir last call review of draft-ietf-tsvwg-sctp-ndata-12
Spencer Dawkins at IETF <spencerdawkins.ietf@gmail.com> Thu, 31 August 2017 13:46 UTC
Return-Path: <spencerdawkins.ietf@gmail.com>
X-Original-To: ietf@ietfa.amsl.com
Delivered-To: ietf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 2CD67132DA2; Thu, 31 Aug 2017 06:46:18 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.698
X-Spam-Level:
X-Spam-Status: No, score=-2.698 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.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 bI-WytcrKvSk; Thu, 31 Aug 2017 06:46:14 -0700 (PDT)
Received: from mail-yw0-x22a.google.com (mail-yw0-x22a.google.com [IPv6:2607:f8b0:4002:c05::22a]) (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 C7C22132D91; Thu, 31 Aug 2017 06:46:13 -0700 (PDT)
Received: by mail-yw0-x22a.google.com with SMTP id s143so3527047ywg.0; Thu, 31 Aug 2017 06:46:13 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=mfiZmmQ/N6ptode9/iozv1GiLqTvO9Tlyu6sve+pne4=; b=oEcs9orssIoUlouJSL4KDUXeuhvR0ebGidbmRkjQQVbGZvRJ1R6WipV/jirnuroimF 8w0WjPrsuOMGN60zjSBqbGMmj8+fDwry+dOg5MHazCVo0LqmklY823WpHMbLqjfcapeW S8VbnmIe3mWx5xEgRuRqX/u//2IYINxPG7dm9kd5g05GU/1R8qLP+wikdeSveCtgxqbL xY1LJSUwz5Q6gsUR7vFd+zqRZGS6ie32wn+TqkbJexIdHN5zatXB/nknxeDkCesx7WLt 578afsq7ePrx9lG4V/Rzqn+R5ceGZXg9pw1QANzbb8C66RyFKf/z7MbjgRqXtxDvZJHa p4Pw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=mfiZmmQ/N6ptode9/iozv1GiLqTvO9Tlyu6sve+pne4=; b=ColzcBSrZmCwcHoggdmw0iiGBKTkg0yJtpzoAYzlYzLhZybYTTgQdO9VuNa/i0+7lI f1vX2LxidneVejc3vIp0GqtO1nbkABnonAbTUEMXUOGeMLKZ0Y2dES8an2st4JtiMtNf CprmRSoF5vM02caaZXv8QuM8U3aaDtUDiBssfxnntFBcVw19e42uuXf+3sMKeH8GAZiN yrgAW9Gf2LxR6N8XQ20fZ7eklS2zVBLrJs1wRwfudqKuFsaUUDJCsKj9vbvAb2/xp2r9 AAbdsvLOBDL8Ux9vgSnwrmAuHCO9a7a9DclV/BeUJOZ1IWOyPQPI9fHxZTvETg4fJUMN RQzA==
X-Gm-Message-State: AHYfb5gPR+K08Xb2S+Hmkcqao6Gn3QFyKCk17NMP1Dg0R7POIexn1fqE /n/3550hj+RKpuYxdoh//hCfMXrvpg==
X-Google-Smtp-Source: ADKCNb67xkl4YjMIvf0aEzbKvML+Gi5V01zAMq23HQkdMte+Y1uCZAJ6lMRQzVQlwudE8jlbQYQlAUM4c9wonhFzlI8=
X-Received: by 10.129.122.77 with SMTP id v74mr4748957ywc.218.1504187173028; Thu, 31 Aug 2017 06:46:13 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.37.2.148 with HTTP; Thu, 31 Aug 2017 06:46:12 -0700 (PDT)
In-Reply-To: <BD327429-5C8F-4034-A9E7-834FDB1E7FB6@fh-muenster.de>
References: <150287547583.12471.9085655210334710687@ietfa.amsl.com> <FDCFFA8C-8828-4578-A66E-A1AD7FF9BDC9@fh-muenster.de> <1a39dff3-55a9-fe1d-7e19-a0fbd0b2751b@restena.lu> <F05D0F1F-47E2-4477-BFD9-F0119A4609FC@fh-muenster.de> <f4d121e4-44f5-e85d-98b1-bbea317a7539@cisco.com> <5CEB294C-AAC8-4F03-901D-487CD62BB491@fh-muenster.de> <41a1e8f1-2398-4d94-7021-638acdd58eb7@cisco.com> <1FFDADBA-4132-4D3B-B68C-A89A50AF1E24@fh-muenster.de> <CAKKJt-dM1q9NDe8r=q-aqdWW0i3i8mSYLCNssU4cvjo22GRRyw@mail.gmail.com> <BD327429-5C8F-4034-A9E7-834FDB1E7FB6@fh-muenster.de>
From: Spencer Dawkins at IETF <spencerdawkins.ietf@gmail.com>
Date: Thu, 31 Aug 2017 08:46:12 -0500
Message-ID: <CAKKJt-fuJWEMd79Z2zRmg4GU8hpVcqSfN+Y6xLioMUmwu8d6fw@mail.gmail.com>
Subject: Re: [OPS-DIR] Opsdir last call review of draft-ietf-tsvwg-sctp-ndata-12
To: Michael Tuexen <tuexen@fh-muenster.de>
Cc: Benoit Claise <bclaise@cisco.com>, Stefan Winter <stefan.winter@restena.lu>, "ops-dir@ietf.org" <ops-dir@ietf.org>, draft-ietf-tsvwg-sctp-ndata.all@ietf.org, "tsvwg@ietf.org" <tsvwg@ietf.org>, "ietf@ietf.org" <ietf@ietf.org>, IESG IESG <iesg@ietf.org>
Content-Type: multipart/alternative; boundary="94eb2c0a87d61fc74005580cde5e"
Archived-At: <https://mailarchive.ietf.org/arch/msg/ietf/VKRlTIvP7emJQq3jxbIh_qSnvoE>
X-BeenThere: ietf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: IETF-Discussion <ietf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ietf>, <mailto:ietf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ietf/>
List-Post: <mailto:ietf@ietf.org>
List-Help: <mailto:ietf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ietf>, <mailto:ietf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 31 Aug 2017 13:46:18 -0000
Hi, Michael, On Thu, Aug 31, 2017 at 8:25 AM, Michael Tuexen <tuexen@fh-muenster.de> wrote: > > On 31. Aug 2017, at 14:50, Spencer Dawkins at IETF < > spencerdawkins.ietf@gmail.com> wrote: > > > > Just interjecting ... > > > > On Thu, Aug 31, 2017 at 7:25 AM, Michael Tuexen <tuexen@fh-muenster.de> > wrote: > > > > > On 31. Aug 2017, at 14:14, Benoit Claise <bclaise@cisco.com> wrote: > > > > > > Hi Michael, > > >>> On 30. Aug 2017, at 18:51, Benoit Claise <bclaise@cisco.com> wrote: > > >>> > > >>> Michael, > > >>> > > >>> I stumbled on the same point as Stefan. > > >> Hi Benoit, > > >> > > >> thanks for reviewing the document. See my comments in-line. > > >> > > >> Best regards > > >> Michael > > >>> First of, I had to review RFC4960 for TSN/SSN. I was not sure > whether TSN was per stream or not > > >>> It would have helped me to repeat this information in the intro. > > >>> Ok, to be candid, I deduced this information from figure 1 and 2. > > >>>>>>> And the rest are only musings not needing any action if the > authors don't want > > >>>>>>> to action on them: > > >>>>>>> > > >>>>>>> The introduction presents a good use case, quoting: "e.g., when > the > > >>>>>>> transmission of an urgent > > >>>>>>> message is blocked from transmission because the sender has > started > > >>>>>>> the transmission of another, possibly large, message". > > >>>>>>> > > >>>>>>> The later queueing example in figure 1 has three SIDs being > queued > > >>>>>>> simultanseously. It is not clear which of those "has already > started" and which > > >>>>>> There is actually one message queued for stream 0, three messages > for stream 1, > > >>>>>> and one message for stream 2. > > >>>>>>> are the important ones being delayed. For a better understanding > of the reader, > > >>>>>> The figure is about in which sequence they are put on the wire. > So no > > >>>>>> transmission has startet. This examples also does not deal with > the case > > >>>>>> of one stream having a higher priority than another. That would > be an > > >>>>>> example using a priority scheduler. This examples illustrates the > round > > >>>>>> robin scheduler. > > >>>>>> The point here is that a single scheduler (the round robin > scheduler, for > > >>>>>> example) behaves differently when user message interleaving is > used or not. > > >>>>>> That is an important point: You can even use the schedulers with > regular > > >>>>>> DATA chunk, i.e. with user message interleaving being negotiated. > > >>> This was my source of confusion. > > >>> With figure 1 and figure 2, you want to show the effect of Round > Robin Scheduler with and without User Message Interleaving, while we were > expecting the figure 2 to be the solution from this spec. Hence Stefan and > I were looking for this "urgent message" in figure 2. > > >> I don't know what you mean with "solution from this spec" means. This > spec introduces > > >> stream schedulers and a protocol extension to allow interleaving of > user messages. > > >> Using this to implement an "urgent" concept is only one possibility: > usage of a > > >> strict priority scheduler (SCTP_SS_PRIO). So this "urgent" is > misleading. It seems > > >> to ring the wrong bells. That is why I suggested to remove it... > > >>>>>>> it might be useful to revise the figure so that the head-of-line > blocking > > >>>>>>> happens for SID 1 because transmission of 0 and 2 has already > started (and > > >>>>>>> declare SID 1 to be the "important" message). The ASCII art > would just have to > > >>>>>>> indent SID 1 content a bit (placing 0 and 2 earlier in time), > and the resulting > > >>>>>>> serialisation would then put all the SID 1 messages at the very > end, when 0 and > > >>>>>>> 2 have been completely submitted (right?). > > >>>>>> One could think about adding another example based on the > priority scheduler > > >>>>>> and giving stream 1 a higher priority. But for illustrating the > point of > > >>>>>> schedulers behaving differently depending on the negotiation of > user message > > >>>>>> interleaving this seems not necessary. > > >>>>> That second example might indeed be useful. > > >>>>> > > >>>>> It's simply a bit strange that in the introduction you speak about > an > > >>>>> "urgent" message (something deserving a higher-priority sending) > and > > >>>>> that another transmission has already started - but then the > example has > > >>>>> none of those two. > > >>> Exactly. > > >>> Please add this extra example. > > >>> This would also clarify from the introduction that when you write ... > > >>> > > >>> The sending of such large messages over > > >>> SCTP as specified in [RFC4960] can result in a form of sender side > > >>> head of line blocking (e.g., when the transmission of an urgent > > >>> message is blocked from transmission because the sender has started > > >>> the transmission of another, possibly large, message). > > >>> > > >>> .. the notion of transmission urgency is not within a stream but > across streams, and that can be achieved with a priority scheduler. > > >> I would actually prefer to remove the word "urgent" from that > sentence. This just rings the wrong bells. > > > That's a missed opportunity in mind, but your call. > > Hmm. Let me remove the word "urgent"... > > > > Yes, please! I wasn't wild about it, either. > It's done: > https://github.com/sctplab/sctp-idata/commit/ > cf7b331512cd85d6195eb88fa96360673293323f > > > > >>> The text might have to be rephrased to explain that this spec > provides the ability to create stream scheduler with different relative > stream treatments. > > >> What about: > > >> > > >> OLD TEXT > > >> This document also defines several stream schedulers for general > SCTP > > >> associations. The stream schedulers may behave differently > depending > > >> on whether user message interleaving has been negotiated for the > > >> association or not. > > >> > > >> NEW TEXT > > >> This document also defines several stream schedulers for general > SCTP > > >> associations allowing different relative stream treatments. > > >> The stream schedulers may behave differently depending > > >> on whether user message interleaving has been negotiated for the > > >> association or not. > > >> > > >> Would that address this issue? > > > ok. > > Fixed. > > >> > > >>> And also that urgent message would be placed in this high priority > stream scheduler (reliable, I guess, but that's orthogonal) stream. > > >> I really would like to get rid of this. I don't think giving the > strict > > >> priority scheduler as specific role here is a good idea. > > >> > > >> The RR scheduler was chosen as the simplest scheduler to illustrate > > >> that scheduler can behave differently when using interleaving or not. > > >>>> What about removing the word "urgent" from that sentence. > > >>>>> In fact I wonder why you speak about urgent things in the > introduction > > >>>>> at all. Neither the scheduler nor the interleaving are designed to > help > > >>>>> urgent things to be sent earlier. > > >>>>> > > >>>>> All they do is make the transmission fairer so that *all* chunks > get a > > >>>>> more even serialised distribution on the wire. > > >>>> That is not true in general. If you use the priority scheduler, one > > >>>> stream gets preferred treatment. It also makes sure that the time > > >>>> of a message spent in the stream queue is shorter. So these messages > > >>>> get sent earlier. > > >>>> In the case of the round robin scheduler, you are right that this is > > >>>> about getting fairer treatment. If you take the WFQ scheduler, the > > >>>> streams don't get the same treatment, but it depends on the weight > > >>>> given to the stream. > > >>>>> So, rather than saying that the spec helps urgent things to be sent > > >>>>> earlier, it should maybe rather state that the spec helps every > message > > >>>>> getting an equal, and equally distributed, share of the medium. > > >>>> It is not meant that the spec does this. It was one example, what > > >>>> a particular stream scheduler does. But there are multiple > schedulers > > >>>> defined in the document. > > >>>> > > >>>> The RR scheduler example is not intended to illustrate what you can > do > > >>>> with all the schedulers, but that using message interleaving or not > > >>>> has an impact on the scheduler. That is meant by stating: > > >>>> > > >>>> This document also defines several stream schedulers for general > SCTP associations. > > >>>> The stream schedulers may behave differently depending on whether > user message > > >>>> interleaving has been negotiated for the association or not. > > >>>> > > >>>> This is followed by illustrating this using the RR scheduler. > > >>>> > > >>>> Best regards > > >>> Also, I don't see the value of the last sentence in this paragraph, > especially with RFC2119 MAY. > > >>> > > >>> This section defines several stream schedulers. The stream > > >>> schedulers may behave differently depending on whether user message > > >>> interleaving has been negotiated for the association or not. An > > >>> implementation MAY implement any subset of them. > > >> During the review the question was brought up which scheduler have to > be implemented > > >> by an implementation. This sentence was add to address it. > > >> If you want, I can remove it. > > > The point is that the MAY is that sentence doesn't mean anything. > > > Maybe you mean: > > > > > > An implementation MUST implement at least one stream scheduler. > > That would require an implementation to implement at least one of > > the ones being listed. You are right in the sense that an implementation > > MUST implement at least one stream scheduler, but the original text > > allows that one not to be specified in this document. > > > > Are you saying that an implementation MUST implement one of list defined > > by this document? > > > > I'm pretty sure (and this came up in my AD review) the problem is that > the original specification DID define a stream scheduler, that's wasn't > called a stream scheduler, but SCTP implementations did schedule streams. > And that didn't matter until there was more than one way to schedule > streams (as in this document). > The original specification did NOT specify a stream scheduler and left > this completely implementation > specific. > Right now Linux is using (and only supporting a single scheduler) what we > call in this document > SCTP_SS_FCFS. FreeBSD's default scheduler is what we call in this document > SCTP_SS_RR and > Solaris uses one of these, forgot which one. Among these kernel > implementations, only FreeBSD > supports multiple streams schedulers and its selection. Possibly other > closed source SCTP > implementations might support other schedulers. Don't know. Thanks for getting that right for me ... Spencer > > So you're working out better wording that says something like "in > addition to the way the original specification scheduled streams, we're > defining more of them". I think. I think we wanted to say something like: > > Here is a list of schedulers. Your implementation might support some of > them, but this is > left open. So you can't rely on it. > > The list of schedulers we specified includes the ones being used as > default by FreeBSD, Linux and > Solaris and was extended by the ones supported by FreeBSD and the one > explicitly required by > WebRTC, which is SCTP_SS_WFQ. > > What about this change: > > OLD TEXT: > An implementation MAY implement any subset of them. > > NEW TEXT: > An implementation MAY implement any subset of them. If the > implementation > is used for WebRTC Datachannels as specified in > [I-D.ietf-rtcweb-data-channel] > it MUST implement the Weighted Fair Queueing Scheduler defined in > Section 3.6. That works for me, but I'll let Benoit reply. Spencer > Best regards > Michael > > > > ? > > > > Spencer > >
- Opsdir last call review of draft-ietf-tsvwg-sctp-… Stefan Winter
- Re: Opsdir last call review of draft-ietf-tsvwg-s… Michael Tuexen
- Re: [OPS-DIR] Opsdir last call review of draft-ie… Stefan Winter
- Re: [OPS-DIR] Opsdir last call review of draft-ie… Michael Tuexen
- Re: [OPS-DIR] Opsdir last call review of draft-ie… Benoit Claise
- Re: [OPS-DIR] Opsdir last call review of draft-ie… Michael Tuexen
- Re: [OPS-DIR] Opsdir last call review of draft-ie… Benoit Claise
- Re: [OPS-DIR] Opsdir last call review of draft-ie… Michael Tuexen
- Re: [OPS-DIR] Opsdir last call review of draft-ie… Spencer Dawkins at IETF
- Re: [OPS-DIR] Opsdir last call review of draft-ie… Benoit Claise
- Re: [OPS-DIR] Opsdir last call review of draft-ie… Michael Tuexen
- Re: [OPS-DIR] Opsdir last call review of draft-ie… Michael Tuexen
- Re: [OPS-DIR] Opsdir last call review of draft-ie… Spencer Dawkins at IETF
- Re: [OPS-DIR] Opsdir last call review of draft-ie… Michael Tuexen
- Re: [OPS-DIR] Opsdir last call review of draft-ie… Spencer Dawkins at IETF
- Re: [OPS-DIR] Opsdir last call review of draft-ie… Benoit Claise