The prototyping methodology of current and future generations pose complex challenges as there are stringent requirements on both data rates and overall latency of the cellular stack. There is a clear need that future prototyping platforms also have a software framework to validate the stack in both emulation and simulation. This allows to run the entire stack in a controlled laboratory setting for realistic system validation and performance evaluation (see Figure: OAI Emulation Platform). The platform is designed to represent the behavior of the wireless access technology in a real network setting, while obeying the temporal frame parameters of the air-interface. The behavior of the wireless medium is obtained (a) using a PHY abstraction unit which simulates the error events in the channel decoder, and (b) using (real) channel convolution with the PHY signal in real-time. The platform can be run either with the full PHY layer or with PHY abstraction. The remainder of the protocol stack for each node instance uses the same implementation, as would be in the full system. Each node has its own IP interface that can be connected either to a real application or a traffic generator. The emulator also implements the 3GPP channel models comprising three components, path loss, shadow fading and stochastic small scale fading, and interacts with the mobility generator to perform different channel realization over time with interference. The platform targets large-scale repeatable experimentation in a controlled laboratory environment with various realistic test-cases and can be used for integration, performance evaluation and testing.
Here is the brief description of the design principles of the emulation platform:
- Experiment Design Workflow: A sequential experiment workflow, where the output of each step will be the input of the next, is employed to allow an experiment to be reproduced. Five consecutive steps are defined: scenario description, configuration, execution, monitoring, analysis, where each step is split into several sub-steps (see Figure: Experiment design workflow).
- Discrete Event Generator: The discrete event generator (DEG) is one of the main building block of simulation/emulations allowing high-level control over a user experiments. This is important to meet different experiment requirements and use cases, in particular when targeting large scale scenarios. They allow simulation/emulation configuration and monitoring as well as scheduling user-defined events over time and space. A typical DEG consists of an event producer, an event list, a scheduler, and an event consumer (see Figure: Discrete Event Generator).
- Protocol Vectorization and Emulation Data Transport: Protocol vectorization (or virtualization) of the entire protocol stack within the same physical machine is one the key requirements to increase the scalability of the emulation platform (c.f. Fig. 1.7). Protocol vectorization consists of sharing the same operating system instance and Linux IP protocol stack for independent emulated node instances. It allows networks nodes to coexist in the same execution environment. Note that, protocol virtualization offers the same functional properties (i.e. services) and the same non functional properties (i.e. performances) than that of a real protocol. To further increase the platform scalability and allow complex network experimentation, two or more emulated data flows may coexist between emulated nodes (see Fig: Protocol vectorization and network experimentation). Either nodes communicate via direct memory transfer (shared memory) or via IP multicast (over Ethernet) depending on whether they are part of the same physical machine or not. From the point of view of the protocol stack, the data flow is transparent and that the network connectivity is independent from the node distribution on a physical machine.