<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div id="appendonsend" style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
Hi Philipp, </div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
Routing helper definately minimizes the cost incur by the routing protocols, I have tested this recently. Computing the routes and installing them to the fib is much faster than the NLSR. If you don't care about features offered by NLSR, I would definately
 suggest/encourage using it. </div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
The primary purpose of the routing helper is to support very large topologies and to eliminate NLSR overhead. However, you need to be cautious while using large topology. Don't compute routes via all the faces, especially in the case of Link-state, this will
 take an enormous amount of time. Rather only compute the shortest path by passing 1 as an argument to this calculateNPossibleRoutes() function.</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
We are still working on to support prefix announcement/revocation and node addition/failure on routing helper. This will further help to perform node failure, mobility, and other experiments. [suggestions are welcome here]</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
Regarding the overhead, you are correct, most of it is caused by route addition and very little by face creation. Unfortunately, I don't have better improvement ideas for now. </div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
Thanks for the feedback. Please let me know if you have more suggestions and concerns. </div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
Regards,</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
Saurab Dulal</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>From:</b> Philipp Moll <philipp.moll@itec.aau.at><br>
<b>Sent:</b> Tuesday, March 3, 2020 12:45 PM<br>
<b>To:</b> Saurab Dulal (sdulal) <sdulal@memphis.edu>; mini-ndn@lists.cs.ucla.edu <mini-ndn@lists.cs.ucla.edu><br>
<b>Subject:</b> Re: [Mini-NDN] NdnRoutingHelper error in large topologies</font>
<div> </div>
</div>
<div>
<p style="margin-top: 0px; margin-bottom: 0px;">Hi Saurab,</p>
<p style="margin-top: 0px; margin-bottom: 0px;"><br>
</p>
<p style="margin-top: 0px; margin-bottom: 0px;">thanks for looking in to that issue. The routing helper was my first choice because I thought it would minimize unforeseen side effects resulting from routing protocols in my evaluation. Do you think that using
 NLSR would be the better (faster / more stable / more resilient) choice for doing evaluations using MiniNDN?</p>
<p style="margin-top: 0px; margin-bottom: 0px;"><br>
</p>
<p style="margin-top: 0px; margin-bottom: 0px;">My observation yesterday indicated that the lag results from registerRoute, not createFace in nfdc.py. This is why I achieved a significant speedup with my hack to only register one route only. But it seems that<i>
</i>I don't need <i></i>my hack anymore. Thanks for fixing the issue.</p>
<p style="margin-top: 0px; margin-bottom: 0px;"><br>
</p>
<p style="margin-top: 0px; margin-bottom: 0px;">Best<br>
Philipp</p>
<p style="margin-top: 0px; margin-bottom: 0px;"><br>
</p>
<div class="x_moz-cite-prefix">On 3/2/20 11:23 PM, Saurab Dulal (sdulal) wrote:<br>
</div>
<blockquote type="cite">
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
Hi Philipp, </div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
Thank you so much for reporting the problem. I have found the bug and also have uploaded a patch in the gerrit. <a href="https://gerrit.named-data.net/c/mini-ndn/+/5957">https://gerrit.named-data.net/c/mini-ndn/+/5957</a></div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
However, your topology (45 nodes, 71 links) should be easily handled by minindn without routing helper (unless you specifically need it). I ran your topology with minindn in a vagrant box (4 gigs ram) without routing helper and it converged successfully in
 less than 5 minutes. I have also tested larger size topologies i.e. 150+ nodes, and 700+ links and they all have converged successfully. </div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
I did some benchmark testing and found out that routing-helper especially in case of all face, link-state is pretty slow. But this is normal because you are creating an enormous amount of routes. With a single face, it's much better. Most of the lags are caused
 by face creation route addition. This is somewhat configurable in nfdc.py but still, I was not able to improve performance significantly. I have some improvements in my mind, just haven't got enough time to work on it.</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
Regards,</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
Saurab Dulal</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div>
<div id="x_Signature">
<div id="x_divtagdefaultwrapper" style="font-size:12pt; color:#000000; background-color:#FFFFFF; font-family:Calibri,Arial,Helvetica,sans-serif">
</div>
</div>
</div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="x_divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>From:</b> Mini-NDN
<a class="x_moz-txt-link-rfc2396E" href="mailto:mini-ndn-bounces@lists.cs.ucla.edu">
<mini-ndn-bounces@lists.cs.ucla.edu></a> on behalf of Philipp Moll <a class="x_moz-txt-link-rfc2396E" href="mailto:philipp.moll@itec.aau.at">
<philipp.moll@itec.aau.at></a><br>
<b>Sent:</b> Friday, February 28, 2020 3:29 PM<br>
<b>To:</b> <a class="x_moz-txt-link-abbreviated" href="mailto:mini-ndn@lists.cs.ucla.edu">
mini-ndn@lists.cs.ucla.edu</a> <a class="x_moz-txt-link-rfc2396E" href="mailto:mini-ndn@lists.cs.ucla.edu">
<mini-ndn@lists.cs.ucla.edu></a><br>
<b>Subject:</b> [Mini-NDN] NdnRoutingHelper error in large topologies</font>
<div> </div>
</div>
<div class="x_BodyFragment"><font size="2"><span style="font-size:11pt">
<div class="x_PlainText">Hi guys,<br>
<br>
I am currently working on a MiniNDN scenario evaluation, where I need a <br>
large network topology. I pushed the Geant topology to gerrit yesterday. <br>
This topology has 45 nodes and quite high connectivity between the <br>
nodes. Installing all possible routes with the NdnRoutingHelper takes <br>
about 20 minutes. For me, this is too long when considering that my <br>
actual evaluation only takes 10 minutes.<br>
<br>
When restricting the routes to install to the shortest path only to save <br>
time (NdnRoutingHelper.calculateNPossibleRoutes(nFaces=1)), the <br>
computeDijkastra method fails in line 241 when using the Geant topology.<br>
<br>
I am not familiar with the ndn_routing_helper code, that's why I'll use <br>
a workaround. But maybe someone who is familiar with the routing-helper <br>
can find the problem's cause.<br>
<br>
Thanks,<br>
Philipp<br>
<br>
_______________________________________________<br>
Mini-NDN mailing list<br>
<a class="x_moz-txt-link-abbreviated" href="mailto:Mini-NDN@lists.cs.ucla.edu">Mini-NDN@lists.cs.ucla.edu</a><br>
<a href="http://www.lists.cs.ucla.edu/mailman/listinfo/mini-ndn">http://www.lists.cs.ucla.edu/mailman/listinfo/mini-ndn</a><br>
<br>
</div>
</span></font></div>
</blockquote>
</div>
</body>
</html>