文摘
Simulation has become an important way to observe and understand various networking phenomena under various conditions. Traditionally, researchers would run a serial network simulator on a workstation for a time period to obtain certain results. However, as the demand to simulate larger and more complex networks increases, the limited computing capacity of a single workstation and the limited simulation capability of a single network simulator have become apparent obstacles to the simulationists. In this thesis we develop techniques that can scale up a simulation to address the limited capacity of a single workstation, as well as techniques that can compose a simulation from different simulator components to address the limited capability of a single network simulator. We scale up a simulation with two different approaches, namely (1) reducing resource requirement of a simulation so that larger simulation can fit into one single workstation; and (2) partitioning a simulation model in a way that makes the best use of the resources of the available computer cluster, and distribute the simulation onto the different processors of the computer cluster to obtain the best parallel simulation performance. On the other hand we also consider techniques for building complex network simulations by composing from independent components. When different existing simulators excel at different protocol layers/scenarios, we can make each simulator execute the layers where it excels, using a simulation backplane to be the interface between different simulators. In this thesis, we demonstrate that these techniques enable us to not only scale up simulations by orders of magnitude with a good performance, but also compose complex simulations with high fidelity.