Re: [OPS-DIR] Opsdir last call review of draft-ietf-tsvwg-sctp-ndata-12

Benoit Claise <bclaise@cisco.com> Thu, 31 August 2017 12:14 UTC

Return-Path: <bclaise@cisco.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 7DEF4132C28; Thu, 31 Aug 2017 05:14:14 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.5
X-Spam-Level:
X-Spam-Status: No, score=-14.5 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.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 uNG9WH4XqA10; Thu, 31 Aug 2017 05:14:12 -0700 (PDT)
Received: from aer-iport-4.cisco.com (aer-iport-4.cisco.com [173.38.203.54]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 937181321A5; Thu, 31 Aug 2017 05:14:10 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=8285; q=dns/txt; s=iport; t=1504181651; x=1505391251; h=subject:to:cc:references:from:message-id:date: mime-version:in-reply-to:content-transfer-encoding; bh=nbwDEJ9D8OAM51hwM7RC86bUNF+gLqGdFxrKzfU376M=; b=gJ8lUlMMb9HTFABFvR0PsW83eHNDOYNUVWUfzsQ/QDzhrsi6surFaIXC R4saLkt/6an/S2jM5GZVKfnYbBcxIJzK3cDpCr9eSYpaB1/tA7RUgFK0K KEo7k2cy1ReQFGrdbp26GWEQCqLEEFPFYeXiiMeUF5NytKvjLBwLzBsx/ c=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0CRAQBZ/KdZ/xbLJq1eGQEBAQEBAQEBAQEBBwEBAQEBhVOPC5B5IneXQoVHAoRZFAECAQEBAQEBAWsohRkBBTg4CRALGC5XBg0GAgEBF4oWsSaLRQEBAQEBAQEBAgEBAQEBAQEBAQEBHYMqg1CBYysLgWVYNYppBYoIlmeIPIwVghOFZ4NZhxuNUohzNiGBDTIhCBwVhWEcgWk+NopMAQEB
X-IronPort-AV: E=Sophos;i="5.41,453,1498521600"; d="scan'208";a="657149266"
Received: from aer-iport-nat.cisco.com (HELO aer-core-1.cisco.com) ([173.38.203.22]) by aer-iport-4.cisco.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 31 Aug 2017 12:14:06 +0000
Received: from [10.55.221.36] (ams-bclaise-nitro3.cisco.com [10.55.221.36]) by aer-core-1.cisco.com (8.14.5/8.14.5) with ESMTP id v7VCE42P014125; Thu, 31 Aug 2017 12:14:05 GMT
Subject: Re: [OPS-DIR] Opsdir last call review of draft-ietf-tsvwg-sctp-ndata-12
To: Michael Tuexen <tuexen@fh-muenster.de>
Cc: Stefan Winter <stefan.winter@restena.lu>, ops-dir@ietf.org, draft-ietf-tsvwg-sctp-ndata.all@ietf.org, tsvwg@ietf.org, ietf@ietf.org, IESG IESG <iesg@ietf.org>
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>
From: Benoit Claise <bclaise@cisco.com>
Message-ID: <41a1e8f1-2398-4d94-7021-638acdd58eb7@cisco.com>
Date: Thu, 31 Aug 2017 14:14:04 +0200
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0
MIME-Version: 1.0
In-Reply-To: <5CEB294C-AAC8-4F03-901D-487CD62BB491@fh-muenster.de>
Content-Type: text/plain; charset="windows-1252"; format="flowed"
Content-Transfer-Encoding: 7bit
Content-Language: en-US
Archived-At: <https://mailarchive.ietf.org/arch/msg/ietf/hQzjvnhM6tTl0H0kg2jcoHqXRnI>
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 12:14:14 -0000

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.
>> 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.
>    
>> 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.

Regards, B.
>>
>> Regards, Benoit