m4: A Learned Flow-level Network Simulator
This work addresses the scalability-accuracy trade-off in data center network simulation, offering a practical tool for network engineers and researchers, though it is incremental in applying ML to an existing bottleneck.
The paper tackled the inaccuracy of flow-level network simulators by introducing m4, a learned simulator that uses machine learning to model network dynamics, achieving up to 104x speedup over packet-level simulation and reducing per-flow estimation errors by 45.3% on average.
Flow-level simulation is widely used to model large-scale data center networks due to its scalability. Unlike packet-level simulators that model individual packets, flow-level simulators abstract traffic as continuous flows with dynamically assigned transmission rates. While this abstraction enables orders-of-magnitude speedup, it is inaccurate by omitting critical packet-level effects such as queuing, congestion control, and retransmissions. We present m4, an accurate and scalable flow-level simulator that uses machine learning to learn the dynamics of the network of interest. At the core of m4 lies a novel ML architecture that decomposes state transition computations into distinct spatial and temporal components, each represented by a suitable neural network. To efficiently learn the underlying flow-level dynamics, m4 adds dense supervision signals by predicting intermediate network metrics such as remaining flow size and queue length during training. m4 achieves a speedup of up to 104$\times$ over packet-level simulation. Relative to a traditional flow-level simulation, m4 reduces per-flow estimation errors by 45.3% (mean) and 53.0% (p90). For closed-loop applications, m4 accurately predicts network throughput under various congestion control schemes and workloads.