TL;DR
MoonGen is a highly flexible, scriptable high-speed packet generator capable of saturating 10 GbE links with minimal CPU resources, utilizing hardware features and custom scripting for precise latency measurement and high throughput.
Contribution
It introduces MoonGen, a novel software-based packet generator that achieves hardware-like performance and flexibility using commodity hardware and Lua scripting.
Findings
Achieved up to 178.5 Mpps at 120 Gbit/s throughput.
Enabled precise latency measurement with sub-microsecond accuracy.
Provided hardware feature utilization previously unavailable in software generators.
Abstract
We present MoonGen, a flexible high-speed packet generator. It can saturate 10 GbE links with minimum sized packets using only a single CPU core by running on top of the packet processing framework DPDK. Linear multi-core scaling allows for even higher rates: We have tested MoonGen with up to 178.5 Mpps at 120 Gbit/s. We move the whole packet generation logic into user-controlled Lua scripts to achieve the highest possible flexibility. In addition, we utilize hardware features of Intel NICs that have not been used for packet generators previously. A key feature is the measurement of latency with sub-microsecond precision and accuracy by using hardware timestamping capabilities of modern commodity NICs. We address timing issues with software-based packet generators and apply methods to mitigate them with both hardware support on commodity NICs and with a novel method to control the…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
