<div dir="auto"><div>Hi Andriana</div><div dir="auto"><br></div><div dir="auto">ns-3's virtual payload feature means memory consumption of the experiment is independent from packet size ("chunk size 10KB" in your experiment). Everything else would still consume memory. 750 bytes per CS entry is reasonable.</div><div dir="auto">You have 155 nodes each having 100000 cache entries. That's 11GB memory if all entries are occupied.</div><div dir="auto"><br></div><div dir="auto">Scaling to 10000000 cache entries, it needs 1100GB memory. Google Cloud offers 1922GB memory in their n1-ultramem-80 machine type, which would be sufficient.</div><div dir="auto"><br></div><div dir="auto">Experiment duration is mainly dependent on traffic volume, i.e. number of packets transmitted. ns-3 supports MPI distributed scheduler <a href="https://www.nsnam.org/docs/models/html/distributed.html">https://www.nsnam.org/docs/models/html/distributed.html</a> . You could use it to speed up experiment. If you are able to distribute the experiment to all 80 CPUs on the n1-ultramem-80, it'll be 40~60x faster than running on a single CPU.</div><div dir="auto"><br></div><div dir="auto"><span style="font-family:sans-serif">ndnSIM v2 does not support virtual payload, and each 10KB entry is likely to consume 30KB memory. The same experiment would consume 443GB memory in ndnSIM v2. With 10000000 cache entries it'll be 43TB and you can't find a machine with that much memory. But with MPI, you can distribute the workload across multiple physical machines. It'll quite difficult to setup, but not impossible.</span></div><div dir="auto"><span style="font-family:sans-serif"><br></span></div><div dir="auto"><font face="sans-serif">Yours, Junxiao</font></div><div dir="auto"><font face="sans-serif"><br></font></div><div dir="auto"><div class="gmail_quote" dir="auto"><div dir="ltr" class="gmail_attr">On Thu, Jun 20, 2019, 07:16 Andriana Ioannou <<a href="mailto:ioannoa@tcd.ie">ioannoa@tcd.ie</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Dear all,<br><div class="gmail_quote"><div dir="ltr"><div><br></div><div>I have recently been running a number of experiments to support my research. However, I have found myself facing some issues with regard to both memory and time consumption. My experiments' setup may be summarised as follows:</div><div><br></div><div>Catalog Size:                                      1000000 & 100000000 objects </div><div>Network Topologies:                           Tiscali AS-3257 & Excodus AS-3967 (75 & 97 routers / 56 & 58 gateways, respectively)</div><div>Object Size:                                        1000 chunks on average </div><div>Chunk Size:                                        10KB (10240 virtual payload)</div><div>Cache Size:                                        100000 chunks, 1000000 chunks, 10000000 chunks</div><div>Number of Producers:                        1 </div><div>Number of Consumers:                      150 on average installed at each gateway</div><div>Popularity Distribution:                        Weibull Distribution</div><div>Interests Window:                               1</div><div>ΔΤ between subsequent Interests:     0ms</div><div><br></div><div>Based on the aforementioned setup, I am only able to run experiments when my cache size is equal to 100000 chunks (the smallest). The memory consumption for this scenario is about 10GBs - for as long as I have recorded. The time consumption may vary depending on how many cores I am using to run the experiments and how fast my CPU is, from 8 hours to 10 hours or so. At this point I should state that these numbers refer to code using MPIs. </div><div><br></div><div>Consulting the documentation on ndnSIM simulator, these numbers look reasonable to me since eg a single CS entry in ndnSIM v1 may take about 0.75KBs, while taking into account the memory consumption of the rest architectural components. I do find that the time consumption is related to the fact that a large number of Interests is generated while no time interval has been applied between them.</div><div><br></div><div>So, my first question is, does this look reasonable to you too? Is this something that is indeed to be expected? </div><div><br></div><div>And my second question is if so, is there a way to avoid this and run larger experiments?</div><div><br></div><div>Kind regards,</div><div>Andriana. </div><div><br></div></div>
</div></div><br>
</blockquote></div></div></div>