Hello JT, some further comments inline below.
On 02/03/2017 01:28 AM, JTL wrote:
> Hi,
>
> First, thanks for your reply and the interesting suggestion of using
> CUDA. I am looking into that now though I have zero experience with it.
>
> For MPI, my assumption is that calculations involved in the
> transmit/receive of PHY packets through the propagation channel is the
> most time consuming piece in the simulation especially if we were to
> consider fast fading.
In my profiling experience, the MAC layer methods involving channel
access and queue management, as well as packet handling in the
InterferenceHelper, rise to the top of the list. I recommend that you
try to profile your scenario using instructions in the wiki:
https://www.nsnam.org/wiki/HOWTO_use_oprofile
There isn't presently a fast fading error model for Wi-Fi.
Please keep in mind that a key to obtaining faster parallel simulation
is to find spots in your scenario where there is a good amount of
lookahead (i.e. the different LPs can execute on their own for a while
without having to synchronize). My understanding is that the local
wireless channel is a poor place to look for this. A better strategy
would be to put each wireless subnet (channel) in its own LP, and have
some propagation delay between these clusters (in point-to-point links)
if your scenario permits it. That is, if there isn't much interaction
in the scenario between clusters of nodes, those are good candidates for
parallelization, and maybe you are able to tolerate the injection of
some additional propagation delay between them in order to get some more
lookahead.
I think a better immediate strategy, if it pertains to you, is to
eliminate the generation of events from the channel due to weak
signals. The channels, by default, send each packet to all attached
nodes, but perhaps they could filter based on presumed receiver signal
strength to suppress receive events on receivers who will obtain a
packet whose signal is buried in the noise. However, if your simulation
involves every node within carrier sense range of every other node, this
strategy is not going to be helpful.
Another strategy is to make simplifications at the PHY such as the
simple wireless model that was presented at WNS3 last year, if you do
not care so much about PHY fidelity.
In summary, to speed up local wireless networks, one is likely going to
have to resort to abstractions (simplifications) of the pieces that are
not central to your particular study, and look towards reducing the
number of events, and try to parallelize across clusters of nodes
(channels) that do not interact much with one another.
- Tom