SimpleDistributedNetDevice for distributed (MPI) simulations
Adds a new distributed parallel net device to complement the existing parallelism available in the point-to-point net device.
The existing P2P net device enables parallelism but requires instantiation of many P2P in large models. This MR adds a new net device, called SimpleDistributedNetDevice, to remove this scaling issue. The new channel is loosely based on the existing abstract SimpleNetDevice but enables the nodes connected to the channel to be instantiated on multiple MPI ranks; a single logical channel can be shared across the MPI ranks.
The SimpleDistributedNetDevice does not represent any real device. The model is a fully connected topology with no interference. Our target use case was parallel simulation of large wireless networks where one can tolerate the fidelity limitations to gain parallelism. We had previously been instantiating N^2 P2P links to approximate a wireless network in parallel but that approach does not scale well and is cumbersome to setup.