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

Arno Bakker <arno@cs.vu.nl> Tue, 15 May 2012 07:54 UTC

Return-Path: <a.bakker@vu.nl>
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 86F9421F893C for <ppsp@ietfa.amsl.com>; Tue, 15 May 2012 00:54:03 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.14
X-Spam-Level:
X-Spam-Status: No, score=-1.14 tagged_above=-999 required=5 tests=[AWL=3.364, BAYES_00=-2.599, HELO_EQ_NL=0.55, HOST_EQ_NL=1.545, 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 rvGIW8JrZgIN for <ppsp@ietfa.amsl.com>; Tue, 15 May 2012 00:54:03 -0700 (PDT)
Received: from mailin.vu.nl (mailin.vu.nl [130.37.164.16]) by ietfa.amsl.com (Postfix) with ESMTP id 535A821F8934 for <ppsp@ietf.org>; Tue, 15 May 2012 00:54:01 -0700 (PDT)
Received: from PEXHB012B.vu.local (130.37.236.67) by mailin.vu.nl (130.37.164.16) with Microsoft SMTP Server (TLS) id 14.2.283.3; Tue, 15 May 2012 09:54:04 +0200
Received: from [130.161.211.249] (130.37.238.20) by mails.vu.nl (130.37.236.67) with Microsoft SMTP Server (TLS) id 14.2.283.3; Tue, 15 May 2012 09:53:59 +0200
Message-ID: <4FB20BD5.6010607@cs.vu.nl>
Date: Tue, 15 May 2012 09:55:01 +0200
From: Arno Bakker <arno@cs.vu.nl>
User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:11.0) Gecko/20120312 Thunderbird/11.0
MIME-Version: 1.0
To: Picconi Fabio <Fabio.Picconi@technicolor.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>
In-Reply-To: <320C4182454E96478DC039F2C481987204EB26DD39@MOPESMBX01.eu.thmulti.com>
Content-Type: text/plain; charset="GB2312"
Content-Transfer-Encoding: 7bit
X-Originating-IP: [130.37.238.20]
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
Reply-To: arno@cs.vu.nl
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 07:54:03 -0000

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