Backplane

The backplane enables the user/modeler to bring multiple network simulators together and harness their models in a single experiment. Such integrated use of network simulators was not easily possible previously. The backplane fills the current gap of bridging multiple heterogeneous network simulators. The backplane also supports incorporation of actual network applications into the execution, to execute over the emulated network. Further, since the backplane is dynamic in nature, simulator integration occurs as late as at runtime, thus enabling seamless integration with little effort from the user. It thus avoids the need for apriori and ad-hoc agreements by users for interoperability, and instead delivers the integration automatically at runtime.

In contrast to other efforts such as the SEAMLSS project, our focus is on efficient implementation using high-performance runtime infrastructure (RTI). Additionally, while traditional integration work has been limited to composing whole network nodes, we address the composition of simulators across protocol layers in a split protocol stack.

Backplane Interface

A Dynamic Emulation Backplane architecture was designed that allows multiple heterogeneous network simulators to seamlessly interoperate to model large-scale networks. The architecture is envisioned to integrate multiple simulators, each potentially operating at different level of detail and using different model representation to cooperate with each other.

The backplane realization incorporates a consensus and translation engine that undertakes the underlying mediation work of protocol consensus computation, protocol data integration, message export/import services, and event distribution and simulation time synchronization.

An initial Application Program Interface (API) has been developed in the C language to interface any simulator with the backplane. The API has been designed to support plug-n-play operation of network simulators, building on existing network standards, and using a unique callback-based mechanism for extensibility and customization. In addition, an initial prototype implementation of the backplane software has been developed that provides the backplane services conforming to the API.

The prototype backplane implementation has been used in a preliminary case study in which the ns-2 and PARSEC/GloMoSim simulators have been integrated via the backplane, and TCP network models spanning both the simulators have been tested. Initial experiments using this backplane system are very promising, indicating plug-n-play capability with the two heterogeneous simulators. Experimental results on certain network configurations have shown that execution performance is not adversely affected despite the addition of plug-n-play functionality to the individual simulators.

Flexibility with Split Protocol Stack

Parallel and distributed network simulations are performed in real-time in order to accurately emulate the network in our emulation environment. Towards this, we have been exploring new techniques that help simulate larger and more complex network configurations in real-time mode. The flexibility in the size and fidelity of models are enhanced by a new capability that we developed, called the split protocol stack method. Using our unique technique, it will be possible to construct large network configurations that span multiple simulator instances even when the individual layers of protocol stacks of the nodes are distributed across simulators.

Traditionally, distribution of network models was performed only at the node-level. In other words, each simulated network node had to be wholly contained in a single simulator. Hence, every node’s entire protocol stack, from application to physical layer, had to be mapped to a single simulator. This limits the flexibility with which the modeler can pick and choose the most appropriate model from different simulators. For example, consider the situation in which the modeler wishes to use the ns simulator for TCP layer simulation (due to its rich set of TCP models), and the GloMoSim simulator for the lower IP and MAC layer simulation (due to its wide range of wireless IP/MAC models). Traditional methods prevent the modeler from using such an interoperating scenario; we have developed a solution precisely for this problem.

Runtime Infrastructure

The backplane software is implemented on top of our runtime infrastructure (RTI) software, which is designed after the HLA RTI interface. This RTI is specifically designed for high-performance execution over a variety of communication platforms, and is widely distributed to several users across the world, both in industry and academia. We have recently completed a major release (version 3.0) of the RTI software package, which incorporates several new modules (such as the Data Distribution Management Kit module), bug fixes and performance enhancements.

Real-Time Pacing

Our emulation backplane includes parallel network simulators integrated with an emulation backplane. The end-node applications as well as the parallel network simulator(s) will use the runtime infrastructure of the backplane to pace their execution. Since the end-node applications could include interactive and human-in-the-loop execution, it is necessary for the backplane runtime infrastructure to provide support for real-time pacing of execution such that all the components in the emulation are synchronized with respect to real time.

We have defined a newly enhanced interface for the same, and added such functionality to our runtime infrastructure (RTI). The original interface of the RTI is based on the DoD HLA RTI. To this RTI interface, we have added new real-time semantics for the time management and event delivery services of the RTI to pace the execution in synchrony with wall-clock time, while delivering events in timestamp order (modulo real time deadlines).

We have implemented this functionality into our RTI software, and completed initial testing of the same. Based on encouraging preliminary performance numbers, we are proceeding with further performance tuning and documentation.

Efficient Virtual Time Management

The computation of time synchronization can constitute a signification portion of backplane runtime overhead, especially in the context of execution over wide area networks, and in certain cases over high-speed LANs. Part of the overhead is due to the network session layer that, while providing reliable message delivery, introduces unnecessary network and processing delays. In these situations, time synchronization can be potentially better performed directly over the underlying unreliable network transport mechanism, by exploiting and optimizing the use of message timeouts, acknowledgements and retransmissions.

We have developed novel algorithms towards this end, which perform virtual time synchronization directly over unreliable network delivery services, such as over the User Datagram Protocol (UDP). A description of the algorithms, including preliminary performance results, has been reported in [3]. We are currently working on further performance analysis, including performing experiments over actual wide area networks. The incorporation of these algorithms is expected to improve the performance of backplane execution by reducing the synchronization overhead.

Prototype Implementation

We have completed a prototype software implementation of the Dynamic Backplane API, and incorporated enhancements to it. First, we have enhanced the emulation backplane interface to support the exchange of interactions across protocol layers. Using this interface, the user has complete flexibility in choosing the most appropriate simulator for any specific protocol layer. Next, we enhanced the backplane implementation to optimize the simulator execution for speed in split-protocol setting. The optimization is achieved by using shared-memory communication mechanism for communication between simulators that simulate different protocols layers of the same set of network nodes.

An initial prototype of this system is now operational. We have incorporated this technique into two popular network simulators, namely, ns-2 and GloMoSim. The simulators are now capable of using this additional (split-protocol) feature of the backplane interface. These enhancements afford the modeler complete flexibility on deciding how best to map network nodes and their protocol models to multiple simulators, at the granularity of individual protocol layers.

Additionally, using our updated backplane, ns-2 and GloMoSim can now interoperate in a much more seamless fashion.

Next