Re: [AVTCORE] [rtcweb] [tsvwg] WG Last Call on changes: draft-ietf-avtcore-rtp-circuit-breakers-16

Colin Perkins <csp@csperkins.org> Tue, 28 June 2016 22:03 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 D25D012D83A; Tue, 28 Jun 2016 15:03:02 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.2
X-Spam-Level:
X-Spam-Status: No, score=-4.2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3] 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 BoulhWdapYVq; Tue, 28 Jun 2016 15:02:59 -0700 (PDT)
Received: from balrog.mythic-beasts.com (balrog.mythic-beasts.com [46.235.227.24]) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 3863E12D790; Tue, 28 Jun 2016 15:02:58 -0700 (PDT)
Received: from [81.187.2.149] (port=47431 helo=[192.168.0.91]) by balrog.mythic-beasts.com with esmtpsa (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.80) (envelope-from <csp@csperkins.org>) id 1bI15q-0007Ir-IC; Tue, 28 Jun 2016 23:02: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: <CE03DB3D7B45C245BCA0D243277949362F5AFAE1@MX307CL04.corp.emc.com>
Date: Tue, 28 Jun 2016 23:02:48 +0100
Content-Transfer-Encoding: quoted-printable
Message-Id: <2E09525C-C1AD-41D1-AE22-865518FA0FBE@csperkins.org>
References: <ccf9f2d7-2694-4336-0ec9-ccfebfeb0120@ericsson.com> <CE03DB3D7B45C245BCA0D243277949362F585D3E@MX307CL04.corp.emc.com> <d97e30a7-70f5-26d0-c3a4-0497c669f5f6@ericsson.com> <CE03DB3D7B45C245BCA0D243277949362F586054@MX307CL04.corp.emc.com> <D19E595F-7C66-4AE9-92B4-D550A93F634D@csperkins.org> <CE03DB3D7B45C245BCA0D243277949362F589335@MX307CL04.corp.emc.com> <20160616222548.GB77166@verdi> <0643E158-BF26-4692-8167-B7A959CB20CE@csperkins.org> <CE03DB3D7B45C245BCA0D243277949362F596DBC@MX307CL04.corp.emc.com> <E16BEA87-1D0F-48F1-A9AC-2729079D581D@tik.ee.ethz.ch> <8C16F1C6-B4A7-4BB4-B215-D7E7EAF308F8@erg.abdn.ac.uk> <CE03DB3D7B45C245BCA0D243277949362F59C41D@MX307CL04.corp.emc.com> <3E053A65-2698-4749-8E3D-E0451DF84011@ifi.uio.no> <BF6B00CC65FD2D45A326E74492B2C19FB76A6433@FR711WXCHMBA05.zeu.alcatel-lucent.com> <32a23d69d22062669f78df806a4eb6b8.squirrel@erg.abdn.ac.uk> <BF6B00CC65FD2D45A326E74492B2C19FB76A659B@FR711WXCHMBA05.zeu.alcatel-lucent.com> <CE03DB3D7B45C245BCA0D24327! 7949362 F5 AEE02@MX307CL04.corp.emc.com> <6E35FB6C-CA98-413C-B7AE-75402A968017@ifi.uio.no> <3FD27BBF-8E2D-4A42-86A0-C4C0692FF8C9@csperkins.org> <A1874131-D163-4740-98B9-61F055230A04@ifi.uio.no> <CE03DB3D7B45C245BCA0D243277949362F5AFAE1@MX307CL04.corp.emc.com>
To: "Black, David" <david.black@emc.com>
X-Mailer: Apple Mail (2.3124)
X-BlackCat-Spam-Score: -28
X-Mythic-Debug: Threshold = On =
Archived-At: <https://mailarchive.ietf.org/arch/msg/avt/Dj4xinYz0KxgSSl-pnMCot2QhKc>
Cc: "rtcweb@ietf.org" <rtcweb@ietf.org>, tsvwg <tsvwg@ietf.org>, Michael Welzl <michawe@ifi.uio.no>, IETF AVTCore WG <avt@ietf.org>
Subject: Re: [AVTCORE] [rtcweb] [tsvwg] WG Last Call on changes: draft-ietf-avtcore-rtp-circuit-breakers-16
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, 28 Jun 2016 22:03:03 -0000

> On 28 Jun 2016, at 02:04, Black, David <david.black@emc.com>; wrote:
> 
> Trying to shorten up this thread again ...
> 
>>>>> I'm not quite sure how to specify "use of ECN as additional evidence" of
>>>>> "excessive congestion" as drop-equivalence is about the best we have
>>>>> for current guidance.
>>>> 
>>>> I fail to parse that sentence, so maybe I’m getting you wrong, but anyway I
>>>> wonder: what’s even the point of this?
>>>> Why even bother considering CE-marks as information for a circuit breaker?
>>> 
>>> Because the alternative is that we only break the circuit once the queue has
>> been driven into overflow, and packets have been lost. We want to avoid that,
>> since it causes latency, and too much latency is very bad for the user experience.
>> 
>> Well - the better way out would be for the application to react. Maybe this is me
>> misunderstanding the circuit breaker, but I did think it’s more like a last resort…
>> you just don’t want to be trigger-happy with such a thing?
> 
> Well, the RTP circuit breaker draft is not trigger happy - for its congestion circuit
> breaker to trip, RTP has to be sending at 10x the rate that TCP would send under
> those conditions, based on the TCP throughput equation.  See:
> 
> https://tools.ietf.org/html/draft-ietf-avtcore-rtp-circuit-breakers-16#section-4.3
> 
> The issue here is - when calculating the comparable TCP throughput, how are ECN-CE
> marks used to determine the loss rate input to the TCP throughput equation?  Do
> ECN-CE marked packets count as having arrived or having been dropped?

Right - or do they count somewhere between the two.

> When things are relatively stable and the ECN-CE marks are being used to nudge
> the sender's rate based on what the network can absorb, whether ECN-CE marks
> count as losses or not is probably immaterial - the 10x divergence from the TCP
> throughput equation's rate is not going to arise, and the circuit breaker won't trip.
> The circuit breaker is only supposed to trip when things are seriously wrong.

Correct.

> (1) If the RTP congestion circuit breaker trips based on ECN-CE marks alone,
> something feels intuitively wrong - how'd we get to RTP running at 10x the
> comparable TCP sending rate with no losses?  Perhaps the circuit breaker
> shouldn’t trip on ECN-CE marks alone?

Shouldn’t the comparable rate to trigger the circuit breaker be 10x that given to a TCP flow subject to the same ECN-CE marking rate? If the TCP treats ECN-CE as equivalent to loss, for congestion response, then the circuit breaker should do so to, etc.

> (2) At the other extreme, the congestion circuit breaker clearly has to trip if RTP
> gets to 10x the comparable TCP sending rate based on losses alone.  This is the
> baseline for the circuit breaker to provide network protection as intended.
> 
> So, going back to Gorry's suggestion to use ECN-CE marks as "additional evidence,"
> here's a straw proposal to shoot at ... factor in ECN-CE marks as additional losses
> *only when* losses are already occurring.   
> 
> For example, we could specify that for the RTP congestion circuit breaker to trip, the
> RTP sending rate has to be:
> 	- 10x the equivalent TCP sending rate based on counting ECN-CE marked
> 		packets as lost; AND
> 	- 3x the equivalent sending rate based on actual drops (i.e., counting
> 		ECN-CE marked packets as delivered).
> The "3x" above is an off-the-top-of-my-head factor that attempts to roughly
> equally weight the inputs (3 is close to the square root of 10) - pick a different
> number if that weighting feels wrong.
> 
> This would force drops to occur and then consider ECN-CE marks as additional evidence
> that something is wrong in the network.
> 
> Another possible rationale for this mixing is that if drops start occurring, then many of
> the new and proposed uses of ECN that treat ECN-CE marks as less than loss-equivalent
> are outside their intended operating envelopes/regions.

Clearly if the queue has been driven to overflow, so that packet loss is occurring, then the AQM is outside its intended operating regime. I’m not sure we need to push it so far, though. Is there not a regime where the ECN-CE marking rate indicates excessive congestion, before the queue overflows and drops packets? 

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