<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class="">Thanks Junxiao for clarification. </div><div class="">This can’t be right though, because it does not follow NDN architecture. Speed of PIT lookup depends on the cumulative rate of Interest/Data transmissions. Speed of FIB lookup depends on the size of the FIB. If these are mixed up, both lookups slow down to the lowest common denominator. The assumption that PIT is always larger than FIB cannot not be valid. In my case, PIT lookup should be almost instantaneous because I push several thousands on Interest/Data per second (all Interests are satisfied), but instead I’m hit with the penalty of searching 1M FIB entries even though I’m not using FIB lookup.</div><div class=""><br class=""></div><div class="">I think NFD might have a shared nameTree for both PIT and FIB, but it is necessary to have two completely separate indexes: one for PIT and one for FIB. This is a serious bug in my opinion.</div><div class=""><br class=""></div><div class="">Ilya</div><br class=""><div><blockquote type="cite" class=""><div class="">On Apr 20, 2017, at 11:25 PM, Junxiao Shi <<a href="mailto:shijunxiao@email.arizona.edu" class="">shijunxiao@email.arizona.edu</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class=""><div class="">Hi Ilya<br class=""><br class=""></div><div class="">NFD puts FIB and PIT together for a reason: FIB and PIT lookups are often used together during Interest packet processing. They achieve a speed-up via NameTree::get() functions which take advantage of the shortcuts between table entries.<br class=""><div class=""><br class="">"allocate secondary nameTree and feed it to PIT" does not work 
because NameTree::get() functions are still assuming PIT and other 
tables are on the same NameTree. You'll need to change that function to 
always use name-based lookups and not use the shortcuts.<br class=""></div><div class=""><br class=""></div></div><div class="">During 4th NDN hackathon, my project was an initial implementation of Interest digest in NFD. <a href="https://github.com/4th-ndn-hackathon/Initial-Implementation-of-Interest-Digest-in-NFD" class="">https://github.com/4th-ndn-hackathon/Initial-Implementation-of-Interest-Digest-in-NFD</a><br class=""></div><div class="">In this project, the PIT is switched to a digest index and is thus taken off the NameTree. You may get some ideas on how much work is needed to separate PIT and FIB.<br class=""><br class=""></div>Yours, Junxiao<br class=""><div class=""><div class=""><div class="gmail_extra"><br class=""><div class="gmail_quote">On Thu, Apr 20, 2017 at 10:25 PM, Ilya Moiseenko <span dir="ltr" class=""><<a href="mailto:iliamo@mailbox.org" target="_blank" class="">iliamo@mailbox.org</a>></span> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi NFD developers,<br class="">
I insert 10K to 1M FIB entries in NFD for some performance tests related to FIB lookup speed. As a result PIT lookups become proportionally slower to the FIB size, which prevents me from getting correct results. I noticed that PIT and FIB physically share the same data structure - NameTree, and tried to allocate secondary nameTree and feed it to PIT. Unfortunately, it seems that there is an additional interplay between PIT, FIB, StrategyChoice, Measurements which results in NFD termination once I pass Interest/Data through it.<br class="">
<br class="">
Does anyone have an idea how to disintegrate PIT and FIB ? I don’t really need Measurement and StrategyChoice in working condition.<br class="">
<br class="">
Thanks<br class="">
Ilya<br class=""></blockquote></div></div></div></div></div>
_______________________________________________<br class="">Nfd-dev mailing list<br class=""><a href="mailto:Nfd-dev@lists.cs.ucla.edu" class="">Nfd-dev@lists.cs.ucla.edu</a><br class="">http://www.lists.cs.ucla.edu/mailman/listinfo/nfd-dev<br class=""></div></blockquote></div><br class=""></body></html>