▲ | The Case for a High-Level Kernel-Bypass I/O Abstraction (2019)(irenezhang.net) | |||||||||||||
61 points by eventhelix 7 months ago | 15 comments | ||||||||||||||
▲ | blibble 7 months ago | parent | next [-] | |||||||||||||
7-10us for what is a hashtable set/get is really, really bad I can get a packet out to a switch and back to another machine and in 1-2us | ||||||||||||||
| ||||||||||||||
▲ | joeblubaugh 7 months ago | parent | prev | next [-] | |||||||||||||
It’s really frustrating that the HotOS paper itself has no details about the benchmarking, and the blog post just says “redis benchmark”. What was the system setup? Persistence options? What was ported to demikernel? The client writing, the server reading from the NIC? Based on the problem specified in the paper, I assume its reading from the NIC that was implemented in DemiOS | ||||||||||||||
▲ | FridgeSeal 7 months ago | parent | prev | next [-] | |||||||||||||
This is a super cool idea, and it’s something that sounds fun to play with/try out. Therefore, I eagerly await the inevitable influx of: - “you don’t need it” - “you’re not FAANG enough to justify it”, -“seems overly complicated my Python-on-Ubuntu-is-good-enough and who needs more” Style comments telling us why we shouldn’t have fun things like this. Anyone got anymore comments to add to the bingo-card? | ||||||||||||||
| ||||||||||||||
▲ | kd913 7 months ago | parent | prev | next [-] | |||||||||||||
What is being asked for already exists? It is called Onload. | ||||||||||||||
| ||||||||||||||
▲ | secondcoming 7 months ago | parent | prev | next [-] | |||||||||||||
I looked at using DPDK on some of our GCP instances but it requires setting up a second VPC, which was one hurdle too much. I’m hoping that io_uring makes all of this unnecessary anyway. I recall reading a paper where someone noticed that for every packet the Linux kernel receives it has to check if any application has opened a raw socket. Raw sockets are initially needed to allow DHCP to work, so once your machine has been assigned an IP address you can (probably) turn this service off and so give the kernel less work to do. (My memory of the exact details may be sketchy). | ||||||||||||||
| ||||||||||||||
▲ | r00tbeer 7 months ago | parent | prev | next [-] | |||||||||||||
See https://irenezhang.net/papers/demikernel-sosp21.pdf for a more thorough paper on the Demikernel from 2021. There are some great ideas for improving the kernel interface while still allowing efficient DPDK-style pipelines. | ||||||||||||||
▲ | crest 7 months ago | parent | prev | next [-] | |||||||||||||
For a such an interface to be feasible to support in common open source infrastructure it needs a pure software implementation for testing and development purposes. Even better something along the lines of coz to even model performance by throttling down everything else proportionally. | ||||||||||||||
▲ | Gollapalli 7 months ago | parent | prev | next [-] | |||||||||||||
This is great! I think that there are a lot of latency sensitive applications which really do need to spare the kernel latency. | ||||||||||||||
▲ | 7 months ago | parent | prev [-] | |||||||||||||
[deleted] |