Dropless ingress at linerate
There are applications and use cases which don’t need to see every UDP packet, but then there are technologies where every single byte matters.
Especially in trading the loss of a packet results in a costly operation. The application will have to request missing packets to be retransmitted via TCP. In streaming video, the drop of a frame when capturing images from a high speed camera can be neglected. Just blink at the same time ;)
We see some nice enhancements for UDP here:
but doubt this will result in a dropless UDP ingress especially for tiny messages. Once fore sure, it will also make sure your OS is busy, and RIO Sockets won’t come to the rescue :)
The biggest challenge for achieving linerate is that of using tiny packets. Linerate is however no problem for FastSockets. For 10GbE here is what libfsock does today: 14,42 Mpps for 1byte UDP packets. Compared to the theoretical maximum considering the Ethernet frame of 64Bytes and Header of 20Bytes to be of 14,88Mpps :
14,88 Mpps = 10000MBit/s / ((64Byte + 20 Byte) * 8 Bit/Byte)
It can do both : generate traffic at linerate, but also receive at linerate. No drops. That’s via kernel bypass techniques and yes, for RX it will keep one of your cores busy at 100% while the OS stays idle.
Results
We present the following sink rates, having two ExaNIC X25 in point2point and using a 4 way threaded sender filling TX buffers with PIO and having a single threaded sinker , no drops, showing the following results :
14425486 pkts in 1.0 secs (14425485 pps), Pkt: 1, BW (Gbps): 0.115
14425355 pkts in 1.0 secs (14425353 pps), Pkt: 1, BW (Gbps): 0.115
14425440 pkts in 1.0 secs (14425430 pps), Pkt: 1, BW (Gbps): 0.115
14425427 pkts in 1.0 secs (14425419 pps), Pkt: 1, BW (Gbps): 0.115
14425530 pkts in 1.0 secs (14425455 pps), Pkt: 1, BW (Gbps): 0.115
14425356 pkts in 1.0 secs (14425354 pps), Pkt: 1, BW (Gbps): 0.115
Impressive !!!
We should add that the RX part of this assessment provides you with hardware timestamping in nano- , even picoseconds resolution at no extra cost. Now, that’s even more impressive.
Let’s conclude: A dropless technology with nano-, picosecond resolution/accuracy... Doesn’t this sound like a wonderful platform for a capture solution??
ps: the above measurements are using Windows Server 2016 but Linux users will experience the same results.
References:
libfsock: http://www.fastsockets.com — your source for high performance network solutions #latency_matters