« All posts

Phantom: Faster Network Simulation via Linux Process Co-Option

Phantom runs unmodified apps as Linux processes for network simulation, beating Shadow, NS-3, and gRaIL in large-scale benchmarks.

Phantom is a discrete-event network simulator that runs unmodified applications directly as Linux processes, combining efficient process control, system call interposition, and data transfer techniques to integrate them into a simulated network environment.

This approach targets the scalability limits and architectural complexity that have hindered adoption of existing distributed systems simulation tools. Benchmarks show Phantom outperforming Shadow by up to 2.2x, NS-3 by up to 3.4x, and gRaIL by up to 43x on large peer-to-peer workloads, while matching Shadow's performance in large-scale Tor network simulations.

For engineers building and testing distributed systems, Phantom offers a way to simulate realistic network conditions without modifying application code, making large-scale experimentation more practical at scale.