A Discrete-Event Network Simulator
API
MPI Distributed Simulation
+ Collaboration diagram for MPI Distributed Simulation:

Modules

 MPI Distributed Simulation tests
 

Files

file  distributed-simulator-impl.cc
 Implementation of classes ns3::LbtsMessage and ns3::DistributedSimulatorImpl.
 
file  distributed-simulator-impl.h
 Declaration of classes ns3::LbtsMessage and ns3::DistributedSimulatorImpl.
 
file  granted-time-window-mpi-interface.cc
 Implementation of classes ns3::SentBuffer and ns3::GrantedTimeWindowMpiInterface.
 
file  granted-time-window-mpi-interface.h
 Declaration of classes ns3::SentBuffer and ns3::GrantedTimeWindowMpiInterface.
 
file  mpi-interface.cc
 Implementation of class ns3::MpiInterface.
 
file  mpi-interface.h
 Declaration of class ns3::MpiInterface.
 
file  mpi-receiver.cc
 ns3::MpiReceiver implementation, provides an interface to aggregate to MPI-compatible NetDevices.
 
file  mpi-receiver.h
 ns3::MpiReceiver declaration, provides an interface to aggregate to MPI-compatible NetDevices.
 
file  mpi-test-fixtures.h
 Common methods for MPI examples.
 
file  nms-p2p-nix-distributed.cc
 DARPA NMS Campus Network Model.
 
file  null-message-mpi-interface.cc
 Implementation of classes ns3::NullMessageSentBuffer and ns3::NullMessageMpiInterface.
 
file  null-message-mpi-interface.h
 Declaration of classes ns3::NullMessageSentBuffer and ns3::NullMessageMpiInterface.
 
file  null-message-simulator-impl.cc
 Implementation of class ns3::NullMessageSimulatorImpl.
 
file  null-message-simulator-impl.h
 Declaration of class ns3::NullMessageSimulatorImpl.
 
file  parallel-communication-interface.h
 Declaration of class ns3::ParallelCommunicationInterface.
 
file  remote-channel-bundle-manager.cc
 Implementation of class ns3::RemoteChannelBundleManager.
 
file  remote-channel-bundle-manager.h
 Declaration of class ns3::RemoteChannelBundleManager.
 
file  remote-channel-bundle.cc
 Implementation of class ns3::RemoteChannelBundle.
 
file  remote-channel-bundle.h
 Declaration of class ns3::RemoteChannelBundle.
 
file  simple-distributed-empty-node.cc
 This test is equivalent to simple-distributed but tests boundary cases when one of the ranks has no Nodes on it.
 
file  simple-distributed-mpi-comm.cc
 This test is equivalent to simple-distributed with the addition of initialization of MPI by user code (this script) and providing a communicator to ns-3.
 
file  simple-distributed.cc
 TestDistributed creates a dumbbell topology and logically splits it in half.
 
file  third-distributed.cc
 Distributed version of third.cc from the tutorial.
 

Classes

class  ns3::DistributedSimulatorImpl
 Distributed simulator implementation using lookahead. More...
 
class  ns3::GrantedTimeWindowMpiInterface
 Interface between ns-3 and MPI. More...
 
class  ns3::LbtsMessage
 Structure used for all-reduce LBTS computation. More...
 
class  ns3::MpiInterface
 Singleton used to interface to the communications infrastructure when running NS3 in parallel. More...
 
class  ns3::MpiReceiver
 Class to aggregate to a NetDevice if it supports MPI capability. More...
 
class  ns3::NullMessageMpiInterface
 Interface between ns-3 and MPI for the Null Message distributed simulation implementation. More...
 
class  ns3::NullMessageSentBuffer
 Non-blocking send buffers for Null Message implementation. More...
 
class  ns3::NullMessageSimulatorImpl
 Simulator implementation using MPI and a Null Message algorithm. More...
 
class  ns3::ParallelCommunicationInterface
 Pure virtual base class for the interface between ns-3 and the parallel communication layer being used. More...
 
class  ns3::RemoteChannelBundle
 Collection of ns-3 channels between local and remote nodes. More...
 
class  ns3::RemoteChannelBundleManager
 Singleton for managing the RemoteChannelBundles for each process. More...
 
class  ns3::SentBuffer
 Tracks non-blocking sends. More...
 
class  ns3::SinkTracer
 Collects data about incoming packets. More...
 

Macros

#define RANK0COUT(x)
 Write to std::cout only from rank 0. More...
 
#define RANK0COUTAPPEND(x)
 Append to std::cout only from rank 0. More...
 

Detailed Description

Macro Definition Documentation

◆ RANK0COUT

#define RANK0COUT (   x)
Value:
do \
if (SinkTracer::GetWorldRank() == 0) \
{ \
std::cout << "TEST : "; \
std::ios_base::fmtflags f(std::cout.flags()); \
std::cout << std::setfill('0') << std::setw(5) << SinkTracer::GetLineCount(); \
std::cout.flags(f); \
std::cout << " : " << x; \
} \
while (false)
double f(double x, void *params)
Definition: 80211b.c:70

Write to std::cout only from rank 0.

Number line for sorting output of parallel runs.

Parameters
xThe output operators.

Definition at line 60 of file mpi-test-fixtures.h.

◆ RANK0COUTAPPEND

#define RANK0COUTAPPEND (   x)
Value:
do \
if (SinkTracer::GetWorldRank() == 0) \
{ \
std::cout << x; \
} \
while (false)

Append to std::cout only from rank 0.

Number line for sorting output of parallel runs.

Parameters
xThe output operators.

Definition at line 80 of file mpi-test-fixtures.h.