MoonGen A Scriptable High-Speed Packet Generator Paul Emmerich March 4th, 2015 Chair for Network Architectures and Services Department of Informatics ¨ Munchen Technische Universitat ¨
Paul Emmerich
MoonGen – A Scriptable High-Speed Packet Generator
1/13
Chair for Network Architectures and Services
¨ Munchen Technische Universitat ¨
Agenda
State of the Art in Packet Generation
High-Speed Multi-Core Packet Processing with DPDK and LuaJIT
Hardware Timestamping on Commodity NICs
Precise Rate Control
Paul Emmerich
MoonGen – A Scriptable High-Speed Packet Generator
2/13
Chair for Network Architectures and Services
¨ Munchen Technische Universitat ¨
State of the Art
I
Hardware Packet Generators I I I I
Paul Emmerich
(+) Precise & accurate (timestamps, rate control) (+) Fast (–) Inflexible (–) Expensive
MoonGen – A Scriptable High-Speed Packet Generator
3/13
Chair for Network Architectures and Services
¨ Munchen Technische Universitat ¨
State of the Art
I
Hardware Packet Generators I I I I
I
Software Packet Generators I I I
I I
Paul Emmerich
(+) Precise & accurate (timestamps, rate control) (+) Fast (–) Inflexible (–) Expensive (+) Run on cheap commodity hardware (+) Some are fast ( ) Some are flexible to a certain degree (e.g. Pktgen-DPDK, Ostinato) (–) Imprecise (timestamps, rate control) (–) Inaccurate (timestamps)
MoonGen – A Scriptable High-Speed Packet Generator
3/13
Chair for Network Architectures and Services
¨ Munchen Technische Universitat ¨
Design Goals
Design Goal of MoonGen Combine the advantages of both approaches while avoiding their disadvantages.
Paul Emmerich
MoonGen – A Scriptable High-Speed Packet Generator
4/13
Chair for Network Architectures and Services
¨ Munchen Technische Universitat ¨
Design Goals
Design Goal of MoonGen Combine the advantages of both approaches while avoiding their disadvantages. I
Fast: DPDK for packet I/O, explicit multi-core support
I
Flexible: Craft all packets in user-controller Lua scripts
I
Timestamping: Utilize hardware features found on modern commodity NICs
I
Rate control: Hardware features and a novel software approach
Paul Emmerich
MoonGen – A Scriptable High-Speed Packet Generator
4/13
¨ Munchen Technische Universitat ¨
Chair for Network Architectures and Services
Lua VM
Userscript
Architecture Lua VM
Lua VM
Userscript Userscript
Userscript master
slave
spawn
MoonGen
config API
data API MoonGen Core
config API
data API DPDK
HW
Q0 ... Qn NIC
NIC Port
Paul Emmerich
MoonGen – A Scriptable High-Speed Packet Generator
5/13
Chair for Network Architectures and Services
¨ Munchen Technische Universitat ¨
Hardware Timestamping
I
NICs support PTP for precise clock synchronization
I
PTP support requires hardware timestamping capabilities
I
These can be (mis-)used for delay measurements Typical precision
I
I I
I
Some restrictions I I
Paul Emmerich
±6.4 ns (Intel 10 GbE chips) ±32 ns (Intel GbE chips) Packets must be UDP or PTP L2 protocol Minimum UDP packet size is 84 bytes
MoonGen – A Scriptable High-Speed Packet Generator
Timestamping Precision and Accuracy The linear behaviour and reasonable results for coding time and propagation speed show that MoonGen can measure latency with sub-microsecond precision and accuracy.
Paul Emmerich
MoonGen – A Scriptable High-Speed Packet Generator
7/13
¨ Munchen Technische Universitat ¨
Chair for Network Architectures and Services
Software Rate Control in Existing Packet Generators Loadgen p5
DuT NIC
p5
Qmemory
NIC p4
QNIC
p3
p2
p1 p0
Wire
I
Try to push single packets to the NIC
I
Queues cannot be used, no batch processing
I
NICs work with an asynchronous push-pull model
I
Can lead to micro-bursts
I
Unreliable, imprecise, and bad performance
Paul Emmerich
MoonGen – A Scriptable High-Speed Packet Generator
8/13
¨ Munchen Technische Universitat ¨
Chair for Network Architectures and Services
Hardware Rate Control
Loadgen p9 p9 p8 p7
Qmemory
HW rate control enabled
DuT
NIC p6 p5
QNIC
NIC p4
p3
p2
Wire
I
Modern NICs support rate control in hardware
I
Limited to constant bit rate and bursty traffic
I
Precision controlled by the hardware
I
High performance as queues can be used
Paul Emmerich
p1 p0
MoonGen – A Scriptable High-Speed Packet Generator
MoonGen – A Scriptable High-Speed Packet Generator
16/13
¨ Munchen Technische Universitat ¨
Chair for Network Architectures and Services
[Backup Slide] Effects of Bad Rate Control I
Interrupt rate of an Open vSwitch packet forwarder
Interrupt Rate [Hz]
·105 1.5
Load generated with MoonGen Load generated with zsend
1 0.5 0
0
0.5
1 1.5 Offered Load [Mpps]
2
I
Micro-bursts confuse dynamic interrupt throttling
I
This affects latency (cannot be measured with zsend)
Paul Emmerich
MoonGen – A Scriptable High-Speed Packet Generator
17/13
¨ Munchen Technische Universitat ¨
Chair for Network Architectures and Services
[Backup Slide] Effects of Invalid Packets Median latency of an Open vSwitch packet forwarder
I
Packet rate controlled by hardware vs. invalid frames Deviation [%]
I
I
Paul Emmerich
4 2 0 −2 −4
0
0.5 1 1.5 Offered Load [Mpps]
2
Minor modifications to the DuT (e.g. an active SSH session) result in a deviation of up to 15% with the same rate control mechanism MoonGen – A Scriptable High-Speed Packet Generator
MoonGen - A Scriptable High-Speed Packet Generator - GitHub
Mar 4, 2015 - Chair for Network Architectures and Services. Technische ... Paul Emmerich. MoonGen â A Scriptable High-Speed Packet Generator. 1/13 ...
Applications call sendto to place packet in socket buffer. Interface takes packet from socket buffer and places it in discrete event queue. Packets taken from ...
Master thesis submitted for the degree of MSc in Computer Science .... The goal of this final year project was to develop a test-bed to evaluate .... Chapter 1. Event-driven network applications. Rusty interacts with the application layer through ...
Page 1. Raspberry Pi Packet TNC,. APRS Digipeater, IGate. Version 1.4 â April 2017 â Updates for ..... https://learn.adafruit.com/adafruits-raspberry-pi-lesson-3-network-setup .... This is covered in the separate document, Raspberry-Pi-APRS-Track
Minecraft Hacked Games next game, channel for Code Generator Minecraft Hive Premium Hack Downloadgame today, Code Generator. Minecraft Generator Recipe what time do the Free Game Generator Codes Minecraft Games Online MultiplayerVideo Games Code. Gen
B. User ID setting. D. Sleeping Time Setting. E. Mode Setting. Memory Mode. Normal Mode. 8. 9. CHSET. 6. Data Count. 60 Seconds. 5 Minutes. Data Delete.
Nov 14, 2016 - Responsible for the crafting of communications strategies, through website, social media email and traditional media and the development and ...
focused spatial data infrastructure for South Sudan. Overview ... independence analysis of the same resources, policies and features. ... Africover. LULC PDF.
Aug 18, 2017 - evidenced by a June 28, 2017 âtweetâ from the @Sci_Hub Twitter account stating: âAmerican Chemical Society files suit against Sci-Hub .
But, the width of DNA is about 2 nm so its volume is less than the nucleus. The trick it to wind ...... github.io/BigJob/sphinxdoc/install/redis.html. [4] SAGA-BigJob.
policy, and âbig dataâ issues in the geosciences including the design and construction ... novel applications of machine learning and data science to the analysis .... Aerosol-Cloud-Climate Interactions. Seattle, WA. 2017. |. PDF. Rothenberg,D.
to present a viable alternative energy source. ... ii. Acknowledgments. I am very grateful to my supervisor, Professor Shaker Meguid, for agreeing to supervise.
Free Psn Generator App ... Navelgazing Midwife Blog - Okay, so she was a footling . ... Generator Codes on Android phone, Free Game Generator Codes Psn ...
network stack implementations, from the system call layer to the hardware network ..... ing receiver ACK that completed the three-way hand- shake [10], and TFO ...
Directions: The following questions are sample items similar to those found on the EOC Exam. Answer each to the best of your ability. Show all work on a ...
1) List the Math skills and concepts that you are most confident with. In other words, which problems were the easiest for you to solve? (example⦠order of ...
prepared, they will get much more out of the clinic. Please bring all necessary equipment. (ie: bandages, record ... May other attendees ride his/her mount? ______. Does this mount work well in groups? ... PAYMENT IS DUE WITH REGISTRATION. Questions?
See our non-profit green energy site here: Must fan cool R7 and R8 if running circuit any longer than 60 seconds. This is a test ... Welcome to the Redstone Time ...
4) Write two personal Math goals to strive towards this school year. For example⦠This year in Math class, I hope to memorize my Math facts. I also want to get better at solving word problems.
Intellectual property: why do we care (as researchers)?. Things created in research. â· Scientific writings (articles, blog posts, . . . ) â· Data. â· Software. â· Other ...