<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=windows-1252">
</head>
<body>
<p>Hi Saurab,</p>
<p><br>
</p>
<p>thanks for your response. Please find my answers inline.</p>
<p><br>
</p>
<p>Thanks,<br>
Philipp</p>
<p><br>
</p>
<div class="moz-cite-prefix">On 3/4/20 5:32 AM, Saurab Dulal
(sdulal) wrote:<br>
</div>
<blockquote type="cite"
cite="mid:SA0PR16MB38051A5D0CBE89F51CA1B0D1C4E50@SA0PR16MB3805.namprd16.prod.outlook.com">
<meta http-equiv="Content-Type" content="text/html;
charset=windows-1252">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
<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. <br>
</div>
</blockquote>
Thanks for clarifying, yesterday I thought that you suggest to use
NLSR instead of the routing helper.<br>
<blockquote type="cite"
cite="mid:SA0PR16MB38051A5D0CBE89F51CA1B0D1C4E50@SA0PR16MB3805.namprd16.prod.outlook.com">
<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>
</blockquote>
Have you tried calculating the routes with libigraph? My experience
from the IP-Routing helper is that calculating the routes is pretty
fast and (at least in the 45 node topology) should not delay an
experiment for longer than a few seconds. (Of course, applying the
nfdc commands takes longer than a few secs)<br>
<blockquote type="cite"
cite="mid:SA0PR16MB38051A5D0CBE89F51CA1B0D1C4E50@SA0PR16MB3805.namprd16.prod.outlook.com">
<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>
</blockquote>
I think the answer depends on what you want to evaluate. However,
maybe the fastest solution you could do is, to plan link failures in
advance and pre-calculate shortest paths for the whole evaluation
run in advance. When you actually fail a link during the evaluation,
you just need to apply the pre-calculated shortest paths, which
should be possible by simply looking at "nfdc route list" of each
node and by modifing the existing entries. As I said above,
pre-calculating shortest paths should not be an performance issue
when using libigraph.<br>
<blockquote type="cite"
cite="mid:SA0PR16MB38051A5D0CBE89F51CA1B0D1C4E50@SA0PR16MB3805.namprd16.prod.outlook.com">
<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. <br>
</div>
</blockquote>
I've got one more question regarding the routing helper. In mininet,
you can easily test the connectivity between all nodes with mininets
built-in pingall command. Is there something comparable available in
Mini-NDN? In my evaluation topology, depending where my nodes are
located, my application sometimes receives NACKs with reason
NO_ROUTE. If a "pingall" functionality is available, I could easily
debug the issue.<br>
<blockquote type="cite"
cite="mid:SA0PR16MB38051A5D0CBE89F51CA1B0D1C4E50@SA0PR16MB3805.namprd16.prod.outlook.com">
<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 style="font-size:11pt"
face="Calibri, sans-serif" color="#000000"><b>From:</b>
Philipp Moll <a class="moz-txt-link-rfc2396E" href="mailto:philipp.moll@itec.aau.at"><philipp.moll@itec.aau.at></a><br>
<b>Sent:</b> Tuesday, March 3, 2020 12:45 PM<br>
<b>To:</b> Saurab Dulal (sdulal) <a class="moz-txt-link-rfc2396E" href="mailto:sdulal@memphis.edu"><sdulal@memphis.edu></a>;
<a class="moz-txt-link-abbreviated" href="mailto:mini-ndn@lists.cs.ucla.edu">mini-ndn@lists.cs.ucla.edu</a> <a class="moz-txt-link-rfc2396E" href="mailto:mini-ndn@lists.cs.ucla.edu"><mini-ndn@lists.cs.ucla.edu></a><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 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"
moz-do-not-send="true">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
style="font-size:11pt" face="Calibri, sans-serif"
color="#000000"><b>From:</b> Mini-NDN
<a class="x_moz-txt-link-rfc2396E"
href="mailto:mini-ndn-bounces@lists.cs.ucla.edu"
moz-do-not-send="true">
<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"
moz-do-not-send="true">
<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"
moz-do-not-send="true">
mini-ndn@lists.cs.ucla.edu</a> <a
class="x_moz-txt-link-rfc2396E"
href="mailto:mini-ndn@lists.cs.ucla.edu"
moz-do-not-send="true">
<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"
moz-do-not-send="true">Mini-NDN@lists.cs.ucla.edu</a><br>
<a
href="http://www.lists.cs.ucla.edu/mailman/listinfo/mini-ndn"
moz-do-not-send="true">http://www.lists.cs.ucla.edu/mailman/listinfo/mini-ndn</a><br>
<br>
</div>
</span></font></div>
</blockquote>
</div>
</blockquote>
</body>
</html>