[Nfd-dev] jNDN SegmentFetcher

Lan Wang (lanwang) lanwang at memphis.edu
Wed Jun 5 08:36:00 PDT 2019


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.

I am not sure why the performance of his version seems to be consistently better than the ndn-cxx version.

Lan

On Jun 4, 2019, at 2:34 PM, Davide Pesavento via Nfd-dev <nfd-dev at lists.cs.ucla.edu<mailto:nfd-dev at lists.cs.ucla.edu>> wrote:

Jeff,

That sounds good to me. For jNDN, you may want to implement Cubic
directly, without going through AIMD first. It should be fairly simple
to adapt the equations in increaseWindow() and decreaseWindow(), see
pipeline-interests-cubic.cpp in ndn-tools.

Davide


On Tue, Jun 4, 2019 at 1:33 PM Thompson, Jeff <jefft0 at remap.ucla.edu<mailto:jefft0 at remap.ucla.edu>> wrote:

Hi Davide,

Thanks for the clarification. So, we¹ll merge the pull requests for AIMD
into jNDN and Cubic pipeline into NDN-JS. Then we can look to eventually
updating all libraries to cubic. Does that sound right?

Thanks,
- Jeff T

On 2019/6/4, 10:29:14, "Davide Pesavento" <davidepesa at gmail.com<mailto:davidepesa at gmail.com>> wrote:

Hi Jeff,

AIMD was the original adaptive pipeline implemented in ndncatchunks,
later ported to ndn-cxx's SegmentFetcher. More recently, Klaus
implemented a Cubic-like window adaptation algorithm in ndncatchunks
and made it the default since it was shown to perform better than the
original AIMD. We should port Cubic to ndn-cxx as well, but so far
nobody has done that (there are a few other things in the API of
SegmentFetcher that I dislike, but that's a separate topic).

Adding *both* AIMD and Cubic to the CCL libraries makes little sense
to me. Cubic should be preferred for new implementations.

Davide

On Tue, Jun 4, 2019 at 12:53 PM Thompson, Jeff <jefft0 at remap.ucla.edu<mailto:jefft0 at remap.ucla.edu>>
wrote:

This is a pull request for the jNDN segment fetcher for ³aimd". There
is a different pull request for the NDN-JS segment fetcher for ³cubic
pipeline².
https://github.com/named-data/ndn-js/pull/72

What is the relationship between aimd and cubic pipeline. Should aimd
be ported from jNDN to NDN-JS and PyNDN, etc. ? Should it replace the
cubic pipeline in NDN-JS, or be added in addition to it?

- Jeff T

From: Nfd-dev <nfd-dev-bounces at lists.cs.ucla.edu> on behalf of nfd-dev
<nfd-dev at lists.cs.ucla.edu>
Reply-To: Ritik kumar <ritikkne at gmail.com>
Date: Tuesday, June 4, 2019 at 5:31:00
To: nfd-dev <nfd-dev at lists.cs.ucla.edu>
Subject: [Nfd-dev] jNDN SegmentFetcher

Hello all,

I recently made a pull request to the jNDN repo containing code to
provide AIMD pipelining support to the SegmentFetcher in the library. I
have written a simple unit test along with it too. The link to the pull
request:
https://github.com/named-data/jndn/pull/24

The Java SegmentFetcher used in the test is available here:

https://github.com/dev-ritik/jndn/blob/aimd_pipelining/src/net/named_data
/jndn/util/SegmentFetcher.java

I ran a series of experiments on AIMD as well as fixed fetcher among
the jNDN and the chunks utilities and the results I found can be found
here,

https://docs.google.com/spreadsheets/d/1I11AvNxdttPvftFzk0DF_G650LGNkjGsK
21mcumsysU/edit?usp=sharing
The commands used are also included in the link above.

The java class and other parameters used in the test can be found here,
https://gist.github.com/dev-ritik/6a35a04c473affbc754a2c76142a02e0

Please review the changes made so that I could improve it as required.

--

Thanks,
Ritik Kumar

GSoC student developer

_______________________________________________
Nfd-dev mailing list
Nfd-dev at lists.cs.ucla.edu
http://www.lists.cs.ucla.edu/mailman/listinfo/nfd-dev

_______________________________________________
Nfd-dev mailing list
Nfd-dev at lists.cs.ucla.edu<mailto:Nfd-dev at lists.cs.ucla.edu>
http://www.lists.cs.ucla.edu/mailman/listinfo/nfd-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.lists.cs.ucla.edu/pipermail/nfd-dev/attachments/20190605/b0804480/attachment-0001.html>


More information about the Nfd-dev mailing list