Re: [icnrg] New Version Notification for draft-hong-icnrg-bloomfilterbased-name-resolution-01.txt

Konstantinos Katsaros <ntinos@aueb.gr> Thu, 02 October 2014 09:47 UTC

Return-Path: <konstantinos.v.katsaros@gmail.com>
X-Original-To: icnrg@ietfa.amsl.com
Delivered-To: icnrg@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 55D621A028B for <icnrg@ietfa.amsl.com>; Thu, 2 Oct 2014 02:47:16 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.977
X-Spam-Level:
X-Spam-Status: No, score=-0.977 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FM_FORGED_GMAIL=0.622, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, MIME_8BIT_HEADER=0.3, SPF_PASS=-0.001] autolearn=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 6hchTKX-Pe3P for <icnrg@ietfa.amsl.com>; Thu, 2 Oct 2014 02:47:08 -0700 (PDT)
Received: from mail-ie0-x236.google.com (mail-ie0-x236.google.com [IPv6:2607:f8b0:4001:c03::236]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1DC3E1A0276 for <icnrg@irtf.org>; Thu, 2 Oct 2014 02:47:08 -0700 (PDT)
Received: by mail-ie0-f182.google.com with SMTP id rp18so2144047iec.27 for <icnrg@irtf.org>; Thu, 02 Oct 2014 02:47:07 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc:content-type; bh=VFqJ7z4gto8JdLx+y2XTpStjMx0nb+m66SWTD0WHNaA=; b=K7V6FpySzz5Nochu413Pg35G+lY9rU+T9sJRoz7326qZCNLnqG8DfRewODHMR+VtQ1 B15B6gzTGQf8WGOiykq3uCUwtWmXUn3skZYyvqGWsQYV+0mEmC+s59mOrKOFZYAXH4RP nDicyNLwdMb0GPcFfEzfmGoCuQ/2VF59nimqv7Zt5Up3wgUgsD0RGovGiL/OlCE26ylL 3v8uGL40wTE3qGK26zHnp/NBJNna4mHCyqu4ozq0ffMFcSXjOEl4E8DvYkP4SsrPfZwZ hJWg2RL9dGN/L0XLQ7EiJKehmSTWojZcxDteOC9JB8NDdo3xkSJWkkUQaFLdRf7nvDES rF0w==
X-Received: by 10.42.227.10 with SMTP id iy10mr3581689icb.3.1412243227397; Thu, 02 Oct 2014 02:47:07 -0700 (PDT)
MIME-Version: 1.0
Sender: konstantinos.v.katsaros@gmail.com
Received: by 10.64.19.231 with HTTP; Thu, 2 Oct 2014 02:46:47 -0700 (PDT)
In-Reply-To: <F8EFC212DF9A004DA18AA8FB011E42331D6115C8@SMTP1.etri.info>
References: <20140917002758.31365.13695.idtracker@ietfa.amsl.com> <F8EFC212DF9A004DA18AA8FB011E42331D610CB8@SMTP1.etri.info> <8A63F6C6-4361-4105-B1AD-04B3DCE99F6E@ericsson.com> <F8EFC212DF9A004DA18AA8FB011E42331D611152@SMTP1.etri.info> <3F24F5B9-BEDB-4C25-AFAB-F4DA368789A0@ericsson.com> <CAC2HzvS92mQXrr2c_u7jNGhb9JOjgXmvYdHi1En6cL-s8bAhbw@mail.gmail.com> <F8EFC212DF9A004DA18AA8FB011E42331D6115C8@SMTP1.etri.info>
From: Konstantinos Katsaros <ntinos@aueb.gr>
Date: Thu, 02 Oct 2014 10:46:47 +0100
X-Google-Sender-Auth: hNU5-ioglnmErKeDnPVa5cJPUn4
Message-ID: <CAC2HzvR_nHU9hCL_yVb-qDBE2UJqOFUXbfC+YcWC7kyDWDaXuw@mail.gmail.com>
To: 홍정하 <jhong@etri.re.kr>
Content-Type: multipart/alternative; boundary="001a11c3e50ee7d2e605046d7f60"
Archived-At: http://mailarchive.ietf.org/arch/msg/icnrg/h6I4eOzwnW2hFrCt5hSCyjRXa-s
Cc: "전우직 (woojikchun@gmail.com)" <woojikchun@gmail.com>, "icnrg@irtf.org" <icnrg@irtf.org>
Subject: Re: [icnrg] New Version Notification for draft-hong-icnrg-bloomfilterbased-name-resolution-01.txt
X-BeenThere: icnrg@irtf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Information-Centric Networking research group discussion list <icnrg.irtf.org>
List-Unsubscribe: <https://www.irtf.org/mailman/options/icnrg>, <mailto:icnrg-request@irtf.org?subject=unsubscribe>
List-Archive: <http://www.irtf.org/mail-archive/web/icnrg/>
List-Post: <mailto:icnrg@irtf.org>
List-Help: <mailto:icnrg-request@irtf.org?subject=help>
List-Subscribe: <https://www.irtf.org/mailman/listinfo/icnrg>, <mailto:icnrg-request@irtf.org?subject=subscribe>
X-List-Received-Date: Thu, 02 Oct 2014 09:47:16 -0000

Dear Jungha,

That's a very good point. In this case the overall FPP obviously further
depends on the size of the state per node, reflected on the resulting
number of BFs per interface. This also means that the FPP may significantly
vary throughout the network, subject to the specific scheme followed for
the distribution of state.

In all, it seems there is an interesting and multifaceted tradeoff
regarding the selection of the BF size (achieved state compression vs.
lookup overheads and FPP, perhaps further including some constraints on the
implementation side (?)).

Regards,
Konstantinos


On 2 October 2014 09:43, 홍정하 <jhong@etri.re.kr> wrote:

>  Dear Konstantinos,
>
>
>
> I have a question on the idea of having additional BFs created when the
> capacity for a certain FPP is exceeded.
>
>
>
> I wonder if you have thought that the total FPP would increase since there
> are multiple BFs per a single interface and FPP for each of them beside one
> is the maximum that it can be. In other words, if any a single BF among
> multiple ones per an interface hits the test, then request message will be
> forwarded into that interface. Thus, I think that we need to set a very low
> FPP for each small size BFs so the total
> FPP would not exceed a desirable value.
>
>
>
> Jungha Hong
>
>
>
> *From:* icnrg [mailto:icnrg-bounces@irtf.org] *On Behalf Of *Konstantinos
> Katsaros
> *Sent:* Saturday, September 27, 2014 10:12 PM
> *To:* icnrg@irtf.org
> *Subject:* Re: [icnrg] New Version Notification for
> draft-hong-icnrg-bloomfilterbased-name-resolution-01.txt
>
>
>
> Hi,
>
>
>
> If I may add 2c in this interesting discussion, though I do share the
> concerns expressed on the size of the Bloom Filters (BFs), I think the
> following basic assumption(s) does not necessarily hold:
>
>
>
> "We have to note that with Bloom filters, the size of the filter is always
> the same at all the levels. I.e. we have to take big enough filter so that
> it works also on higher levels in hierarchy."
>
>
>
> "If you are using same size filters on every layer to make it possible to
> OR them together, this requires huge filters because they must take into
> account also the worst case (i.e. the maximum number of information items
> that may be included in a single filter). "
>
>
>
> I think the requirement here is rather to have a globally fixed BF size
> for merging to be possible. Then we could have additional BFs created when
> the capacity is exceeded: each node "fills" BFs until the FPR is reached;
> when merging, an object counter per BF can assist in finding the
> appropriate BFs to merge i.e., the ones that will not exceed the FPR. This
> calls for a bin packing algorithm with its own processing overheads. In
> this context, we could illustrate a tradeoff by considering the two
> following extremes:
>
>
>
> (i) BFs of size enough to hold every object in the network. That would
> surely work for the topmost nodes. However, lower level nodes would
> propagate mostly very sparse BFs upwards, meaning that
> we unnecessarily spend too much space/bandwidth. Though admittedly a lookup
> operation on such large BFs could be an issue, note that in principle one
> BF should be checked per interface/neighbour node.
>
>
>
> (ii) BFs of a very small size that would easily get "full" necessitating
> the use of an additional BF. In this case we would have "dense" BFs that
> would not waste too much space/bandwidth, but would require multiple lookup
> operations per interface/neighbour. I do not know however, whether multiple
> lookups of smaller BFs are (computationally) preferable compared to a
> single lookup of a huge BF, or if it makes no substantial difference.
>
>
>
>
>
> Regards,
>
> Konstantinos (Dinos) V. Katsaros
>
>
>
> PS: Unfortunately I also do not participate the interim meeting. But,
> waiting for the minutes.
>
>
>
> On 27 September 2014 08:17, Petri Jokela <petri.jokela@ericsson.com>
> wrote:
>
> Hi, thanks for the clarifications. Unfortunately, I am not attending the
> Saturday meeting. I hope you have fruitful discussions there. See my reply
> in-line:
>
>
>
> On 27 Sep 2014, at 00:15, 홍정하 <jhong@etri.re.kr> wrote:
>
>
>
>     *Hi, *
>
>
>
> *We can take advantage of that bloom filter size can be adjusted by the
> maximum number of names registered to a single NRS server to keep the FPP
> less than a desirable value. *
>
>
>
>    *For example, the bloom filter with the size of 2MB for 10^6 entries
> can keep the FPP less than 0.00046. If we assume that the number of such a
> NRS server on the top level is 10^6 and they are fully peered, then the
> maximum memory required at each server is 2TB. To deal with such a size, we
> are considering of being supported by hardware using GPU or TCAM and we are
> working on it.*
>
>
>
> If you want to merge BFs at higher level (by ORing them together), you
> must use same size filters on each level. Filters with different sizes
> cannot be merged. Just to clarify, are you assuming that you are using
> different sizes of filters on different places in the network, or are you
> using one-size filters which must be optimised for the worst case? If you
> have different sizes of filters, you have to collect the lower layer
> filters to the higher layer servers and when this higher level B-NRS
> receives a request, it must match the item to each of the 10^6 BFs
> separately. If you are
>
>
>
> On the other hand, different sizes of filters on different B-NRS nodes
> would need a different set of hash functions for them. This is not a major
> thing, but not efficient because you have to do more hash calculations over
> the same item name to get correct values for different filters where we
> want to test the existence of the data item on a single server with
> multiple BFs from other B-NRSs.
>
>
>
> If you are using same size filters on every layer to make it possible to
> OR them together, this requires huge filters because they must take into
> account also the worst case (i.e. the maximum number of information items
> that may be included in a single filter).
>
>
>
>
>
>    As the draft [3] mentions, there are 10^9 nodes in the current
> Internet. The number of addressable ICN objects will be several orders of
> magnitude higher. This means that there will be, on average, tens of
> thousands of ICN objects per node. How many of the objects will be in the
> NRS, is not known. It is possible that some of the objects are only inside
> a single node and some globally available. Also, depending on the role of a
> node, the number of objects may be lower or higher.
>
>
>
> *In B-NRS[3], it is not assumed that all names are globally visible. We
> are considering that the maximum number of names which are globally visible
> is 10^9 and the maximum number of B-NRS servers which are fully peered on
> the top level with 10^6 names for each is 10^3 ~ 10^6, which is the upper
> bound.*
>
>
>
> Now I must as that are you really talking about information items, not the
> node names. Considering the network today and what is available there, AND
> taking into account the new developments, such as IoT with lots of
> information, I guess that the amount of information items will be larger.
> If we have now 10^9 nodes in the network, your assumption would mean one
> information item published per one node (on average) globally, which is
> pretty low. Of course, not everything is globally visible, but still the
> amount looks low.
>
>
>
> There is also a scalability issue. What happens if the number of items
> still grows in the future and the filter sizes must be adjusted
> accordingly? If increasing the size is enough, it is probably not a big
> problem. But we should prepare us also for something that we cannot
> envision now.
>
>
>
>
>
>
>
>     On the third level, the BFs from the ten 2nd level NRS are merged.
> The merged BF contains information of 2 000 000 000 objects. In theory, the
> 3rd level NRS can use this merged BF to check if a certain ICN object can
> be found in any of the 1st level NRSes in this tree.
>
>
>
> *It has to be corrected like that the 3rd level NRS checks for the 2nd
> level and the 2nd level does for the 1st level*
>
>
>
> Yes, true. What is assumed to be the highest level of NRSs, is three
> levels enough?
>
>
>
> - What is the acceptable rate for false positives?
>
> *We are considering that FPP is less than 0.001 (i.e., 0.1%, 1000 out of 1
> M entries).*
>
>
>
> Reasonable. However, this changes my original calculations, where I
> assumed slightly worse performance.
>
>
>
>
> - How big BFs are feasible to send and receive in the network?
>
> *When bloom filters at each server are initially built, it will take a
> long time. However, once they are established, the insertion is done by
> each new name not the whole bloom filter.*
>
>    *On bloom filter updates for deletions, we are considering of refresh
> by shadow memory and the frequency can be from several hours to several
> days*
>
>
>
> Inserting items into a BF is not a problem, the problem comes when items
> should be removed and the whole BF must be recalculated as you say and the
> update frequency obviously depends on many things.
>
>
>
>
>
>     - The verification process should be fast, how can we efficiently
> match publications to filters with gigabit size?
> *With H/W assisted implementation using GPU, chunks including the
> corresponding bit set to 1 for hash value can be loaded to GPU memory and a
> child can be selected by bit-wise AND.*
>
>
>
> Ok, thanks! Although this probably requires some processing to find these
> chunks before matching can be done. But, as said, I don’t know much about
> the optimisations that you can do on lower layers.
>
>
>
> BR, Petri
>
>
>
>
>
>
> [1] Bellovin S., “Using Bloom Filters for Authenticated Yes/No Answers in
> the DNS”, draft-bellovin-dnsext-bloomfilt-00.txt, December 2001, Expired
> [2] http://pages.cs.wisc.edu/~cao/papers/summary-cache/node8.html
> [3] Hong, J., Chun, W., Jung, H., “Bloom Filter-based Flat Name
> Resolution System for ICN”,
> draft-hong-icnrg-bloomfilterbased-name-resolution-01.txt
>
>
>
> --
> Petri Jokela
> Senior researcher
> NomadicLab, Ericsson Research
> Oy L M Ericsson Ab
>
> E-mail: petri.jokela@ericsson.com
> Mobile: +358 44 299 2413
>
>
>
>
> _______________________________________________
> icnrg mailing list
> icnrg@irtf.org
> https://www.irtf.org/mailman/listinfo/icnrg
>
>
>
> _______________________________________________
> icnrg mailing list
> icnrg@irtf.org
> https://www.irtf.org/mailman/listinfo/icnrg
>
>