News for hackers. Stuff that matters.
Re:SSDs Have Become Fast, Except in the Cloud by KaiserPro on Tuesday February 20, 2024 @03:05PM (#39446206)
Networks are not reliable, despite what you hear, so latency is used to mask re-tries and delays.

The other thing to note about big inter-DC links are heavily QoS'd and contented, because they are both expensive and a bollock to maintain.

Also, from what I recall, 40gig links are just parallel 10 gig links, so have no lower latency. I'm not sure if 100/400 gigs are ten/fourty lines of ten gigs in parallel or actually able to issue packets at 10/40 times a ten gig link. I've been away from networking too long

Re:SSDs Have Become Fast, Except in the Cloud by wmf on Tuesday February 20, 2024 @04:12PM (#39446971)
40gig links are just parallel 10 gig links, so have no lower latency

That's not correct. Higher link speeds do have lower serialization latency, although that's a small fraction of overall network latency.

Re:SSDs Have Become Fast, Except in the Cloud by scottlamb on Tuesday February 20, 2024 @03:08PM (#39446231)
> Networks are not reliable, despite what you hear, so latency is used to mask re-tries and delays.

Of course, but even the 50%ile case is strangely slow, and if that involves retries something is deeply wrong.

Re:SSDs Have Become Fast, Except in the Cloud by KaiserPro on Tuesday February 20, 2024 @03:17PM (#39446331)
You're right, but TCP doesn't like packets being dropped halfway through a stream. If you have a highly QoS'd link then you'll see latency spikes.
Re:SSDs Have Become Fast, Except in the Cloud by scottlamb on Tuesday February 20, 2024 @03:38PM (#39446582)
Again, I'm not talking about spikes (though better tail latency is always desirable) but poor latency in the 50%ile case. And for high-QoS applications, not batch stuff. The snap paper linked elsewhere in the thread shows 10 µs latencies; they've put in some optimization to achieve that, but I don't really understand why we don't expect close to that with standard kernel networking and TCP.
Re:SSDs Have Become Fast, Except in the Cloud by vitus on Tuesday February 20, 2024 @07:06PM (#39448620)
> The snap paper linked elsewhere in the thread shows 10 µs latencies; they've put in some optimization to achieve that, but I don't really understand why we don't expect close to that with standard kernel networking and TCP.

You can get similar results by looking at comparisons between DPDK and kernel networking. Most of the usual gap comes from not needing to context-switch for kernel interrupt handling, zero-copy abstractions, and busy polling (wherein you trade CPU for lower latency instead of sleeping between iterations if there's no work to be done).

https://talawah.io/blog/linux-kernel-vs-dpdk-http-performanc... goes into some amount of detail comparing request throughput of an unoptimized kernel networking stack, optimized kernel networking stack, and DPDK. I'm not aware of any benchmarks (public or private) comparing Snap vs DPDK vs Linux, so that's probably as close as you'll get.

Re:SSDs Have Become Fast, Except in the Cloud by CoolCold on Wednesday February 21, 2024 @12:35AM (#39450493)
Great reading, thanks for the link on vanilla vs dpdk
Re:SSDs Have Become Fast, Except in the Cloud by scottlamb on Wednesday February 21, 2024 @01:18PM (#39457390)
Thanks for the link. How does this compare to the analogous situation for SSD access? I know there are also userspace IO stacks for similar reasons, but it seems like SSD-via-kernel is way ahead of network-via-kernel in the sense that it adds less latency per operation over the best userspace stack.
Re:SSDs Have Become Fast, Except in the Cloud by vitus on Wednesday February 21, 2024 @06:56PM (#39461329)
I can't say offhand, since I don't have much experience with storage.

I'd expect that most of the work from a SSD read is offloaded to the disk controller, which presumably uses DMA, and you don't have nearly as many round trips (a sequential read can be done with a single SCSI command).

I'm inclined to agree with the explanation given by other commenters that the limiting factor for SSD r/w speeds in the cloud is due to throttling in the hypervisor to provide users with predictable performance as well as isolation in a multitenant environment.