Re: [codec] #16: Multicast?
"Raymond (Juin-Hwey) Chen" <rchen@broadcom.com> Thu, 27 May 2010 19:36 UTC
Return-Path: <rchen@broadcom.com>
X-Original-To: codec@core3.amsl.com
Delivered-To: codec@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 9535D3A6BB7 for <codec@core3.amsl.com>; Thu, 27 May 2010 12:36:20 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.001
X-Spam-Level:
X-Spam-Status: No, score=0.001 tagged_above=-999 required=5 tests=[BAYES_50=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id x-MNQ65K8ylq for <codec@core3.amsl.com>; Thu, 27 May 2010 12:36:19 -0700 (PDT)
Received: from mms2.broadcom.com (mms2.broadcom.com [216.31.210.18]) by core3.amsl.com (Postfix) with ESMTP id 95C193A6C78 for <codec@ietf.org>; Thu, 27 May 2010 12:30:56 -0700 (PDT)
Received: from [10.9.200.131] by mms2.broadcom.com with ESMTP (Broadcom SMTP Relay (Email Firewall v6.3.2)); Thu, 27 May 2010 12:28:02 -0700
X-Server-Uuid: D3C04415-6FA8-4F2C-93C1-920E106A2031
Received: from IRVEXCHCCR01.corp.ad.broadcom.com ([10.252.49.30]) by IRVEXCHHUB01.corp.ad.broadcom.com ([10.9.200.131]) with mapi; Thu, 27 May 2010 12:28:02 -0700
From: "Raymond (Juin-Hwey) Chen" <rchen@broadcom.com>
To: Koen Vos <koen.vos@skype.net>
Date: Thu, 27 May 2010 12:27:57 -0700
Thread-Topic: [codec] #16: Multicast?
Thread-Index: Acr9VxuWeN8tqHdQQDKXjHHu3l2CZwAb91Yg
Message-ID: <CB68DF4CFBEF4942881AD37AE1A7E8C74B9BE9F402@IRVEXCHCCR01.corp.ad.broadcom.com>
References: <062.7439ee5d5fd36480e73548f37cb10207@tools.ietf.org> <3E1D8AD1-B28F-41C5-81C6-478A15432224@csperkins.org> <D6C2F445-BE4A-4571-A56D-8712C16887F1@americafree.tv> <C0347188-A2A1-4681-9F1E-0D2ECC4BDB3B@csperkins.org> <u2x6e9223711004210733g823b4777y404b02330c49dec1@mail.gmail.com> <000001cae173$dba012f0$92e038d0$@de> <r2q6e9223711004211010gfdee1a70q972e8239fef10435@mail.gmail.com> <001101cae177$e8aa6780$b9ff3680$@de> <t2t6e9223711004211119i6b107798pa01fc4b1d33debf1@mail.gmail.com> <002d01cae188$a330b2c0$e9921840$@de> <CB68DF4CFBEF4942881AD37AE1A7E8C74AB3F4A017@IRVEXCHCCR01.corp.ad.broadcom.com> <4BD11C50.2020206@usherbrooke.ca> <CB68DF4CFBEF4942881AD37AE1A7E8C74AB3F4A270@IRVEXCHCCR01.corp.ad.broadcom.com> <12151537-165D-426A-B71F-8B3D76BE4854@cisco.com> <CB68DF4CFBEF4942881AD37AE1A7E8C74B901372FE@IRVEXCHCCR01.corp.ad.broadcom.com> <20100430230756.13687lc1s5o89gsc@mail.skype.net> <CB68DF4CFBEF4942881AD37AE1A7E8C74B90345522@IRVEXCHCCR01.corp.ad.broadcom.com> <07C815A7-8F3C-4F85-A275-4352D0080EEA@cisco.com> <CB68DF4CFBEF4942881AD37AE1A7E8C74B9043D30B@IRVEXCHCCR01.corp.ad.broadcom.com> <909E12B9-984F-4051-A93E-2291EFE0A40E@cisco.com> <CB68DF4CFBEF4942881AD37AE1A7E8C74B9BE9EDB7@IRVEXCHCCR01.corp.ad.broadcom.com> <20100526151326.2882694zuaeslk3q@mail.skype.net> <CB68DF4CFBEF4942881AD37AE1A7E8C74B9BE9F2E7@IRVEXCHCCR01.corp.ad.broadcom.com> <20100526214255.206532jzf8wjld1r@mail.skype.net>
In-Reply-To: <20100526214255.206532jzf8wjld1r@mail.skype.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-cr-hashedpuzzle: XSE= BKH0 BsTI CwXq C52F DtSn Etgg E7rE Gqzs GyI/ LfWc M1MO NhU2 OUSp Ptyp QlxI; 2; YwBvAGQAZQBjAEAAaQBlAHQAZgAuAG8AcgBnADsAawBvAGUAbgAuAHYAbwBzAEAAcwBrAHkAcABlAC4AbgBlAHQA; Sosha1_v1; 7; {E9A2D3FB-2E29-4703-B23A-D8FE9BDC3F09}; cgBjAGgAZQBuAEAAYgByAG8AYQBkAGMAbwBtAC4AYwBvAG0A; Thu, 27 May 2010 19:27:57 GMT; UgBFADoAIABbAGMAbwBkAGUAYwBdACAAIwAxADYAOgAgAE0AdQBsAHQAaQBjAGEAcwB0AD8A
x-cr-puzzleid: {E9A2D3FB-2E29-4703-B23A-D8FE9BDC3F09}
acceptlanguage: en-US
MIME-Version: 1.0
X-WSS-ID: 67E0184838O220584277-01-01
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Cc: "codec@ietf.org" <codec@ietf.org>
Subject: Re: [codec] #16: Multicast?
X-BeenThere: codec@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Codec WG <codec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/codec>, <mailto:codec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/codec>
List-Post: <mailto:codec@ietf.org>
List-Help: <mailto:codec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/codec>, <mailto:codec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 27 May 2010 19:36:20 -0000
Hi Koen, I too don't want to see this discussion drags on, but some of your comments seem misleading to me, so I would like to respond with some quick comments. Wideband is a new feature in some devices and is a check box that a product manager needs to check off to remain competitive. That doesn't mean wideband is more important than existing features in a device. Also, I am not sure the cost difference is a few dimes versus several dollars. In some devices the extra cost of adding wideband is minimal. Furthermore, it is not only a cost issue but also a power consumption issue. No one in his or her right mind will use a processor that's 5X to 10X faster than necessary just in order to reduce the encoder and decoder RTS delays to a small fraction of the codec frame size; this is just the way it is and has nothing to do with the relative importance of delay or anything else. You were presenting it as if this were a reasonable choice that device designers could easily make but chose not to make, but that's just not true. It has always been the case that the designers will use processors just fast enough for the job, perhaps with a little margin for the unexpected, but not 5X or 10X. Given this, the bottom line is that ~ 3X codec frame size is the "norm" or a "necessary result" for special-purpose hardware devices rather than by a design choice, and you are just lucky to get < 2X in PC-based VoIP calls because PCs were not designed for voice calls but for other much more computationally demanding tasks. (Even there you can't guarantee that PCs will always give you a multiplier of < 2X. What if the PC is heavily loaded with other tasks? Then you are more likely to get 3X if you don't want your voice stream to run out of real time.) Best Regards, Raymond -----Original Message----- From: Koen Vos [mailto:koen.vos@skype.net] Sent: Wednesday, May 26, 2010 9:43 PM To: Raymond (Juin-Hwey) Chen Cc: codec@ietf.org Subject: RE: [codec] #16: Multicast? Quoting "Raymond (Juin-Hwey) Chen": > My point is that we should not expect that future IP phones or gateways > will operate at a very low percentage point of the processor load just > because Moore's Law can improve processor speed over time. In other words, future manufacturers won't spend a few dimes on reducing delay, even though today they're happy to add several dollars to the price just to enable wideband? That's a statement about the relative importance of delay. For the discussion about transmission delay vs. frame size, see e.g. http://www.ietf.org/mail-archive/web/codec/current/msg01477.html koen. > Hi Koen, > > In-line below... > > You wrote: >> The essence, if I understand you correctly, is that there still exist >> low-end platforms with barely enough processing power to run a VoIP >> call. If such platforms use a naive FIFO scheduler, they'll create up >> to one frame of processing delay for encoder and decoder each, on top >> of the frame of buffering delay. > > [Raymond]: It doesn't have to be low-end platforms. I wouldn't consider > high-density VoIP gateways "low-end". What matters is whether the > processor is heavily loaded (i.e. busy at a high percentage of time) > with real-time tasks (and thus is just fast enough). I think this is > true for typical implementations of IP phones and VoIP gateways. > > I also wouldn't use the term "a naïve FIFO scheduler" to describe the > "run to completion" real-time scheduler that I talked about in my last > email, because that term seems to imply that it is a very simple-minded > and inferior approach used by an inexperienced person who doesn't know > anything better. My understanding from talking to the three senior > technical leads of Broadcom is that the reality is when you have many > real-time tasks that you need to handle concurrently, using a > prioritized interrupt-driven scheduler is just way too complex and > messy, and it doesn't even guarantee that you will get a lower delay if > you do go through the trouble. In contrast, the kind of "run to > completion" real-time scheduler that I talked about is a more elegant > solution as it simplifies the scheduling problem substantially and also > allows you to have more efficient utilization of the processor. > > Other than these two points, your understanding of my main point is > correct. > >> The good news is that Moore's law will continue to drive down the >> fraction of platforms with such processing delay problems. > > [Raymond]: This may be true for PC but probably not true in general. > PC is a general-purpose computing device that has to handle numerous > possible tasks, and a voice phone call takes only a very small fraction > of the worst-case computational power requirement of a PC. In contrast, > for special-purpose dedicated hardware devices such as IP phones or > VoIP gateways, it would make no sense to use a processor that is many > times faster than the worst-case computational power requirement. For > the sake of cost and power efficiency, the designers of such special- > purpose devices will want to use a processor that's just slightly faster > than required, because then they can use the cheapest and/or lowest > power-consuming processor that's fast enough to get the job done. > If they choose to use a processor much faster than is required, then > competitors using processors just fast enough can have lower costs > and power consumption and can take market share away from them. > > A case in point: after its first appearance several decades ago, 8-bit > microprocessors are still widely used in many devices today despite the > several orders of magnitude of speed improvement provided by Moore's > Law, because those devices just don't need anything faster, so using > anything faster would be a waste of money and power consumption. > > My point is that we should not expect that future IP phones or gateways > will operate at a very low percentage point of the processor load just > because Moore's Law can improve processor speed over time. Therefore, > don't expect the 3X multiplier for codec frame size to go down much > below where they are now. > > In fact, if in addition to a VoIP call, a PC is heavily loaded with a > lot of other concurrent tasks, many of which may be real-time tasks > (e.g. video, playing/burning CD/DVD, networking, etc.), then it will be > difficult for the PC to have small encoding and decoding RTS delays (d2 > and d5 in my delay analysis). In this case, the codec frame size > multiplier will be closer to 3X than to 1X, unless you are willing to > let the voice stream occasionally run out of real time and produce an > audible glitch (which is not acceptable from the voice quality > perspective). If you agree with this and agree that a PC sometimes > does get very heavily loaded, then if you don't want the voice stream > to run out of real time, the worst-case codec-dependent delay for > PC can still be around 3X the codec frame size. > >> I'm a bit surprised by your analysis of "packet transmission delay", >> as it has little bearing on our multiplier (ie the change in delay as >> a function of frame size). See old posts. > > [Raymond]: I am not sure I understand what you are saying. You probably > misunderstood the goal of my analysis. I mentioned in my last email that > my delay analysis aimed to derive the lower and upper bounds of the > codec-dependent one-way delay as functions of both the codec frame size > AND the packet size. That "packet transmission delay" does depend on > the packet size, so it should be included. Also, including it doesn't > increase the lower bound of the delay (and the codec frame size > multiplier there); it only affects the upper bound. > > Or, are you saying the "packet transmission delay" depends on the packet > size, not the codec frame size, and therefore is not codec-dependent? > Well, we know the packet size should be a positive integer multiple of > the codec frame size. Once the codec frame size is determined, there > are only limited choices of packet sizes you can use, so in this sense > the packet size does depend on the codec frame size. Therefore, the > "packet transmission delay" indirectly depends on the choice of the > codec. > > Best Regards, > > Raymond > > >
- [codec] #16: Multicast? codec issue tracker
- Re: [codec] #16: Multicast? Colin Perkins
- Re: [codec] #16: Multicast? Christian Hoene
- Re: [codec] #16: Multicast? Marshall Eubanks
- Re: [codec] #16: Multicast? stephen botzko
- Re: [codec] #16: Multicast? Colin Perkins
- Re: [codec] #16: Multicast? Colin Perkins
- Re: [codec] #16: Multicast? stephen botzko
- Re: [codec] #16: Multicast? Christian Hoene
- Re: [codec] #16: Multicast? stephen botzko
- Re: [codec] #16: Multicast? Marshall Eubanks
- Re: [codec] #16: Multicast? Christian Hoene
- Re: [codec] #16: Multicast? stephen botzko
- Re: [codec] #16: Multicast? Christian Hoene
- Re: [codec] #16: Multicast? Raymond (Juin-Hwey) Chen
- Re: [codec] #16: Multicast? Jean-Marc Valin
- Re: [codec] #16: Multicast? Koen Vos
- Re: [codec] #16: Multicast? Raymond (Juin-Hwey) Chen
- Re: [codec] #16: Multicast? Mikael Abrahamsson
- Re: [codec] #16: Multicast? Jean-Marc Valin
- Re: [codec] #16: Multicast? Raymond (Juin-Hwey) Chen
- Re: [codec] #16: Multicast? Koen Vos
- Re: [codec] #16: Multicast? Raymond (Juin-Hwey) Chen
- Re: [codec] #16: Multicast? stephen botzko
- Re: [codec] #16: Multicast? Raymond (Juin-Hwey) Chen
- Re: [codec] #16: Multicast? Koen Vos
- Re: [codec] #16: Multicast? Raymond (Juin-Hwey) Chen
- Re: [codec] #16: Multicast? Mikael Abrahamsson
- Re: [codec] #16: Multicast? Raymond (Juin-Hwey) Chen
- Re: [codec] #16: Multicast? Raymond (Juin-Hwey) Chen
- Re: [codec] #16: Multicast? Mikael Abrahamsson
- Re: [codec] #16: Multicast? (Bluetooth) Koen Vos
- Re: [codec] #16: Multicast? Koen Vos
- Re: [codec] #16: Multicast? stephen botzko
- Re: [codec] #16: Multicast? Raymond (Juin-Hwey) Chen
- Re: [codec] #16: Multicast? Raymond (Juin-Hwey) Chen
- Re: [codec] #16: Multicast? Raymond (Juin-Hwey) Chen
- Re: [codec] #16: Multicast? Koen Vos
- Re: [codec] #16: Multicast? (Bluetooth) Raymond (Juin-Hwey) Chen
- Re: [codec] #16: Multicast? (Bluetooth) stephen botzko
- Re: [codec] #16: Multicast? Christian Hoene
- Re: [codec] #16: Multicast? Christian Hoene
- Re: [codec] #16: Multicast? Christian Hoene
- Re: [codec] #16: Multicast? (USB) Roni Even
- Re: [codec] #16: Multicast? codec issue tracker
- Re: [codec] #16: Multicast? stephen botzko
- Re: [codec] #16: Multicast? Cullen Jennings
- Re: [codec] #16: Multicast? Raymond (Juin-Hwey) Chen
- Re: [codec] #16: Multicast? Mikael Abrahamsson
- Re: [codec] #16: Multicast? Koen Vos
- Re: [codec] #16: Multicast? (Bluetooth) Koen Vos
- Re: [codec] #16: Multicast? stephen botzko
- Re: [codec] #16: Multicast? Christian Hoene
- Re: [codec] #19: How large is the frame size depe… Christian Hoene
- Re: [codec] #19: How large is the frame size depe… stephen botzko
- Re: [codec] #16: Multicast? Raymond (Juin-Hwey) Chen
- Re: [codec] #19: How large is the frame size depe… Raymond (Juin-Hwey) Chen
- Re: [codec] #16: Multicast? Raymond (Juin-Hwey) Chen
- Re: [codec] #16: Multicast? (Bluetooth) Raymond (Juin-Hwey) Chen
- Re: [codec] #16: Multicast? Raymond (Juin-Hwey) Chen
- Re: [codec] #16: Multicast? stephen botzko
- Re: [codec] #16: Multicast? Raymond (Juin-Hwey) Chen
- Re: [codec] #16: Multicast? stephen botzko
- Re: [codec] #16: Multicast? Raymond (Juin-Hwey) Chen
- Re: [codec] #16: Multicast? Koen Vos
- Re: [codec] #16: Multicast? Christian Hoene
- Re: [codec] #16: Multicast? Gregory Maxwell
- Re: [codec] #16: Multicast? Raymond (Juin-Hwey) Chen
- Re: [codec] #16: Multicast? Koen Vos
- Re: [codec] #16: Multicast? Raymond (Juin-Hwey) Chen
- Re: [codec] #16: Multicast? Koen Vos
- Re: [codec] #16: Multicast? Raymond (Juin-Hwey) Chen
- Re: [codec] #16: Multicast? Raymond (Juin-Hwey) Chen
- Re: [codec] #16: Multicast? Koen Vos
- Re: [codec] #16: Multicast? Koen Vos
- Re: [codec] #16: Multicast? Benjamin M. Schwartz
- Re: [codec] #16: Multicast? Raymond (Juin-Hwey) Chen
- Re: [codec] #16: Multicast? Raymond (Juin-Hwey) Chen
- Re: [codec] #16: Multicast? Kevin P. Fleming
- Re: [codec] #16: Multicast? Raymond (Juin-Hwey) Chen
- Re: [codec] #16: Multicast? Jean-Marc Valin
- Re: [codec] #16: Multicast? Raymond (Juin-Hwey) Chen
- Re: [codec] #16: Multicast? Jean-Marc Valin
- Re: [codec] #16: Multicast? Raymond (Juin-Hwey) Chen
- Re: [codec] #16: Multicast? Raymond (Juin-Hwey) Chen
- Re: [codec] #16: Multicast? Christian Hoene
- Re: [codec] #16: Multicast? Koen Vos
- Re: [codec] #16: Multicast? Christian Hoene
- Re: [codec] #16: Multicast? Ben Schwartz
- Re: [codec] #16: Multicast? Marshall Eubanks
- Re: [codec] #16: Multicast? Brian Rosen
- Re: [codec] #16: Multicast? Christian Hoene
- Re: [codec] #16: Multicast? Jean-Marc Valin
- Re: [codec] Thresholds and delay. Ben Schwartz
- Re: [codec] #16: Multicast? Raymond (Juin-Hwey) Chen
- Re: [codec] Thresholds and delay. stephen botzko
- Re: [codec] #16: Multicast? Christian Hoene
- Re: [codec] Thresholds and delay. Ben Schwartz
- Re: [codec] #20: Computational complexity? Raymond (Juin-Hwey) Chen
- Re: [codec] #16: Multicast? Raymond (Juin-Hwey) Chen
- Re: [codec] Thresholds and delay. jari.hagqvist
- Re: [codec] Thresholds and delay. stephen botzko
- Re: [codec] Thresholds and delay. Ben Schwartz
- Re: [codec] Thresholds and delay. Marshall Eubanks
- Re: [codec] Thresholds and delay. stephen botzko
- Re: [codec] #16: Multicast? Cullen Jennings
- Re: [codec] Thresholds and delay. Michael Knappe
- Re: [codec] #16: Multicast? Raymond (Juin-Hwey) Chen
- Re: [codec] #16: Multicast? Koen Vos
- Re: [codec] #16: Delay factor: algorithmic delay … Christian Hoene
- Re: [codec] #16: Delay factor: algorithmic delay … Mikael Abrahamsson
- Re: [codec] #16: Delay factor: algorithmic delay … Roman Shpount
- Re: [codec] #16: Delay factor: algorithmic delay … stephen botzko
- Re: [codec] #16: Multicast? Raymond (Juin-Hwey) Chen
- Re: [codec] #16: Multicast? Cullen Jennings
- Re: [codec] #16: Multicast? Raymond (Juin-Hwey) Chen
- Re: [codec] #16: Multicast? Koen Vos
- Re: [codec] #16: Multicast? Raymond (Juin-Hwey) Chen
- Re: [codec] #16: Multicast? Koen Vos
- Re: [codec] #16: Multicast? Christian Hoene
- Re: [codec] #16: Multicast? Jean-Marc Valin
- Re: [codec] #16: Multicast? Herve Taddei
- Re: [codec] #16: Multicast? Christian Hoene
- Re: [codec] #16: Multicast? Jean-Marc Valin
- Re: [codec] #16: Multicast? Sandy (Alexander) MacInnis
- Re: [codec] #16: Multicast? Christian Hoene
- Re: [codec] #16: Multicast? Raymond (Juin-Hwey) Chen
- Re: [codec] #16: Multicast? Roman Shpount
- Re: [codec] #16: Multicast? Herve Taddei
- Re: [codec] #16: Multicast? Cullen Jennings
- [codec] Suggested summary... Christian Hoene
- Re: [codec] Suggested summary... stephen botzko
- Re: [codec] Suggested summary... Herve Taddei
- Re: [codec] Suggested summary... Christian Hoene
- Re: [codec] Suggested summary... Michael Knappe
- Re: [codec] Suggested summary... Herve Taddei
- Re: [codec] Suggested summary... stephen botzko
- Re: [codec] Suggested summary... Christian Hoene
- Re: [codec] Suggested summary... Christian Hoene
- Re: [codec] Suggested summary... stephen botzko
- Re: [codec] Suggested summary... Raymond (Juin-Hwey) Chen
- Re: [codec] Suggested summary... Christian Hoene
- Re: [codec] Suggested summary... Herve Taddei
- Re: [codec] Suggested summary... Raymond (Juin-Hwey) Chen