What does HackerNews think of onload?

OpenOnload high performance user-level network stack

Language: C

HFT is relative. But here's one thing that is actually used in many firms: https://github.com/Xilinx-CNS/onload (and correspondingly these network cards: https://www.xilinx.com/products/boards-and-kits/alveo/x3.htm...)
Yet another academic work in the OS space that should have been tested against the the state of the art in (commercially backed) networking space.

From the abstract:

> However, none of these systems offer a general-purpose datapath OS replacement that meet the needs of µs-scale systems

One of the key points that the authors use to motivate their work is that using kernel bypass technologies is hard because it requires software engineers to rearchitect their code.

Call me sceptical of that claim. I can think of 3 (open source) systems that provide drop-in replacement network interfaces for existing software, but offer nanosecond (not microsecond!) scale performance.

- Solarflare/Xilinx Open Onload - https://github.com/Xilinx-CNS/onload

- Exablaze/Cisco - ExaSOCK - https://github.com/cisco/exanic-software

- Melanox/NVidia VMA - https://github.com/Mellanox/libvma

With each of the above systems, they are designed to offer low latency network stack replacement for existing applications, without code modification or even recompilation. Exactly the authors’ goals.

But there is not a single reference to any of these technologies in the paper. And crucially no comparison to any of them in the evaluation.

The authors seem blissfully unaware of what work has actually been done to solve these problems. Which makes the contributions of the paper … somewhat dubious.

How about the x2 or Alveo series from Xilinx? It is basically the original definer of smartnic.

It comes from solarflare who have a long pedigree of low-latency smartnics. They used to supply Cloudflare, and also supply like 50% of fintechs/financial markets.

You can also just use openonload to accelerate your programs. In this case just doing straight linux socket programming, which can be accelerated without dpdk. Or just use the open source linux net driver if necessary.

https://github.com/Xilinx-CNS/onload