Re: [rmcat] Adam Roach's Discuss on draft-ietf-rmcat-scream-cc-12: (with DISCUSS and COMMENT)

Ingemar Johansson S <ingemar.s.johansson@ericsson.com> Thu, 26 October 2017 09:01 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 D7EAB13F44D; Thu, 26 Oct 2017 02:01:25 -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 EBmSuyMWMfax; Thu, 26 Oct 2017 02:01:18 -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 C4FD913ACAB; Thu, 26 Oct 2017 02:01:17 -0700 (PDT)
X-AuditID: c1b4fb25-debff70000000c94-4c-59f1a45bcac6
Received: from ESESSHC007.ericsson.se (Unknown_Domain [153.88.183.39]) by sesbmg23.ericsson.net (Symantec Mail Security) with SMTP id C9.AC.03220.B54A1F95; Thu, 26 Oct 2017 11:01:16 +0200 (CEST)
Received: from EUR02-HE1-obe.outbound.protection.outlook.com (153.88.183.145) by oa.msg.ericsson.com (153.88.183.39) with Microsoft SMTP Server (TLS) id 14.3.352.0; Thu, 26 Oct 2017 11:01:15 +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=VNhCnaFTK4ygNQl9ffiwszM/5zaAyDeUXoBo2yWr4Uk=; b=MOfXvCjZbRUNnIQHqAKP2fmp7EyLZ26jZTH/ulKqfITU13BlMXVnPvklySHLEym1NW4ROMH6WSVt39Lu46ezQF1hh3bJffhfnkvyEn20tQVzuXoOHDSxm/4fdI4n6zAnzqolAmj7KsJksLSnKt1szf3eu4ICdys2IqO6omUWgHo=
Received: from DB4PR07MB348.eurprd07.prod.outlook.com (10.141.234.148) by DB4PR07MB348.eurprd07.prod.outlook.com (10.141.234.148) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.178.3; Thu, 26 Oct 2017 09:01:11 +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 09:01:11 +0000
From: Ingemar Johansson S <ingemar.s.johansson@ericsson.com>
To: Adam Roach <adam@nostrum.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: Adam Roach's Discuss on draft-ietf-rmcat-scream-cc-12: (with DISCUSS and COMMENT)
Thread-Index: AQHTTh6jrsZRmNSerEGy8N9oihUnAaL1x1eg
Date: Thu, 26 Oct 2017 09:01:11 +0000
Message-ID: <DB4PR07MB348B58479B6BB4D272955AFC2450@DB4PR07MB348.eurprd07.prod.outlook.com>
References: <150899711347.24114.14191696188441903068.idtracker@ietfa.amsl.com>
In-Reply-To: <150899711347.24114.14191696188441903068.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; DB4PR07MB348; 6:gsqLWnDWx7eM/DmdKWUfKdUFCYXXwTJOwnmKLlttetkFsZd9hN/V7LR33lAwm+TG+Ad3bo0XuG/Bo8e9oynKwMacvM0kHL+vhDheb79aMsiHFGlJiuP8Hd8u0AyzaOYzcNx80YDJeHiySc57skjsOYMmR2czWUlvm2N5MhQ/Zgf0gHz+IsPvzx7TbVDSmVR9UiV5XwdGGO/Ma6DLpF4HxqhJXp56WB7c7uKGpd6yx/hUXBNwYjqsdge9svNc34PrLKFpZiprpPjyBstsENIgPtve6+ZiNhUAGuFhp+kL6oeROegfWe7GVMX2zIDzk7ARHlJZeuzLZkCUmtYQDYVIdy/QJnU4VDeyR6mIYsSqE0M=; 5:qLtX+MNBND09xoC0QjQhNVhyuTdzvclRsW1YGhCgt+Y716tK8lDKKu36L78esd1L9IytrnWOnBE8HLWZg6xunR/4o/Rvibr3hGNPJPPjZoBWCgHjXj0JBSXQFDglyaWzfB5ck6PbCwosN1M4irCDjsRM8ZZcG3VvjvgXL4E5GUc=; 24:zTsn3JFSR18Ze39CF/czDMAL9yx0UCrTozhkRuNYcbn/L8Vopgj+LnU7y98uDW2CQKTOIdQqZvVbQtIWNARYmXYcaAvpUgfxFHPX3SZBArs=; 7:LrKA9sT8L7rC1gCHeZtzwM24DMkhxV9WMTE3eDGSacIyaae0CweKhtYbvsuqkgUv1Nsw5Y9exSRFlIWzikukMx9K9dIIgQlkMiNbM9iILpAbH2avTnCuxOt9SrhjcKiTdvv0nIQZYxh2VEvlDNYfOrSUWmLymm8oz+sz+AHJhOv1goVIHaJoiBYWIWDhr1VR3UYfQGRUTgtn5jGz7eSZZNVokaKngu8ZUXlPMvDpbOxd8Tyec+zZ+owJnaG3Kzrb
x-ms-exchange-antispam-srfa-diagnostics: SSOS;
x-ms-office365-filtering-correlation-id: 50dcf964-d516-47f1-afc0-08d51c501acc
x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(4534020)(4602075)(4627075)(201703031133081)(201702281549075)(2017052603199); SRVR:DB4PR07MB348;
x-ms-traffictypediagnostic: DB4PR07MB348:
x-exchange-antispam-report-test: UriScan:(120809045254105)(166708455590820);
x-microsoft-antispam-prvs: <DB4PR07MB348C594D1A543A6BE0DB448C2450@DB4PR07MB348.eurprd07.prod.outlook.com>
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(8121501046)(5005006)(93006095)(93001095)(100000703101)(100105400095)(3231020)(3002001)(10201501046)(6041248)(20161123558100)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(20161123555025)(20161123560025)(20161123564025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:DB4PR07MB348; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:DB4PR07MB348;
x-forefront-prvs: 04724A515E
x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(6009001)(39860400002)(346002)(376002)(199003)(189002)(13464003)(51914003)(76104003)(7696004)(4326008)(2906002)(229853002)(478600001)(3660700001)(25786009)(6506006)(97736004)(3280700002)(8676002)(110136005)(81156014)(54906003)(99286003)(8936002)(55016002)(81166006)(66066001)(9686003)(6306002)(6436002)(316002)(53546010)(106356001)(105586002)(6246003)(966005)(14454004)(68736007)(230783001)(53936002)(54356999)(39060400002)(76176999)(50986999)(3846002)(6116002)(102836003)(86362001)(5660300001)(189998001)(101416001)(561944003)(2950100002)(33656002)(74316002)(305945005)(2900100001)(7736002)(5250100002); DIR:OUT; SFP:1101; SCL:1; SRVR:DB4PR07MB348; H:DB4PR07MB348.eurprd07.prod.outlook.com; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX: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: 50dcf964-d516-47f1-afc0-08d51c501acc
X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Oct 2017 09:01:11.3345 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 92e84ceb-fbfd-47ab-be52-080c6b87953f
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB4PR07MB348
X-OriginatorOrg: ericsson.com
X-Brightmail-Tracker: H4sIAAAAAAAAA02Sa0hTYRjHeXfOds6s1etSfDIFW4h0m3lBF0pkRUhUyy+lJujU4xzpHNs0 jTBBkZpKaiY6P2iyMO9hjlpYsiGRhGkrDG+pOQkzzUtookY7OwZ9+z3P///cXl6aENfxvWmV Ws9o1YoMicCNrI19HnA8wbQcd+LpIiHr2W6kZG2rYbKarQpCVjlbzZP1VY5SstaRJcFpQbTF OEFFm0wbvGijxUFeIeLdIlOZDFUOow08leSWPlsXrlmJyZ0quE8VIIfcgIQ04FAYq2ohDciN FuM+BGOfpykueIugu2FKwAYkLiOgtGOAzynVPPi9uoi4YBrBum2DxzYT4Ehotq0jlj1wBLwr 7CdYE4G3EbT/KnIJ+3AS1Bq+E5xJAU1rnc6BtJODYaE3nkUS+0PRcBjrEOF4sLX9dLnF+DJs zT0UsCzEcnhkbaRYRtgXJte/kCwT2AtGHfU87jYMpp5BgmNPmJv5w+f8KbAyUsbn8n6wZf8q 4NgX7PUlrrsAWymwL70nOUEK5ooFxPElGDAbdkw1CHo/dO5UHwZL/fpOwUUwjzsI9hjAKlgt DuD8dj4U9hXsbOcDa5ZSVI6kxv8WNzpLCGerzpeBXPogVJVMU0bXW7hDf62DbEBkC/LUMbrk TGVwiJTRqlJ0uiy1VM3ou5Dzy1i7N/1foI8/omwI00iyW1RYvBwn5itydHmZNgQ0IfEQjdc4 U6JURd4tRpuVqM3OYHQ2dIAmJV6iqNdDsWKsVOiZGwyjYbT/VB4t9C5Aod/OK/NxWkz6g6HN sxcen9GH+NDXkh3qu2k3vdwTs4d7r0bMEA3WVkuQ4VWsbQ+9mlvvWXd0V0lbmO8zD1Nx80L1 7Zj2/LwOjfBTqfzYm8jxeWQf7Ji3UhP7HUp/1d5zjkNPrks15U1dk3HzSeknE+aMd5R273sC lY/e7CcPl5C6dEXQEUKrU/wFpVy79y4DAAA=
Archived-At: <https://mailarchive.ietf.org/arch/msg/rmcat/wdceqRtkIqmWE3UKMB09EzcEBQk>
Subject: Re: [rmcat] Adam Roach's Discuss on draft-ietf-rmcat-scream-cc-12: (with DISCUSS and 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 09:01:26 -0000

Hi
And thanks for the review, comments inline marked [IJ]

/Ingemar

> -----Original Message-----
> From: Adam Roach [mailto:adam@nostrum.com]
> Sent: den 26 oktober 2017 07:52
> 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: Adam Roach's Discuss on draft-ietf-rmcat-scream-cc-12: (with
> DISCUSS and COMMENT)
> 
> Adam Roach has entered the following ballot position for
> draft-ietf-rmcat-scream-cc-12: Discuss
> 
> 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/
> 
> 
> 
> ----------------------------------------------------------------------
> DISCUSS:
> ----------------------------------------------------------------------
> 
> I'm confused about whether the text in this document is intended to form a
> normative description of SCReAM. The document contains the following
> statement:
> 
>    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.
> 
> This effectively states that the cited C++ code forms the normative
> specification of the SCReAM algorithm, and that this document is a non-
> normative companion to help understand the normative code.
> 
> If this is the case, then:
> 
> - The [SCReAM-CPP-implementation] reference needs to be moved from
> "Informative References" to "Normative References",
> 
> - The abstract and introduction need to make it much clearer that the
> normative definition of the SCReAM algorithm is a body of C++ code rather
> than the prose and psuedocode in this document, and
> 
> - We need to coordinate with the RFC editor to ensure proper archival of the
> code at [SCReAM-CPP-implementation]. At this time, github.com does not
> meet the standards of archival quality that the RFC series is expected to
> meet.
> 
> If the C++ implementation is *not* the normative definition of SCReAM,
> then the psuedocode and definitions in this document need to be complete
> and sufficient to implement the algorithm; and, in particular, it cannot omit
> algorithm details "for reasons of readability."

[IJ] Understand the concern. 
The pseudocode is normative as is and the "for reasons of readability" quote is actually note needed. The C++ code reference is that as I personally like to see the real running code in order to fully understand the function, and to be able to do fast experiments.
The C++ code contains optimizations, for instance it is not necessary to re-compute the pacing rate and the congestion window for each received ACK and that reduces complexity at very high bitrates. The code also contains optimizations for how bytes in flight is computed
In addition there is some code to increase the stability for the cases where packets arrive in bursts at the receiving end. This occasionally happens with LTE access and the fix limits how much the congestion window can increase. The fix does not make much difference and is not critical for the function of SCReAM.
Also there is some extra code in the congestion window update function that improves the performance at very low bitrates (less than 100kbps). Again this code is not critical for the function in SCReAM.

If possible I would like to have a refence the C++ code, with the necessary changes such as removal of "for reasons of readability" and making it more clear that the pseudo code and the draft text constitute a normative specification. It is however not a MUST that the C++ code is referenced to in the draft and it cannot be completely ruled out that parts of the code can change over time, the C++ code has now also gained sufficient traction to live on its own.  

What do you think is the best way forward here ?


> 
> 
> ----------------------------------------------------------------------
> COMMENT:
> ----------------------------------------------------------------------
> 
> Section 5 indicates:
> 
>    o  Support for alternate ECN semantics: This specification adopts the
>       proposal in [I-D.ietf-tcpm-alternativebackoff-ecn] to reduce the
>       congestion window less when ECN based congestion events are
>       detected.
> 
> This needs some clarification. While the psuedocode in section 4.1.2.2 has
> two different code paths for ECN- versus non-ECN-congestion, they differ
> only in terms of whether they reduce the CWND according to BETA_LOSS
> versus BETA_ECN.
> Section 4.1.1.1 defines the RECOMMENDED value for both of these constants
> as 0.8. If these are the same value, then treatment of ECN will be identical to
> treatment of loss, right?
> 
> I suspect that either (a) one of these values was intended to be different
> than the other, or (b) I've missed some additional ECN-related handling that
> provides differential treatment. If neither is true, please amend the
> statement in Section 5 to be more accurate (i.e.: the algorithm supports
> differential handling, but the normatively recommended configuration does
> not provide it).
[IJ] Good catch, it should actually be BETA_ECN = 0.9, will fix this. With that said, these values are recommended but in a real implementation they may eventually differ as more experiments and testing is needed.

> 
> ___
> 
> The document talks extensively about ECN, without ever making it clear
> whether the SCReAM algorithm works without ECN. The final paragraph of
> section 4.2.1 sort of implies that it is optional; but this is very late in the
> document, and it isn't very explicit. I would suggest adding text to the
> introduction that indicates that the algorithm can take advantage of ECN
> information when it is present, but that it does not require ECN to work
> properly.
[IJ] OK, good point, will add this last in the introduction 
=BEGIN=
SCReAM can take advantage of ECN (Explicit Congestion Notification) in cases where ECN is supported by the network and the hosts. ECN is however not a requirement for the basic congestion control functionality in SCReAM.
==END==

> 
> ___
> 
> Minor editorial comments follow.
> 
> Section 1.2:
> 
>    the RTP queue is kept short (preferably empty).  In addition the
>    output from a video encoder is rarely constant bitrate, static
>    content (talking heads) for instance gives almost zero video rate.
> 
> I think you mean "bit rate" rather than "video rate."
[IJ] "video bit rate" is more proper
 
> 
> Section 4.1.1.1:
> 
>    QDELAY_WEIGHT (0.1)
>      Averaging factor for qdelay_fraction_avg.
> 
>    QDELAY_TREND_TH (0.2)
>      Averaging factor for qdelay_fraction_avg.
> 
>    QDELAY_TREND_TH (0.2)
>      Averaging factor for qdelay_fraction_avg.
[IJ] Will remove one duplicate and rewrite as 
    QDELAY_WEIGHT (0.1)
      Averaging factor for qdelay_fraction_avg.
 
    QDELAY_TREND_TH (0.2)
      Threshold for the detection of incipient congestion.


> 
> All three of these appear to have the same definition, and the last two
> appear to have the same name.
> 
> Please expand ECN and EWMA on first use.
>