2012 ACM/IEEE/SCS 26th Workshop on Principles of Advanced and Distributed Simulation (2012)
July 15, 2012 to July 19, 2012
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/PADS.2012.29
In this paper, we present the Open Network Emulator (ONE) a network simulator that combines the controllability and scalability of simulation with the direct code execution properties of emulation and experimental test beds. ONE has two novel features. First is a compiler framework that automatically transforms existing network application/protocols written in imperative languages such as C and C++ into composable modules, which can then be combined to create arbitrarily complex network stacks. This compiler framework obviates the need for heavyweight virtualization and enables ONE to execute multiple virtual hosts, each with its own application and network protocol stack, within a single process. The second novel feature of ONE is a new time model called Relativistic Time that combines the controllability of virtual time with the fidelity of real-time. To implement ONE, we ported the complete TCP/IP stack from within the Linux kernel (including the sockets interface, TCP, UDP IPv4 and v6, ICMP, IGMP, traffic shaping, net filters, routing and ARP) and well-known configuration and packet tracing applications such as if config and tcpdump. Existing network applications can be compiled and instantiated within ONE without requiring any source code change. We validated the fidelity of ONE by comparing the packet arrival times of multiple traffic generators on a real network against the arrival times with ONE emulation. Our preliminary performance evaluation of ONE on an 8 core system shows that ONE is highly efficient and can run over 450 virtual hosts connected over point-to-point gigabit links, while still retaining linear behavior.
IP networks, Instruments, Weaving, Protocols, Instruction sets, Aerospace electronics, Real time systems, Time dilation, Network Simulation, Network Emulation, Parallel Discrete Event Simulation
V. Duggirala and S. Varadarajan, "Open Network Emulator: A Parallel Direct Code Execution Network Simulator," 2012 ACM/IEEE/SCS 26th Workshop on Principles of Advanced and Distributed Simulation(PADS), Zhangjiajie China, 2012, pp. 101-110.