Network experimentation tools are vitally important to the process of developing, evaluating, and testing distributed systems. The state-of-the-art simulation tools are either prohibitively inefficient at large scales or are limited by nontrivial architectural challenges, inhibiting their widespread adoption. In this paper, we present the design and implementation of Phantom, a novel tool for conducting distributed system experiments. In Phantom, a discrete-event network simulator directly executes unmodified applications as Linux processes and innovatively synthesizes efficient process control, system call interposition, and data transfer methods to co-opt the processes into the simulation environment. Our evaluation demonstrates that Phantom is up to 2.2× faster than Shadow, up to 3.4× faster than NS-3, and up to 43× faster than gRaIL in large P2P benchmarks while offering performance comparable to Shadow in large Tor network simulations.
Co-Opting Linux Processes for High-Performance Network Simulation (2022)
Why This Matters
Phantom introduces a groundbreaking approach to network simulation by directly executing unmodified Linux applications, significantly improving performance and scalability. This advancement enables more efficient testing of distributed systems, which is crucial for the development of robust, high-performance network infrastructure. The tool's ability to outperform existing simulators at large scales can accelerate innovation and reduce costs in network research and development.
Key Takeaways
- Phantom achieves up to 2.2× faster performance than Shadow.
- It enables large-scale network experiments with improved efficiency.
- The approach simplifies simulation of distributed systems without modifying applications.
Get alerts for these topics