Swing: Generating Realistic Background Packet Traces for Large-Scale Internet Topologies
Kashi Venkatesh Vishwanath, Amin M. Vahdat · 2004
One important question facing both network designers and distributed application developers is the interaction of the communication of a single network service or application with aggregate background traffic conditions. Unfortunately, network services are evaluated with typically no competing background traffic or, in the best case, ad hoc and simplistic traffic models. A related question is the effect that widely varying network traffic patterns have on network planning and resource allocation. For instance, the predicted growth of one application versus another (e.g., multimedia versus instant messaging) may have dramatically different impacts on a network’s traffic matrix. Yet, there is currently no way to quantify such effects. Thus, this paper proposes Swing, a flexible workload generator that accurately captures the packet interactions of a wide variety of applications based on a simple set of parameters. Our initial implementation includes settings for HTTP, P2P, and multimedia applications. We verify the accuracy of our application models by extracting application characteristics from available large-scale packet traces and by validating our generated traces against these same traces. We run Swing in ModelNet, a scalable and accurate network emulator to evaluate the interactions of distributed applications with a variety of traffic mixes. We show how to use these runs to measure dynamically changing router queue occupancy to “play back” realistic background traffic scenarios without actually generating any traffic. Finally, we use Swing to model the effect of traffic scenarios and topology on aggregate network load, for instance, as a network planning tool.