Time Jails: A Hybrid Approach to Scalable Network Emulation - Grau, Andreas; Maier, Steffen; Herrmann, Klaus; Rothermel, Kurt (2008 22nd Workshop on Principles of Advanced and Distributed Simulation, 2008)
It is essential to evaluate the performance of newly developed distributed software and network protocols. Network emulation enables reproducible evaluation of unmodified real implementations. Software built for distributed systems, such as a large scale peer-to-peer system, requires evaluation scenarios with thousands of communicating nodes. Two approaches for scaling network emulation to such scenario sizes have been proposed in the literature: node virtualization and time virtualization. Node virtualization allows maximizing the utilization of standard hardware used for emulation experiments. Time virtualization enables trading experiment duration for virtually increased resources of the hardware. It stands to reason that a combination of those two approaches may increase scalability even further. However, in existing combinations, either node virtualization implies relatively high overhead or time virtualization requires modifications of the test subject implementation.In this paper, we present a novel hybrid approach called Time Virtualized Emulation Environment (TVEE). It integrates node virtualization with low overhead and time virtualization, which is transparent to the execution of test subjects. We introduce virtual time based on epochs to enable better dynamic hardware utilization during long lasting experiments. Additionally, a mechanism similar to soft timers ensures an accurate reproduction of network properties in the time virtualized emulation. Our evaluations show the accuracy and scalability of time virtualized network emulation. Comparing TCP throughput, TVEE outperforms other approaches using an event based virtual time by an order of magnitude.