<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">
Just want to clarify: Ritik added the AIMD algorithm into the jNDN SegmentFetcher based on the ndn-cxx version.  He didn’t add the cubic implementation probably because that was not available in ndn-cxx.  He’s done some performance testing and comparison with
 the ndn-cxx version in mini-ndn (see his email for details).  He’s asking for code review to make sure the code is correct to be merged.  He can add the cubic implementation version afterwards.  As Davide said, it’s not a major change.
<div class=""><br class="">
</div>
<div class="">I am not sure why the performance of his version seems to be consistently better than the ndn-cxx version.<br class="">
<div class=""><br class="Apple-interchange-newline">
<span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; display: inline !important; float: none;" class="">Lan</span>
</div>
<div><br class="">
<blockquote type="cite" class="">
<div class="">On Jun 4, 2019, at 2:34 PM, Davide Pesavento via Nfd-dev <<a href="mailto:nfd-dev@lists.cs.ucla.edu" class="">nfd-dev@lists.cs.ucla.edu</a>> wrote:</div>
<br class="Apple-interchange-newline">
<div class="">
<div class="">Jeff,<br class="">
<br class="">
That sounds good to me. For jNDN, you may want to implement Cubic<br class="">
directly, without going through AIMD first. It should be fairly simple<br class="">
to adapt the equations in increaseWindow() and decreaseWindow(), see<br class="">
pipeline-interests-cubic.cpp in ndn-tools.<br class="">
<br class="">
Davide<br class="">
<br class="">
<br class="">
On Tue, Jun 4, 2019 at 1:33 PM Thompson, Jeff <<a href="mailto:jefft0@remap.ucla.edu" class="">jefft0@remap.ucla.edu</a>> wrote:<br class="">
<blockquote type="cite" class=""><br class="">
Hi Davide,<br class="">
<br class="">
Thanks for the clarification. So, we¹ll merge the pull requests for AIMD<br class="">
into jNDN and Cubic pipeline into NDN-JS. Then we can look to eventually<br class="">
updating all libraries to cubic. Does that sound right?<br class="">
<br class="">
Thanks,<br class="">
- Jeff T<br class="">
<br class="">
On 2019/6/4, 10:29:14, "Davide Pesavento" <<a href="mailto:davidepesa@gmail.com" class="">davidepesa@gmail.com</a>> wrote:<br class="">
<br class="">
<blockquote type="cite" class="">Hi Jeff,<br class="">
<br class="">
AIMD was the original adaptive pipeline implemented in ndncatchunks,<br class="">
later ported to ndn-cxx's SegmentFetcher. More recently, Klaus<br class="">
implemented a Cubic-like window adaptation algorithm in ndncatchunks<br class="">
and made it the default since it was shown to perform better than the<br class="">
original AIMD. We should port Cubic to ndn-cxx as well, but so far<br class="">
nobody has done that (there are a few other things in the API of<br class="">
SegmentFetcher that I dislike, but that's a separate topic).<br class="">
<br class="">
Adding *both* AIMD and Cubic to the CCL libraries makes little sense<br class="">
to me. Cubic should be preferred for new implementations.<br class="">
<br class="">
Davide<br class="">
<br class="">
On Tue, Jun 4, 2019 at 12:53 PM Thompson, Jeff <<a href="mailto:jefft0@remap.ucla.edu" class="">jefft0@remap.ucla.edu</a>><br class="">
wrote:<br class="">
<blockquote type="cite" class=""><br class="">
This is a pull request for the jNDN segment fetcher for ³aimd". There<br class="">
is a different pull request for the NDN-JS segment fetcher for ³cubic<br class="">
pipeline².<br class="">
<a href="https://github.com/named-data/ndn-js/pull/72" class="">https://github.com/named-data/ndn-js/pull/72</a><br class="">
<br class="">
What is the relationship between aimd and cubic pipeline. Should aimd<br class="">
be ported from jNDN to NDN-JS and PyNDN, etc. ? Should it replace the<br class="">
cubic pipeline in NDN-JS, or be added in addition to it?<br class="">
<br class="">
- Jeff T<br class="">
<br class="">
From: Nfd-dev <nfd-dev-bounces@lists.cs.ucla.edu> on behalf of nfd-dev<br class="">
<nfd-dev@lists.cs.ucla.edu><br class="">
Reply-To: Ritik kumar <ritikkne@gmail.com><br class="">
Date: Tuesday, June 4, 2019 at 5:31:00<br class="">
To: nfd-dev <nfd-dev@lists.cs.ucla.edu><br class="">
Subject: [Nfd-dev] jNDN SegmentFetcher<br class="">
<br class="">
Hello all,<br class="">
<br class="">
I recently made a pull request to the jNDN repo containing code to<br class="">
provide AIMD pipelining support to the SegmentFetcher in the library. I<br class="">
have written a simple unit test along with it too. The link to the pull<br class="">
request:<br class="">
https://github.com/named-data/jndn/pull/24<br class="">
<br class="">
The Java SegmentFetcher used in the test is available here:<br class="">
<br class="">
https://github.com/dev-ritik/jndn/blob/aimd_pipelining/src/net/named_data<br class="">
/jndn/util/SegmentFetcher.java<br class="">
<br class="">
I ran a series of experiments on AIMD as well as fixed fetcher among<br class="">
the jNDN and the chunks utilities and the results I found can be found<br class="">
here,<br class="">
<br class="">
https://docs.google.com/spreadsheets/d/1I11AvNxdttPvftFzk0DF_G650LGNkjGsK<br class="">
21mcumsysU/edit?usp=sharing<br class="">
The commands used are also included in the link above.<br class="">
<br class="">
The java class and other parameters used in the test can be found here,<br class="">
https://gist.github.com/dev-ritik/6a35a04c473affbc754a2c76142a02e0<br class="">
<br class="">
Please review the changes made so that I could improve it as required.<br class="">
<br class="">
--<br class="">
<br class="">
Thanks,<br class="">
Ritik Kumar<br class="">
<br class="">
GSoC student developer<br class="">
<br class="">
_______________________________________________<br class="">
Nfd-dev mailing list<br class="">
Nfd-dev@lists.cs.ucla.edu<br class="">
http://www.lists.cs.ucla.edu/mailman/listinfo/nfd-dev<br class="">
</blockquote>
</blockquote>
<br class="">
</blockquote>
_______________________________________________<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>
</div>
</blockquote>
</div>
<br class="">
</div>
</body>
</html>