Re: [ledbat] [R-C] LEDBAT vs RTCWeb
Randell Jesup <randell-ietf@jesup.org> Fri, 20 April 2012 14:48 UTC
Return-Path: <randell-ietf@jesup.org>
X-Original-To: ledbat@ietfa.amsl.com
Delivered-To: ledbat@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 4798C21F86F9 for <ledbat@ietfa.amsl.com>; Fri, 20 Apr 2012 07:48:49 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.095
X-Spam-Level:
X-Spam-Status: No, score=-2.095 tagged_above=-999 required=5 tests=[AWL=0.504, BAYES_00=-2.599]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id B8TKwRrVk2VJ for <ledbat@ietfa.amsl.com>; Fri, 20 Apr 2012 07:48:48 -0700 (PDT)
Received: from r2-chicago.webserversystems.com (r2-chicago.webserversystems.com [173.236.101.58]) by ietfa.amsl.com (Postfix) with ESMTP id 915A721F8703 for <ledbat@ietf.org>; Fri, 20 Apr 2012 07:48:48 -0700 (PDT)
Received: from pool-108-16-41-249.phlapa.fios.verizon.net ([108.16.41.249] helo=[192.168.1.12]) by r2-chicago.webserversystems.com with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.69) (envelope-from <randell-ietf@jesup.org>) id 1SLF8h-00017a-Jh; Fri, 20 Apr 2012 09:48:47 -0500
Message-ID: <4F91772F.8010806@jesup.org>
Date: Fri, 20 Apr 2012 10:48:15 -0400
From: Randell Jesup <randell-ietf@jesup.org>
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:11.0) Gecko/20120312 Thunderbird/11.0
MIME-Version: 1.0
To: rtp-congestion@alvestrand.no, ledbat@ietf.org
References: <4F840709.4020103@alvestrand.no> <CAEdus3+Muyy73UoXYuNv6K3OqaSnUYkZh5yBYcpOT1M4oqBc3w@mail.gmail.com> <4F87EF2B.1010805@jesup.org> <201204201355.36264.mirja.kuehlewind@ikr.uni-stuttgart.de>
In-Reply-To: <201204201355.36264.mirja.kuehlewind@ikr.uni-stuttgart.de>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - r2-chicago.webserversystems.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - jesup.org
X-Source:
X-Source-Args:
X-Source-Dir:
Subject: Re: [ledbat] [R-C] LEDBAT vs RTCWeb
X-BeenThere: ledbat@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Mailing list of the LEDBAT WG <ledbat.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ledbat>, <mailto:ledbat-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/ledbat>
List-Post: <mailto:ledbat@ietf.org>
List-Help: <mailto:ledbat-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ledbat>, <mailto:ledbat-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 20 Apr 2012 14:48:49 -0000
On 4/20/2012 7:55 AM, Mirja Kuehlewind wrote: > Hi Randell, > > I didn't follow the whole discussion but regarding LEDBAT we have a TARGET > delay of max. 100ms. That means you can choose a smaller one. We've chosen > 100ms as a max as there is an ITU recommendation that 150 ms delay is > acceptable for most user voice applications and we wanted for sure stay below > that. I'm afraid you've mis-understood the 150ms number. That's the "knee" in the curve for mouth-to-ear delay, not congestion delay or even end-to-end packet delay. (And it's more complicated than that; the 150ms number is dependent on the amount of echo from the far end - with high echo (poor/no ECs), it can be smaller.) And you can get asymmetric affects where delays in each direction are unequal. For VoIP communication, the delay budget roughly looks like this: frame size - typ 20-30ms -- you have to buffer up one packet to send echo cancellation - typ 1-3ms? encoder delay - typ 1-2ms? algorithmic delay - typ 0-5ms packetization, output queuing, etc - 0-10ms (typically low/nil) unloaded (no local-loop queuing) transit time: typically 20-100ms) queuing delay: ? jitter buffer depth - typically 20-60ms decoder, time scale modifier (adaptive jitter buffer): 0-2ms? rebuffering into audio frames for drivers: typ 1/2 frame size (5-10ms) Other random signal processing: 0-2ms? output device driver buffering (and reframing in OS frame size chunks - 16ms typ on Linux for 8KHz audio) - typ 10ms? longer on some OS's!!! hardware buffers This is kind of abstract and people could argue the numbers or list, but it's to give you an idea that queue depth is far from the only item (though it's the most variable one). Almost all of these are fixed and/or small, except transit time, queuing delay and jitter buffer depth (indirectly affected by queuing). Take off the fixed/small items from 150ms, and you are probably left 80-100ms (if you're lucky, 50-80 if you're not) - for transit, jitter buffer and queuing (and video calls can be a bit worse, with longer frame lengths, more jitter and often longer hardware queues). So, to stay under 150ms on local hops (with a fast access link at both ends), you need moderate jitter and can probably handle some static queuing (<25-50ms). For longer routes and/or slower access links (DSL), there's basically no budget for standing queues, especially as jitter is typically higher. I guarantee you any VoIP engineer seeing "100ms queuing delay" has their heart sink about conversational quality. Yes, you can have calls. Yes, they *will* suffer "typical" awkward-pause/talkover. You'll probably generally end up in the 200-300ms range mouth-ear, which isn't at the ~400-500ms "What do you think? over!" walkie-talkie level, but is uncomfortable. And that's assuming old-style inflexible VoIP UDP streams (G.711, G.722, G.729 (ugh). Once you add video with BW adaptation or adaptive audio codecs, interacting with LEDBAT gets painful if the VoIP stream uses a delay-sensing protocol (and it really, really wants to). > If you choose a delay-based congestion control I don't think your problem is > LEDBAT but standard loss-based TCP that will frequently fill up the queue > completely. Delay-based can't "beat" a loss-based TCP flow that's long enough, that's true, but luckily most TCP flows are relatively short and/or bursty, especially across the access link. > Maybe you don't want to look at the total queuing delay but at the changes in > queuing delay...? LEDBAT will keep the delay constant. RRTCC and similar algorithms do not use OWD estimates, and so are less sensitive to mis-measurement of the base delay (which from the LEDBAT simulations can cause problems). RRTCC works entirely from deltas in inter-packet delay to determine if the queue is growing or shrinking (or stable). After a queuing event is observed (growing queue enough to give a signal from the filter), it drops bandwidth and tries to stay down (not probe for extra bandwidth) until the queue has drained and is once again stable. This allows it to generally make close to full use of bandwidth available with close to 0-length queues. It does generally value low queues over 100% bandwidth efficiency. -- Randell Jesup randell-ietf@jesup.org
- Re: [ledbat] [R-C] LEDBAT vs RTCWeb Randell Jesup
- Re: [ledbat] [R-C] LEDBAT vs RTCWeb Mirja Kuehlewind
- Re: [ledbat] [R-C] LEDBAT vs RTCWeb Michael Welzl
- Re: [ledbat] [R-C] LEDBAT vs RTCWeb Michael Welzl
- Re: [ledbat] [R-C] LEDBAT vs RTCWeb Randell Jesup
- Re: [ledbat] [R-C] LEDBAT vs RTCWeb Rolf Winter
- Re: [ledbat] [R-C] LEDBAT vs RTCWeb Randell Jesup
- Re: [ledbat] [R-C] LEDBAT vs RTCWeb Woundy, Richard
- Re: [ledbat] [R-C] LEDBAT vs RTCWeb Rolf Winter
- Re: [ledbat] [R-C] LEDBAT vs RTCWeb Randell Jesup
- Re: [ledbat] [R-C] LEDBAT vs RTCWeb Rolf Winter
- Re: [ledbat] [R-C] LEDBAT vs RTCWeb Randell Jesup
- Re: [ledbat] [R-C] LEDBAT vs RTCWeb Randell Jesup
- Re: [ledbat] [R-C] LEDBAT vs RTCWeb Rolf Winter
- Re: [ledbat] [R-C] LEDBAT vs RTCWeb Nicholas Weaver
- Re: [ledbat] [R-C] LEDBAT vs RTCWeb Randell Jesup
- Re: [ledbat] [R-C] LEDBAT vs RTCWeb Randell Jesup