Re: [rmcat] Spencer Dawkins' Yes on draft-ietf-rmcat-scream-cc-12: (with COMMENT)

Ingemar Johansson S <ingemar.s.johansson@ericsson.com> Thu, 26 October 2017 07:11 UTC

Return-Path: <ingemar.s.johansson@ericsson.com>
X-Original-To: rmcat@ietfa.amsl.com
Delivered-To: rmcat@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 616C71394E4; Thu, 26 Oct 2017 00:11:12 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.22
X-Spam-Level:
X-Spam-Status: No, score=-4.22 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=ericsson.onmicrosoft.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 XYyglNbrW0UD; Thu, 26 Oct 2017 00:11:10 -0700 (PDT)
Received: from sesbmg23.ericsson.net (sesbmg23.ericsson.net [193.180.251.37]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E397B13A5CF; Thu, 26 Oct 2017 00:11:08 -0700 (PDT)
X-AuditID: c1b4fb25-dd3ff70000000c94-13-59f18a8afbd4
Received: from ESESSHC020.ericsson.se (Unknown_Domain [153.88.183.78]) by sesbmg23.ericsson.net (Symantec Mail Security) with SMTP id 9F.8D.03220.A8A81F95; Thu, 26 Oct 2017 09:11:06 +0200 (CEST)
Received: from EUR02-VE1-obe.outbound.protection.outlook.com (153.88.183.145) by oa.msg.ericsson.com (153.88.183.78) with Microsoft SMTP Server (TLS) id 14.3.352.0; Thu, 26 Oct 2017 09:11:05 +0200
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ericsson.onmicrosoft.com; s=selector1-ericsson-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=7vZZI+rGBUD+Pf1J395HNUEnACTZ/t4jLN/7ItcmlPs=; b=PwQ0fRJEeurvnSLtTYfm41Rtfh9EoCWlo0YwFAa2/7/nBghm7mCpNjyISi91hP9dBOp9rvqtuqNYN4f88fzzOSIvM4x/WvQToINGIoXjy5S04JHrhgXoozB8deRTwAYmmDv330lg+EQFRquYcaTgUaijtkkAzApgfXoPzIUaPYM=
Received: from DB4PR07MB348.eurprd07.prod.outlook.com (10.141.234.148) by DB4PR07MB347.eurprd07.prod.outlook.com (10.141.234.146) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.156.4; Thu, 26 Oct 2017 07:11:03 +0000
Received: from DB4PR07MB348.eurprd07.prod.outlook.com ([fe80::d067:33bc:7c46:c8c9]) by DB4PR07MB348.eurprd07.prod.outlook.com ([fe80::d067:33bc:7c46:c8c9%13]) with mapi id 15.20.0178.007; Thu, 26 Oct 2017 07:11:03 +0000
From: Ingemar Johansson S <ingemar.s.johansson@ericsson.com>
To: Spencer Dawkins <spencerdawkins.ietf@gmail.com>, The IESG <iesg@ietf.org>
CC: "draft-ietf-rmcat-scream-cc@ietf.org" <draft-ietf-rmcat-scream-cc@ietf.org>, Martin Stiemerling <mls.ietf@gmail.com>, "rmcat-chairs@ietf.org" <rmcat-chairs@ietf.org>, "mls.ietf@gmail.com" <mls.ietf@gmail.com>, "rmcat@ietf.org" <rmcat@ietf.org>
Thread-Topic: Spencer Dawkins' Yes on draft-ietf-rmcat-scream-cc-12: (with COMMENT)
Thread-Index: AQHTTZIAzSBHLtot+EalUvHuLZRzxaL0kAJQ
Date: Thu, 26 Oct 2017 07:11:03 +0000
Message-ID: <DB4PR07MB34826A1A665A5BDB7DCF29CC2450@DB4PR07MB348.eurprd07.prod.outlook.com>
References: <150893665572.4719.12540336704273987827.idtracker@ietfa.amsl.com>
In-Reply-To: <150893665572.4719.12540336704273987827.idtracker@ietfa.amsl.com>
Accept-Language: sv-SE, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: spf=none (sender IP is ) smtp.mailfrom=ingemar.s.johansson@ericsson.com;
x-originating-ip: [192.176.1.92]
x-ms-publictraffictype: Email
x-microsoft-exchange-diagnostics: 1; DB4PR07MB347; 6:77Tn4sdEkiGzhD0bauwQ8b1FFfAqzRvaYu1C+iQzAqCsO9ScYsFwmXKY1nrAP026y3SiPej7xI5GANHsUQ1vw5CTsW4PXINAPUhMZ5XoqtJrPo/i7XSsOEDAmeHj9vcYpxXzcv03oD9Fi4HH3VMVq1alQRxzkanBohyyrxDeXJp0IwMPfcKjWAjhF7ID8il4hJDuGmDZZs8Jq1l30nXeTuHXvrOouycqKYYhnAXBuvOk9mIQYBkTwOLkSZZMI78HNP5UdAwDGs55ZjWxK84O4MF6FVIPM1XE2xual/nKBwsfi0L0o/a4XT8lf3kfaqdjPuYKLUltYy1Xe+fVdSnzpw==; 5:ndX+DWbwR1kzHsk2jlaDzFYLlKgoCOOF+CWZTFjwTIOKv6VSqMkDSmnv+AIYVmhWhLnZUkHxhuq05nBeEUJsZViMHpP0BIIqkweXBmauh/Uk01v6YN8zkXbbR7sVjXcGGgfKJuZldRThclNu2Hv3vg==; 24:7N8VdtrUeH2k1trJ9q74VPSJSA+PI4ex5CkSWESLqrpbiqWOrwwH7TuUpKVVx3ku+5yaQcqOuUUv/lx2fiCWb1v7f5tMSZjQsxr0Yiul1LI=; 7:X5bRXLeItoXKTnDNYVQF3q44/NRPeaIXuxGIGWqstUB79Ucoz12vY258vgFvl3N6YhMqbA0AVGiGcVs2TWv3t8aN2Ks43DWrBetJ2Iuy4RirnlUGrq6z5dEWARouFXtWP2/7c17nXB8V3SWSTZCZa0VWRodAawXnZ0+T5ph6BnO4Y7O157uLOnqhHg2lVRimKdxpRnQq7ryCmyWQMJfnBxD0FbQD5nGEt9vyZvjvXno=
x-ms-exchange-antispam-srfa-diagnostics: SSOS;
x-ms-office365-filtering-correlation-id: 76cf4164-90f5-439c-6ab5-08d51c40b849
x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(4534020)(4602075)(4627075)(201703031133081)(201702281549075)(2017052603199); SRVR:DB4PR07MB347;
x-ms-traffictypediagnostic: DB4PR07MB347:
x-exchange-antispam-report-test: UriScan:(120809045254105)(155532106045638);
x-microsoft-antispam-prvs: <DB4PR07MB347B7D6C9D84661F893DB6FC2450@DB4PR07MB347.eurprd07.prod.outlook.com>
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(5005006)(8121501046)(3002001)(10201501046)(100000703101)(100105400095)(3231020)(93006095)(93001095)(6041248)(20161123555025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(20161123564025)(20161123558100)(20161123560025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:DB4PR07MB347; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:DB4PR07MB347;
x-forefront-prvs: 04724A515E
x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(6009001)(376002)(346002)(39860400002)(51914003)(13464003)(25584004)(189002)(199003)(54906003)(54356999)(97736004)(106356001)(2906002)(53546010)(55016002)(7696004)(86362001)(9686003)(966005)(33656002)(6436002)(3846002)(6116002)(2900100001)(2950100002)(189998001)(6306002)(25786009)(102836003)(5250100002)(81166006)(4326008)(305945005)(230783001)(3660700001)(99286003)(39060400002)(81156014)(5660300001)(14454004)(53936002)(76176999)(3280700002)(229853002)(316002)(6246003)(8936002)(7736002)(8676002)(50986999)(68736007)(105586002)(6506006)(74316002)(478600001)(101416001)(110136005)(66066001); DIR:OUT; SFP:1101; SCL:1; SRVR:DB4PR07MB347; H:DB4PR07MB348.eurprd07.prod.outlook.com; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en;
received-spf: None (protection.outlook.com: ericsson.com does not designate permitted sender hosts)
spamdiagnosticoutput: 1:99
spamdiagnosticmetadata: NSPM
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-Network-Message-Id: 76cf4164-90f5-439c-6ab5-08d51c40b849
X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Oct 2017 07:11:03.6222 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 92e84ceb-fbfd-47ab-be52-080c6b87953f
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB4PR07MB347
X-OriginatorOrg: ericsson.com
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprGKsWRmVeSWpSXmKPExsUyM2K7n25X18dIg9nzDC3WfDazmPFnIrPF pKfTmCyOTLrFbrH65gc2i2VT9jA7sHnsnHWX3WPJkp9MAUxRXDYpqTmZZalF+nYJXBkruuaw FSwqqDh9bD9zA+OG3C5GTg4JAROJYzf2MIHYQgJHGCX2nAWyuYDsE4wSt+b+ZwRxWAR6mSWm rOhgh8hMY5L4v+0TC4TzkFFixp0mRpB+NgEbiZWHvoPZIgK+ElcmL2UDKWIW+MsosfZLC1hC WCBEoun0YzaIolCJS6vuMEPYRhIrP7wDinMA7VOV6FljDBLmFYiSaGxfzQJxn6/EzK1H2UFs TgE/iU+b5oLZjAKyEve/3wOrYRYQl7j1ZD4TxG8CEkv2nGeGsEUlXj7+xwpRnyzx6WYvK0Rc QeLPpUdsELasxKX53WAvSwi0skuc+LkZKqEnsXXiW0aQ2ySAjjhywgaiZgajxPst3VCDNCW6 7+1ggajxkXh1Lw8inClx99wEVoj6S6wSj4/B1MtIfNvZwziBUW8WkrtnAbUzA41av0sfIqwo MaX7IfsscFAISpyc+YRlASPLKkbR4tTipNx0I2O91KLM5OLi/Dy9vNSSTYzA1HJwy2/VHYyX 3zgeYhTgYFTi4W1u+xgpxJpYVlyZe4hRgoNZSYSXESTEm5JYWZValB9fVJqTWnyIUZqDRUmc 13HfhQghgfTEktTs1NSC1CKYLBMHp1QDY+jONqfHps8nJl2vVP1Tzb/Jew6z/fV11jPvLss8 8Ta3l2nLwtvi0+eZp82b2tUifd5ciTPxeu3T50f8TKMuPeXwLM35OLt+g8XSSX9ebNx0NSL0 uNihOd+SRH/pacWuFoqcc6f14/4XaU9fin48v/FfH1PqhWfrdrD+3ja5+/iPaXEz12h3OW1Q YinOSDTUYi4qTgQA2eAFuCkDAAA=
Archived-At: <https://mailarchive.ietf.org/arch/msg/rmcat/jm-OOlin9ZV9OovcDDW2Neu08eA>
Subject: Re: [rmcat] Spencer Dawkins' Yes on draft-ietf-rmcat-scream-cc-12: (with COMMENT)
X-BeenThere: rmcat@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: "RTP Media Congestion Avoidance Techniques \(RMCAT\) Working Group discussion list." <rmcat.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rmcat>, <mailto:rmcat-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/rmcat/>
List-Post: <mailto:rmcat@ietf.org>
List-Help: <mailto:rmcat-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rmcat>, <mailto:rmcat-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 26 Oct 2017 07:11:12 -0000

Hi
And thanks for the review. Comments inline marked [IJ]

/Ingemar

> -----Original Message-----
> From: Spencer Dawkins [mailto:spencerdawkins.ietf@gmail.com]
> Sent: den 25 oktober 2017 15:04
> To: The IESG <iesg@ietf.org>
> Cc: draft-ietf-rmcat-scream-cc@ietf.org; Martin Stiemerling
> <mls.ietf@gmail.com>; rmcat-chairs@ietf.org; mls.ietf@gmail.com;
> rmcat@ietf.org
> Subject: Spencer Dawkins' Yes on draft-ietf-rmcat-scream-cc-12: (with
> COMMENT)
> 
> Spencer Dawkins has entered the following ballot position for
> draft-ietf-rmcat-scream-cc-12: Yes
> 
> When responding, please keep the subject line intact and reply to all email
> addresses included in the To and CC lines. (Feel free to cut this introductory
> paragraph, however.)
> 
> 
> Please refer to https://www.ietf.org/iesg/statement/discuss-criteria.html
> for more information about IESG DISCUSS and COMMENT positions.
> 
> 
> The document, along with other ballot positions, can be found here:
> https://datatracker.ietf.org/doc/draft-ietf-rmcat-scream-cc/
> 
> 
> 
> ----------------------------------------------------------------------
> COMMENT:
> ----------------------------------------------------------------------
> 
> I'm a Yes with lots of questions and comments. You may be educating me,
> rather than making text changes, as seems appropriate.
> 
> Because
> 
> 4.1.1.1.  Constants
> 
>    The RECOMMENDED values, within (), for the constants are deduced from
>    experiments.
> 
> provides recommended, but not required, constant values (which is fine),
> could you say something about, or just provide a reference to, those
> experiments, so that implementers and deployers could verify that they are
> in an environment that was considered by the working group?
> 
> I'd also note that most of the constants, but not all, have associated text that
> says basically "if you dork with this constant, here's what's likely to change".
> Some of those constants are pretty self-evident even to me, but not all of
> them. That could have been intentional, but the working group is likely to
> have a better grip on that than J. Typical Coder On A Deadline in a couple of
> years, so if there are useful things to say, I'd imagine people would listen to
> you.
> 
> Is
> 
>   QDELAY_TREND_TH (0.2)
>      Averaging factor for qdelay_fraction_avg.
> 
>    QDELAY_TREND_TH (0.2)
>      Averaging factor for qdelay_fraction_avg.
> 
> a duplicate?
[IJ] Yes, obviously a duplicate, will fix this

> 
> In this text,
> 
>   rtp_queue_size (0 bits)
>      Size of RTP packets in queue.
> 
>    rtp_size (0 byte)
>      Size of the last transmitted RTP packet.
> 
> is "size" being used in the same way (so, rtp_queue_size would be the total
> number of bytes in queue)? But I'm guessing. Maybe "Sum of the sizes of
> RTP packets in queue"?
[IJ] Good suggestion, will change as suggested

> 
> ISTM that
> 
>    Note that the pseudo code does not show all
>    details for reasons of readability, the reader is encouraged to look
>    into the C++ code in [SCReAM-CPP-implementation] for the details.
> 
> might make SCReAM-CPP-implementation a normative reference. Does
> "encouraged to look at" mean "really needs to look at"?
[IJ] No, it is not necessary to look in the code. I realize that I balance on a thin line here. It is more that the additional lines of comments in the C++ code can give the extra insight, a bonus is that it is possible to run the code in the minimalistic simulator and learn how it works. But the code is not normative and it is listed among the informative references, if you have a suggestions how to rewrite this then that would be more that welcome. 
  
> 
> In this text,
> 
>    It is desired to avoid the case that the qdelay
>    target is increased due to self-congestion, indicated by a changing
>    qdelay and consequently an increased qdelay_norm_var_t.  Still it
>    SHOULD be possible to increase the qdelay target if the qdelay
>    continues to be high.
> 
> I got lost in the passive tense. Is this saying that *an implementation* should
> be able to increase the qdelay target algorithmically?
> 
> This text,
> 
>    If it is deemed
>    unlikely that competing flows occur over the same bottleneck, the
>    algorithm described in this section MAY be turned off.  However, when
>    sending over the Internet, often the network conditions are not known
>    for sure.  Therefore turning this algorithm off must be considered
>    with caution as that can lead to basically zero throughput if
>    competing with other, loss based, traffic.
> 
> bothers me a bit, because I'm not sure how a transport implementation
> knows that it's sending over the Internet. We have discussions from time to
> time about networks that are playing games with non-RFC 1918 addresses
> and NATs, for instance, and networks that are directly interconnected can be
> using routable addresses, while not "sending over the Internet". Is the point
> that an implementation that turns the algorithm off is well-advised to detect
> that it should turn the algorithm on?
[IJ] Yes, that is probably as far as one can take it. One such example is remote controlled vehicles with multiple cameras that we are experimenting with. In this case we can configure a QoS bearer for service and we know that at least in the radio network there will be no competing traffic over the same radio bearer (~radio channel for a given terminal). In the general case however, we don't have that luxury

I would suggest that I rewrite the whole text a bit. If I rewrite the 1st paragraph (before the pseudo code) in section 4.1.2.3 as
=BEGIN=
It is likely that a flow using SCReAM algorithm will have to share
 congested bottlenecks with other flows that use a more aggressive
 congestion control algorithm, examples of such ar large FTP flows using loss based congestion control. 
 The worst condition occurs when the bottleneck queues are of tail-drop tupe with a large buffer size.  
 SCReAM takes care of such situations by adjusting the qdelay_target when loss based flows are detected, 
 as given by the pseudo code below.
==END==

And the text after the pseudo code as 
=BEGIN=
Two temporary variables are calculated, qdelay_norm_avg_t is the long term 
 average queue delay, qdelay_norm_var_t is the long term variance of the queue delay.
 A high qdelay_norm_var_t indicates that the queue delay changes, this can be an indication of 
 reduced bottleneck bandwidth or that a competing flow has just entered. This indicates that 
 it is not safe to adjust the queue delay target.        

 A low qdelay_norm_var_t indicates that the queue delay is relatively stable, 
 the reason can be that the queue delay is low but it can also be an indication that a 
 competing flow is filling up the bottleneck to the limit where packet losses may start to occur, 
 in which case the queue delay will stay relatively high for a longer time.

 The queue delay target is allowed to be increased if, 
 either the loss event rate is above a given threshold or that qdelay_norm_var_t is low. 
 Both these conditions indicate that a competing flow may be present. 
 In all other cases the queue delay target is decreased.
 
 The function that adjusts the qdelay_target is simple and has a certain risk to 
 produce both false positive and negatives, The case that self-inflicted congestion by the SCReAM algorithm 
 may be falsely interpreted as the presence of competing loss based FTP flows is a false positive. 
 The opposite case where the algorithm fails to detect the presence of a competing FTP flow is a false negative.

 Extensive simulations have shown that the algorithm performs well in LTE test 
 cases and that it also performs well in simple bandwidth limited bottleneck test cases with competing FTP flows.
 It can however not be completely ruled out that 
 this algorithm can fail. Especially the false positives can be problematic as the end to end delay can 
 increase dramatically if the target queue delay is increased by accident as a result of self-inflicted congestion.
 
 If it is deemed unlikely that competing flows occur over the same bottleneck, the
 algorithm described in this section MAY be turned off. One such case is QoS controlled bearers 
 in 3GPP based access such as LTE. 
 However, when sending over the Internet, often the network conditions are not known
 for sure and  it is in general not possible to make safe assumptions on how a 
 network is used and whether or not competing flows share the same bottleneck.  
 Therefore turning this algorithm off must be considered
 with caution as that can lead to basically zero throughput if
 competing with other, loss based, traffic.
==END==

Would these changes improve things ?

> 
> I couldn't parse
> 
>    A strict rule can lead to that the
>       media bitrate will have difficulties to increase as the congestion
>       window puts a too hard restriction on the media frame size
>       variation.
> 
> without guessing. I lost my way at "can lead to that the media bitrate".
> 
[IJ] The problem here is that, in order to keep the end to end delay low , the RTP queue delay must be kept short as well. 
This is an extra complication that does not apply for e.g. large file (FTP) transfers, in which case an object is simply put in the TCP transmit buffer, application level delay is not an issue

Is this more clear if I rewrite as below ?

=BEGIN=
Bitrate variations: The media frame size is always varying to a
larger or smaller extent. The RTP queue absorbs the natural variations in frame sizes. 
The RTP queue should however be as short as possible, to achieve that the media rate 
control takes the RTP queue size into account when the target bitrate for the media is computed.
A strict 'send only when bytes in flight is less than the congestion window' rule can lead to that 
the RTP queue grows simply because the send window is limited, the effect of 
which would be that the target bitrate is pushed down. The consequence of this is that the congestion window 
will not increase, or will increase very slowly, because the congestion window is only allowed to increase when there is a sufficient amount of data in flight. The end effect is then that the media bitrate increases very slowly 
or not at all.
==END==