[Ns-developers] Topology generators and simulations with 4000+ nodes
jpelkey at gatech.edu
Sat Jan 23 10:42:54 PST 2010
I have been doing some work with large topologies (specifically
point-to-point) in ns-3 over the past few months, so I thought I'd
share my experience. I have been running the campus network example
(examples/routing/nms-p2p-nix) which allows the creation of an
arbitrarily large p2p topology. The topology consists of a number of
"campus networks" which are connected together. You can see an image
of one campus network here: http://www.nsnam.org/~jpelkey3/nms.png. I
have run some simulations with 2, 4, 8, 16 and even 80 campus networks
(43,040 nodes!). I should note that some of the larger simulations, I
ran in distributed fashion using MPI by spitting up the campus
networks on to different machines. Now, the simulation times are
pretty long, because the default case has a large number of LAN nodes
communicating with other nodes. In other words, there are a huge
number of events generated. Therefore, the difference between
nix-vector routing and global routing is less noticeable with some of
the smaller topologies. However, if the number of sending nodes is
decreased (or the total number of nodes is significantly increased),
the difference becomes more considerable.
Also, as I mentioned previously, we have been doing some work on
distributed simulation. The code is here
(http://code.nsnam.org/jpelkey3/ns-3-distributed/) and should be
merged early next release cycle. The same campus-network example is
available in distributed form (examples/mpi/nms-udp-nix). I believe
this could help with some of the memory issues with very large
topologies. Next up in the queue is distributed wireless for large
ECE PhD Student
Georgia Institute of Technology
On Fri, Jan 22, 2010 at 9:40 PM, Tommaso Pecorella <tpecorella at mac.com> wrote:
> Hi all,
> some time ago I was trying to run some simulations for a wide-area scenario and I found myself failing bad. The simulator I was using wasn't able to understand simple concepts like "internet-like topology". Darn.
> Now I'm working with ns-3 and I honestly don't want to find myself in need again, especially because I plan to do some simulations about P2P-like networks, so a large-scale network is a must. 10.000 nodes or so. Well, "if there isn't, do it", right ?
> So, I'm working on a simple interface to read the major topology generators output. To be honest it's already almost finished, I'll submit it in a few. However first I'd like to ask if anyone have some suggestions about the topology generators that *must* be supported.
> So far we have a rather simple and modular code to read Inet 3.0 and Orbis 0.7 outputs. I checked Tiers 1.1 but I must confess that all I got is a segmentation fault. Rather old code indeed. I'll take a look at gt-itm but that one too seems to be rather old. BRITE is not anymore developed, but someone might use it still. I don't know if coding it as well is worth tho. Note that those are the ones that was supported ns-2.
> Any suggestions ?
> By the way, my actual code is able to munch 4000+ nodes in a snap. The only drawback is about the routing. Ipv4GlobalRoutingHelper::PopulateRoutingTables () simply... fails. nixRouting rocks.
> Let me a bit more clear. PopulateRoutingTables with 4000+ nodes (and about the same number of links) works, but the simulations takes hours to start and like 10G RAM to run. I didn't debug the code, but my guess is that the code isn't designed for that number of nodes. Still I can't figure out why so much memory is needed, unless for a huge memory leak somewhere.
> On the other hand with nixRouting the simulations ends in 20 seconds. probably because only 2 of the 4000 nodes are sending datas. I'll try with an increasing number of senders to check how much memory is needed.
> Best regards,
> The nice thing about standards is that there are so many to choose from.
> And if you really don't like all the standards you just have to wait another year until the one arises you are looking for.
> -- A. Tanenbaum, "Introduction to Computer Networks"
> Tommaso Pecorella - Ph.D.
> Assistant professor
> Dpt. Elettronica e Telecomunicazioni
> Università di Firenze
> CNIT - Università di Firenze Unit
> via di S. Marta 3
> 50139, Firenze
> email: tommaso.pecorella at unifi.it
> tommaso.pecorella at cnit.it
> phone : +39-055-4796412
> mobile: +39-320-4379803
> fax : +39-055-494569
More information about the Ns-developers