Re: [AVTCORE] Mirja Kühlewind's Discuss on draft-ietf-avtcore-rtp-circuit-breakers-15: (with DISCUSS and COMMENT)

Colin Perkins <csp@csperkins.org> Tue, 10 May 2016 15:51 UTC

Return-Path: <csp@csperkins.org>
X-Original-To: avt@ietfa.amsl.com
Delivered-To: avt@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B1CB112D1E7; Tue, 10 May 2016 08:51:08 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.6
X-Spam-Level:
X-Spam-Status: No, score=-2.6 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7] autolearn=ham autolearn_force=no
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 tTu0h7Ma4cl6; Tue, 10 May 2016 08:51:05 -0700 (PDT)
Received: from haggis.mythic-beasts.com (haggis.mythic-beasts.com [IPv6:2a00:1098:0:86:1000:0:2:1]) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 872FD12D0A0; Tue, 10 May 2016 08:51:05 -0700 (PDT)
Received: from [130.209.247.112] (port=59216 helo=mangole.dcs.gla.ac.uk) by haggis.mythic-beasts.com with esmtpsa (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.80) (envelope-from <csp@csperkins.org>) id 1b09eY-0004GC-5Q; Tue, 10 May 2016 16:32:55 +0100
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 9.3 \(3124\))
From: Colin Perkins <csp@csperkins.org>
In-Reply-To: <2EC09917-2E05-407D-AA7F-38C73B179C4B@kuehlewind.net>
Date: Tue, 10 May 2016 16:32:47 +0100
Content-Transfer-Encoding: quoted-printable
Message-Id: <269A572D-57AA-4E9F-8B5D-7559C54B0294@csperkins.org>
References: <20160503120321.7534.26562.idtracker@ietfa.amsl.com> <32C2F93E-9CB9-4645-9C42-320AA8B24ED5@csperkins.org> <2EC09917-2E05-407D-AA7F-38C73B179C4B@kuehlewind.net>
To: "Mirja Kuehlewind (IETF)" <ietf@kuehlewind.net>
X-Mailer: Apple Mail (2.3124)
X-BlackCat-Spam-Score: -28
X-Mythic-Debug: Threshold = On =
Archived-At: <http://mailarchive.ietf.org/arch/msg/avt/hhbJpM1bUOhCq90OarX0KxvnQUs>
Cc: avtcore-chairs@ietf.org, Magnus Westerlund <magnus.westerlund@ericsson.com>, draft-ietf-avtcore-rtp-circuit-breakers@ietf.org, The IESG <iesg@ietf.org>, avt@ietf.org
Subject: Re: [AVTCORE] Mirja Kühlewind's Discuss on draft-ietf-avtcore-rtp-circuit-breakers-15: (with DISCUSS and COMMENT)
X-BeenThere: avt@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: Audio/Video Transport Core Maintenance <avt.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/avt>, <mailto:avt-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/avt/>
List-Post: <mailto:avt@ietf.org>
List-Help: <mailto:avt-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/avt>, <mailto:avt-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 10 May 2016 15:51:08 -0000

> On 4 May 2016, at 11:52, Mirja Kuehlewind (IETF) <ietf@kuehlewind.net> wrote:
> 
> Hi Colin,
> 
> see below. 
> 
> 
>> Am 04.05.2016 um 12:32 schrieb Colin Perkins <csp@csperkins.org>:
>> 
>> Hi,
>> 
>>> On 3 May 2016, at 13:03, Mirja Kuehlewind <ietf@kuehlewind.net> wrote:
>>> 
>>> Mirja Kühlewind has entered the following ballot position for
>>> draft-ietf-avtcore-rtp-circuit-breakers-15: 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-avtcore-rtp-circuit-breakers/
>>> 
>>> 
>>> 
>>> ----------------------------------------------------------------------
>>> DISCUSS:
>>> ----------------------------------------------------------------------
>>> 
>>> This is about one point in section 7 (ECN) that I think is wrong but I
>>> would like to get some feedback from the authors:
>>> "then ECN-CE marked packets SHOULD
>>> be treated as if they were lost when calculating if the congestion-
>>> based RTP circuit breaker"
>>> (also section 5: "The count of ECN-CE marked packets
>>> contained in those ECN feedback reports is counted towards the number
>>> of lost packets reported")
>>> 
>>> We are currently discussion mechanisms where the AQM in the congested
>>> network node sends  much more CE markings than one would see loss (when
>>> using TCP) for the same level of congestion. When treating ECN-CE similar
>>> to loss, such a different behavior could trigger the circuit breaker
>>> unnecessarily. Potentially ECN-CE might not need to be considered here at
>>> all, because as long as there are (only) ECN-CE marks (and no loss) all
>>> data is transmitted correctly to the receiver and therefore there is no
>>> need to trigger a circuit breaker.
>> 
>> This is echoing the language in RFCs 3168 and 6679. My understanding is that both require CE marks to be treated the same as lost packets for congestion control, and the circuit breaker is essentially a form of congestion control.
> 
> There is currently a draft under discussion in tcpm to update rfc6138 and remove this statement.  So this statement should definitely not be picked up in this draft.

This would also have to update RFC 6679. I haven’t see it raised in AVTCORE or RMCAT.

> Further I disagree that a circuit breaker is a form of congestion control. It’s a last resort but there seem to be not much of a control loop involved here, making two very different thing with different requirements.

The circuit breaker has a control loop: it reacts to congestion feedback by reducing the offered load. I agree it’s much slower than typical congestion control, but it responds to the same type of congestion signal.

>>> Further also in section 7: "ECN-CE marked packets SHOULD be treated as if
>>> they were lost for the
>>> purposes of congestion control"
>>> 
>>> This document should not impose any SHOULDs for congestion control as
>>> this doc is only about circuit breaker sand therefore the sentence above
>>> should be removed.
>> 
>> Not sure I agree. The circuit breaker needs to treat lost and CE-marked packets the same as a congestion control algorithm, and the ECN specifications say that the response to CE marks needs to be the same as the response to loss. 
> 
> I disagree, given the explanation above that ECN-CE marking indicate that all traffic have been transmitted correctly. It’s only an input for a control mechanism/loop and should not be used as input for a circuit breaker, at least not the same way as loss it used.
> 
> You could calculate the loss and ecn ratio separately and e.g. lower the k value if there is also a high level of CE marks. However, only CE marks without loss should not trigger a circuit breaker. This is also what ietf-tsvwg-circuit-breaker says:
> "If Explicit
>      Congestion Notification (ECN) is enabled [RFC3168], an egress
>      meter MAY also count the number of ECN congestion marks/event per
>      measurement interval, but even if ECN is used, loss MUST still be
>      measured, since this better reflects the impact of persistent
>      congestion.“

I agree that makes sense in a TCP-like congestion control, where loss is the primary congestion signal. I’m not sure it’s right for real-time flows, where one of the primary goals is keeping latency down. Real-time flows that are causing persistent congestion ought to be stopped before they cause packet loss, if running in a network that uses ECN as the primary congestion signal.

>>> ----------------------------------------------------------------------
>>> COMMENT:
>>> ----------------------------------------------------------------------
>>> 
>>> Few more minor comments:
>>> 
>>> 1) reference [I-D.ietf-tsvwg-circuit-breaker] should be normative
>> 
>> This was discussed in relation to Ben’s AD review. I think you can implement the RTP circuit breaker without reading the TSV draft, so informative seems correct. However, I don’t much care either way.
> 
> I will double-check this; was not aware of any previous discussions here. I still think it should be normative...
> 
>> 
>>> 2) How is the loss rate in 4.3 calculated if some (but no all) RR are
>>> lost?
>> 
>> There’s no obvious way for the receiver of the RRs to know that some were lost, so the calculation will proceed as if the reporting interval was longer. 
> 
> Hm… what’s about using the (difference of )total number of losses instead?

I think Varun answered this.

>>> 3) I don't think that most of the text on congestion control in section 2
>>> (as well as the abstract) is necessary for this doc (but it also don't
>>> really hurt)
>> 
>> I agree it’s not necessary, but I tend to think motivation text is helpful in specifications.
> 
> Don’t have strong feeling about this. However as explain above, I don’t agree that circuit breaks are a kind of congestion control and there it would be much cleaner from my point of view to have those two things clearly separated.
> 
> Mirja
> 
> 
>> 
>> Cheers,
>> Colin
>> 
>> 
>> 
>> 
>> -- 
>> Colin Perkins
>> https://csperkins.org/
>> 
>> 
>> 
>> 
> 



-- 
Colin Perkins
https://csperkins.org/