[ndnSIM] Memory Usage in ndnSIM and NFD

Daniel Posch poschdaniel2 at gmail.com
Mon Feb 23 11:00:35 PST 2015

Hello Spyridon,

if "real" Data Packets are used and each Content Store maintains its own 
copy this leads to huge memory consumption.

Consider the following scenario:

Data Packets have a constant size of let's say 4096 Bytes.
The topology consists of 100 nodes, which have a Content Store that 
stores up to 12500 Data Packets.
So per node this are 12500*4096Bytes = 51200000Bytes, or roughly 50MB.
For the whole simulation this would lead to 50MB*100 = 5GB of required 

I consider the presented scenario as "very small", especially the size 
of the Content Store.

If I take your scenario with 1000 nodes, and let's say each node has a 
100 MB CS, this would to a memory requirement of 100MB*1000 = 100GB.
So I think that you are using  extremely "small" Content Stores in your 

Best regards,

Am 23.02.2015 um 18:11 schrieb Spyridon (Spyros) Mastorakis:
> 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
>> 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

Diese E-Mail wurde von Avast Antivirus-Software auf Viren geprüft.

More information about the ndnSIM mailing list