fwiw i don't really know what that machine was responsible for, i'd guess mostly reverse-proxying backend apis?
it's kinda funny to think that whatsapp were talking about (easily) handling 2 million concurrent connections on a 128GB / 2x6 core machine in 2012.
man it's one (terrible) thing to post trash blog articles that are llm generated but holy shit posting *comments* from an llm is absolutely fucking unhinged
It also makes me wonder a bit about fairness, I'd *guess* that multi-shots are round-robined into the ring? So you can't have say accept cqes starving progress of the existing connections on actual work?
I guess basically the approach you'd want to have ideally is something akin to an extra degree of backpressure based on the completion ring position. when you arm a multi-shot you can say "i want max N outstanding completions from this event" and then only ever queue that many into the completion ring.
having skimmed the code I can't see any kind of mechanism for backpressure, but it's very possible i missed something.
pending cqes are not bound by the size of the cqe ring buffer, and so will grow until you run out of memory essentially. i guess multishot accept could pay attention to how many cqes you've consumed to apply some backpressure on accepts, but it's certainly a lot different from the traditional approach of accept being an affirmative action from userspace, with integrated backpressure.
multishot accept in io-uring seems... interesting... conceptually. on the one hand, in a general sense I like just setting and forgetting. but on the other hand it's not exactly clear how this even works with relation to the socket backlog. if i have a multishot accept armed, does that mean the kernel is constantly taking incoming connections off the socket backlog, and accepting them, and then queuing that into a pending cqe - without any backpressure??!
Triangle Tessellation with Clamped Parallelograms
Hardware tessellation as we know it today (Dx11-style) had its origins on the Xbox 360, which released in 2005. Time flies, right? It was a natural step in the evolution toward film-quality realtime rendering. After all, tessellation was a key component of the original Pixar Reyes paper [7].
Filmic Worlds