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

Benoit Claise <bclaise@cisco.com> Wed, 30 August 2017 16:51 UTC

Return-Path: <bclaise@cisco.com>
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 44596126BFD; Wed, 30 Aug 2017 09:51:30 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.501
X-Spam-Level:
X-Spam-Status: No, score=-14.501 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, 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 xoxDCKovLZ3m; Wed, 30 Aug 2017 09:51:28 -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 20D8413213D; Wed, 30 Aug 2017 09:51:26 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=6043; q=dns/txt; s=iport; t=1504111887; x=1505321487; h=subject:to:cc:references:from:message-id:date: mime-version:in-reply-to:content-transfer-encoding; bh=/X+PjXpR0lZ2Lj+XfP6za0CNkhSUnSS4mmFboWuR9zk=; b=ksR1vxhgWkUTkUQjmVmJl5rh6emjnlWzwcafsVNHoTal0eBd3UxBb6E9 lJvCDH+DUgwYKF6nczB3D+FhZX83vk9XGLCJkJ6yM3FhWDcFmMqegJQB7 tuKqjqh8O9kEumVjRjdUQIug5sa13SioSGQOrQfK+26TmnlUJj/0ccYDg k=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0BxAgAj7KZZ/xbLJq1eGgEBAQECAQEBAQgBAQEBiUqLEqlQhUcChGoUAQIBAQEBAQEBayiFGQYjFTgJEAsaAiYCAlcGAQwIAQEXihascoIni0IBAQEBAQEBAQEBAQEBAQEBASGBDYIdg1CBYyuBcIENiAiCYQEEigiWZIg5jBOCEoVng1mHGY1QiHM2IYENMiEIHBWFYRyBaT6LQgEBAQ
X-IronPort-AV: E=Sophos;i="5.41,449,1498521600"; d="scan'208";a="657131680"
Received: from aer-iport-nat.cisco.com (HELO aer-core-4.cisco.com) ([173.38.203.22]) by aer-iport-4.cisco.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 30 Aug 2017 16:51:22 +0000
Received: from [10.55.221.36] (ams-bclaise-nitro3.cisco.com [10.55.221.36]) by aer-core-4.cisco.com (8.14.5/8.14.5) with ESMTP id v7UGpMkM029954; Wed, 30 Aug 2017 16:51:22 GMT
To: Michael Tuexen <tuexen@fh-muenster.de>, Stefan Winter <stefan.winter@restena.lu>
Cc: 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>
From: Benoit Claise <bclaise@cisco.com>
Message-ID: <f4d121e4-44f5-e85d-98b1-bbea317a7539@cisco.com>
Date: Wed, 30 Aug 2017 18:51:21 +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: <F05D0F1F-47E2-4477-BFD9-F0119A4609FC@fh-muenster.de>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Transfer-Encoding: 7bit
Content-Language: en-US
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/favlWRkgEdjawgVGHmlL9PxwlWk>
Subject: Re: [tsvwg] [OPS-DIR] Opsdir last call review of draft-ietf-tsvwg-sctp-ndata-12
X-BeenThere: tsvwg@ietf.org
X-Mailman-Version: 2.1.22
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: Wed, 30 Aug 2017 16:51:30 -0000

Michael,

I stumbled on the same point as Stefan.

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.

>>>> 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.
The text might have to be rephrased to explain that this spec provides 
the ability to create stream scheduler with different relative stream 
treatments.
And also that urgent message would be placed in this high priority 
stream scheduler (reliable, I guess, but that's orthogonal) stream.
> 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.


Regards, Benoit