[ndnSIM] Memory Usage in ndnSIM and NFD

Spyridon (Spyros) Mastorakis spiros.mastorakis at gmail.com
Mon Feb 23 09:11:22 PST 2015


Hello Daniel,

first of all, let me disagree with your initial statement. I have tested the memory usage of ndnSIM 2.0 using the this scenario:

https://github.com/spirosmastorakis/ndnSIM-development/blob/master/examples/ndn-grid-stress-test.cc

This scenario creates 1000 nodes on a grid topology and defines 100 randomly distributed producers and consumers. Each consumer, by default, expresses 100 interests/second. I have also tested with 1000 interests/second.

The results were the following:

ndnSIM 2.0 uses 20%, on average, more memory than ndnSIM 1.0. Only 20% more memory for setting up 1000 NFD instances and simulating a maximally realistic NDN communication using data packets with actual payload and, if you want, fully featured crypto operations. This scenario run without a problem in my old MacBook Air, while I was working. So, I do not think that simulations with 100 or 200 or even 1000 nodes would be a problem for generic hardware (not even for very powerful hardware).

Regarding your question now:

yes, real data packets with actual payload are used. Yes, the parts of the packets used are stored in memory. The CS of each node stores its own copy of a packet’s data, exactly like it would happen across a real NDN testbed.

For more information, you can take a look here:

http://named-data.net/techreport/ndn-0021-2-nfd-developer-guide.pdf

This is the NFD developer guide. In section 3, what is stored by FIB, PIT and CS are described in detail.

Thanks

--
Spyridon (Spyros) Mastorakis
Personal Website: http://cs.ucla.edu/~mastorakis/
Internet Research Laboratory
PhD Computer Science
UCLA




> On Feb 23, 2015, at 1:00 AM, Daniel Posch <poschdaniel2 at gmail.com> wrote:
> 
> Hi,
> 
> I have a question regarding the memory usage in ndnSIM2.0 as I run in to memory troubles with my simulations. Currently I simulate networks with the size of 100-200 nodes per simulation. Using ndnSIM1.0 this was no problem as the payload of Data Packets could be set to "virtual", so just an integer coded the size of the payload. Due the fact that much more memory is required in ndnSIM2.0 and through the connection to the NFD, I assume that the payload is now really stored in the memory? Is this assumption correct? If so, I think this leads to problems simulating larger networks even on very powerful hardware.
> 
> Could someone explain in detail what "parts" of the Interest/Data packets are really physically stored in memory? How do the new/old Content Store(s) store Data Packets? Is a copy of each packet stored in each Content Store, or is a single copy shared among several Content Stores?
> 
> Best regards,
> Daniel
> _______________________________________________
> ndnSIM mailing list
> ndnSIM at lists.cs.ucla.edu
> http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim





More information about the ndnSIM mailing list