Io_uring, kTLS and Rust for zero syscall HTTPS server
blog.habets.se
Io_uring, kTLS and Rust for zero syscall HTTPS server
1–10 of 173 posts
Re: Io_uring, kTLS and Rust for zero syscall HTTPS server
#2I can recommend writing even the BPF side of things with rust using Aya[1].
Re: Io_uring, kTLS and Rust for zero syscall HTTPS server
#3Re: Io_uring, kTLS and Rust for zero syscall HTTPS server
#4Re: Io_uring, kTLS and Rust for zero syscall HTTPS server
#5Whats the goto instead of strace, if you wanted to see what was going on?
Re: Io_uring, kTLS and Rust for zero syscall HTTPS server
#6Your write up connected some early knowledge from when I was 11 where I was trying to set up a database/backend and was finding lots of cgi-bin online. I realize now those were spinning up new processes with each request https://en.wikipedia.org/wiki/Common_Gateway_Interface
I remember when sendfile became available for my large gaming forum with dozens of TB of demo downloads. That alone was huge for concurrency.
I thought I had swore off this type of engineering but between this, the Netflix case of extra 40ms and the GTA 5 70% load time reduction maybe there is a lot more impactful work to be done.
https://netflixtechblog.com/life-of-a-netflix-partner-engine...
https://nee.lv/2021/02/28/How-I-cut-GTA-Online-loading-times...
Re: Io_uring, kTLS and Rust for zero syscall HTTPS server
#7Re: Io_uring, kTLS and Rust for zero syscall HTTPS server
#8Re: Io_uring, kTLS and Rust for zero syscall HTTPS server
#9> The io-uring crate doesn’t help much with this. The API doesn’t allow the borrow checker to protect you at compile time, and I don’t see it doing any runtime checks either.
I've seen comments like this before[1], and I get the impression that building a a safe async Rust library around io_uring is actually quite difficult. Which is sort of a bummer.
IIRC Alice from the tokio team also suggested there hasn't been much interest in pushing through these difficulties more recently, as the current performance is "good enough".
Re: Io_uring, kTLS and Rust for zero syscall HTTPS server
#10> For example when submitting a write operation, the memory location of those bytes must not be deallocated or overwritten. > The io-uring crate doesn’t help much with this. The API doesn’t allow the borrow checker to protect you at compile time, and I don’t see it doing any runtime checks either. I've seen comments like this before[1], and I get the impression that building a a safe async Rust library around io_urin…