Re: [ppsp] Proposal to resolve Issue 10 + 13

Picconi Fabio <Fabio.Picconi@technicolor.com> Tue, 15 May 2012 13:07 UTC

Return-Path: <Fabio.Picconi@technicolor.com>
X-Original-To: ppsp@ietfa.amsl.com
Delivered-To: ppsp@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 7A7C621F8535 for <ppsp@ietfa.amsl.com>; Tue, 15 May 2012 06:07:28 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.635
X-Spam-Level:
X-Spam-Status: No, score=-3.635 tagged_above=-999 required=5 tests=[AWL=2.964, BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4]
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 38Uar7Rk88bN for <ppsp@ietfa.amsl.com>; Tue, 15 May 2012 06:07:27 -0700 (PDT)
Received: from na3sys009aog126.obsmtp.com (na3sys009aog126.obsmtp.com [74.125.149.155]) by ietfa.amsl.com (Postfix) with ESMTP id DF55721F852E for <ppsp@ietf.org>; Tue, 15 May 2012 06:07:20 -0700 (PDT)
Received: from mopesedge02.eu.thmulti.com ([129.35.174.203]) (using TLSv1) by na3sys009aob126.postini.com ([74.125.148.12]) with SMTP ID DSNKT7JVCCgrKH79MAXOCz5BsOcKmn3NSGCf@postini.com; Tue, 15 May 2012 06:07:27 PDT
Received: from MOPESMAILHC03.eu.thmulti.com (141.11.100.132) by mopesedge02.eu.thmulti.com (141.11.253.23) with Microsoft SMTP Server (TLS) id 8.3.192.1; Tue, 15 May 2012 15:04:29 +0200
Received: from MOPESMBX01.eu.thmulti.com ([169.254.1.225]) by MOPESMAILHC03.eu.thmulti.com ([141.11.100.132]) with mapi; Tue, 15 May 2012 15:04:38 +0200
From: Picconi Fabio <Fabio.Picconi@technicolor.com>
To: "arno@cs.vu.nl" <arno@cs.vu.nl>
Date: Tue, 15 May 2012 15:04:36 +0200
Thread-Topic: Proposal to resolve Issue 10 + 13
Thread-Index: Ac0yb+ZfUb3TbuEwTn+UFq+b9IUB4wAKZP/Q
Message-ID: <320C4182454E96478DC039F2C481987204EB26E7D4@MOPESMBX01.eu.thmulti.com>
References: <OF97B14220.883D5968-ON482579DB.003454AD-482579DB.0035B23D@zte.com.cn> <2012041216393612240745@chinamobile.com>, <4F869775.6010007@cs.vu.nl> <2012041815001581776052@chinamobile.com>, <4F8E6DCE.90101@cs.vu.nl> <20120418183444961415101@chinamobile.com> <320C4182454E96478DC039F2C481987204EB1CD37A@MOPESMBX01.eu.thmulti.com> <4FB0FAEA.8010504@cs.vu.nl> <320C4182454E96478DC039F2C481987204EB26DD39@MOPESMBX01.eu.thmulti.com> <4FB20BD5.6010607@cs.vu.nl>
In-Reply-To: <4FB20BD5.6010607@cs.vu.nl>
Accept-Language: fr-FR, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
acceptlanguage: fr-FR, en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: ppsp <ppsp@ietf.org>
Subject: Re: [ppsp] Proposal to resolve Issue 10 + 13
X-BeenThere: ppsp@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: discussing to draw up peer to peer streaming protocol <ppsp.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ppsp>, <mailto:ppsp-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/ppsp>
List-Post: <mailto:ppsp@ietf.org>
List-Help: <mailto:ppsp-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ppsp>, <mailto:ppsp-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 15 May 2012 13:07:28 -0000

I'm not sure I follow you.

First, I assumed three chunks per second because there is a paper that suggests that this is a good value [1]. But the actual chunk rate does not change the calculation (more chunks per seconds means both more bins and more ranges).

Second, if you use ranges, sending an update to inform the reception of an entire 32K block (i.e., 32 1K chunks) takes two integers with range lists, or one integer using bins. If you have three blocks per second, that means 6 integers per second per neighbor, instead of 3 integers per second per neighbor. In both cases the overhead is negligible.

In the absence of an average case analysis (i.e., where the buffer contains lots of holes) showing that bins are better than range lists, and given the negligible overhead of both solutions in the worst and best case, I would go for the simpler solution, i.e., range lists.

Fabio

[1] Size Does Matter (in P2P Live Streaming). N. Hegde, F. Mathieu and D. Perino. In Algotel'09 and also Inria Technical report #7032, 2009.




> -----Original Message-----
> From: Arno Bakker [mailto:arno@cs.vu.nl]
> Sent: mardi 15 mai 2012 09:55
> To: Picconi Fabio
> Cc: zhangyunfei; ppsp
> Subject: Re: Proposal to resolve Issue 10 + 13
> 
> Hi Fabio and all
> 
> On 14/05/2012 17:52, Picconi Fabio wrote:
> >
> > Taking W=30 seconds and 3 chunks per second, 4 bytes per integer, and
> > 1 buffer map per second to 10 neighbors, range list requires ~ 30
> kbps
> > in the worst case vs. ~ 15 kbps for bins. For a 1 Mbps stream, that's
> > a 3% overhead instead of 1.5%, which I don't think is that big a
> deal.
> >
> 
> IMHO, the calculation should be somewhat different. It now assumes we
> send the complete 30 second map every second. I'd say it is more likely
> that we download at approx. the bitrate so we have only 1 seconds worth
> of updates to the map to send. I.e. 3 chunks in your example. This
> means less overhead.
> 
> With UDP as a transport, chunk size is preferably 1K to keep the impact
> of the loss of a single IP packet low (on Ethernet). Then 3 chunks per
> second should be 100 chunks per second for 1 Mbps, implying we send
> either 800 bytes (2 ints per range) or 400 bytes (1 bin) as overhead,
> worst case. For 10 neighbours this means 64 and 32 kbps, or 6% and 3%
> respectively.
> 
> 
> > Now, two things: 1) an optimized implementation of range lists would
> > encode single-element ranges with a single integer, so the overhead
> > would be identical to that of bins (i.e., 1.5%); 2) we're talking
> > about the worst case which is extremely unlikely to happen... it
> would
> > be interesting to do the average case analysis for the [P+1,P+W]
> > interval.
> >
> 
> As argued before, I assume data will be requested in blocks of chunks,
> in particular on UDP with 1K chunks, which are a power of 2, e.g. 32K.
> We can align these requests on power-2 boundaries such that we need
> just
> 1 bin to address them. With ranges we always need 2 ints, as we're
> denoting a block of chunks.
> 
> With this block assumption, in the worst case, an update is (100K/block
> size) ranges. So e.g. 3 ranges for 32 K, taking either 2 or 1 int to
> encode, and thus implying 2 kbps and 1 kbps for 10 neighbours, or 0.2
> and 0.1% overhead. Less for larger block sizes.
> 
> In conclusion, if we send map updates instead of the full map, the
> absolute overhead of pushing chunk availability is low. Relative
> overhead can still be 100% and bins give a prettier one-unit design ;o)
> 
> CU,
>      Arno