To analyse large-scale systems with high fidelity, it is necessary for a network testbed to offer both realistic emulation (to represent software execution) and effective simulation (to model background computation and communication). We present a network testbed that integrates a lightweight emulation system (modified earlier to operate in virtual time) with a parallel discrete event network simulator. Our contributions lie in the design of a global synchronization algorithm to manage virtual time as it transitions from emulation to simulation, and back. In particular, we optimize our previous algorithm to reduce overhead of synchronizations across simulation and emulation. We also address the unavoidable uncertainties introduced by the emulation by obtaining analytical bounds for the error, and produce empirical data showing that the error is as small as the minimum system execution unit. In addition, we observe excellent system scalability with large-scale network experiments, and demonstrate the performance improvement of the optimized global synchronization algorithm.
- network emulation
- parallel discrete event simulation
- virtual time
ASJC Scopus subject areas
- Modeling and Simulation