[Ns-developers] Status ns-3 parallelization
Hagen Paul Pfeifer
hagen at jauu.net
Mon Jun 2 09:06:17 PDT 2008
Hello NS-3 community,
the last week I reworked my ns-3 synchronization mechanism. So far the
communication was based on standard socket's via read(3) and write(3).
I introduced some basic MPI infrastructure (see
http://code.nsnam.org/pfeifer/ns-3-para-mpi). This allows easy
communication and is intended as a first shot. Further versions
should wrap this more cleanly (e.g. to build without openMPI support).
Nowadays you must compile ns-3 with
CXX=/usr/bin/mpicxx ./waf configure
and run via:
mpirun --np 4 --mca btl \^udapl,openib build/debug/examples/adhoc-olsr
This leads to the seconds issue: "adhoc-olsr" and building federates
automaticaly. I build a simple scenario with a lot of mobility.
This is a worst case scenario to synchronize nodes - because it
is fairly difficult to predict nodes who are interaction with each other.
Therefore a good scenario for the parallelization. GloMoSim calculate the
interference between two nodes (via SINR et cetera) to exclude which nodes
are in range. I will use this later to build automatically federates - I
prefer an automatically approach rather than a manual approach to build
federates (but as discussed with Mathieu KISS - Keep it simple, stupid).
The main communication hook are Channels. Every time Packets are send or
received
channels are invoked. Therefore the parallelization implementation will
inject
the main functionality into channels. The challenge with Channels is that
child
classes aren't use a standard interface (Send()/Receive()). Therefore I
must adapt
these.
Best regards, Hagen
More information about the Ns-developers
mailing list