Homa, a transport protocol to replace TCP for low-latency RPC in data centers
Horusiath 2021-08-17 05:08:25 +0000 UTC [ - ]
MisterTea 2021-08-17 17:33:31 +0000 UTC [ - ]
http://doc.cat-v.org/plan_9/4th_edition/papers/il/
(edit: forgot to mention IL is still usable on plan 9)
Ericson2314 2021-08-17 06:48:44 +0000 UTC [ - ]
mosseater 2021-08-17 03:33:07 +0000 UTC [ - ]
wmf 2021-08-17 03:40:29 +0000 UTC [ - ]
bcrl 2021-08-17 13:33:34 +0000 UTC [ - ]
wmf 2021-08-17 21:43:09 +0000 UTC [ - ]
bcrl 2021-08-18 13:45:24 +0000 UTC [ - ]
bullen 2021-08-17 09:06:00 +0000 UTC [ - ]
magicalhippo 2021-08-17 09:44:31 +0000 UTC [ - ]
If a link is saturated, say via TCP, then UDP data can still get dropped AFAIK.
Searching I found this blog post[1] which takes a small stab at it. Would be interesting to try other setups with more data.
Regardless, using UDP one should always be prepared to handle dropped and out-of-order packets.
bullen 2021-08-17 11:12:10 +0000 UTC [ - ]
Nothing is perfect, so I'll keep using UDP on a switch and TCP on the internet.
Hikikomori 2021-08-17 12:33:18 +0000 UTC [ - ]
If send a 1Gbit udp stream over a switch to another machine there will be no drops if both are connected with 1Gbit, the same is true if you use tcp, and over a router assuming its capable of forwarding that amount of traffic. If you have a third machine sending udp or tcp traffic towards the one receiving the 1Gbit udp stream you'll have drops on both streams. Doesn't matter what protocol you use, if you have congestion you'll have drops. You typically use udp if your application is real time, or if you want to create your own reliability mechanism and/or avoid issues with devices in the middle that does things with tcp.
magicalhippo 2021-08-17 13:05:12 +0000 UTC [ - ]
However they can still occur, maybe due to some unexpected congestion or other issues. So long as your application can deal with that you should be good.
nitrogen 2021-08-17 13:59:47 +0000 UTC [ - ]
Like intermittent EMI causing bit flips and checksum failures, which happened to me once in an IoT application where the Ethernet cable to an outbuilding was buried next to the power line, and the network would die whenever the furnace kicked on.
bullen 2021-08-17 14:25:17 +0000 UTC [ - ]
magicalhippo 2021-08-17 15:09:22 +0000 UTC [ - ]
Nice review by ServeTheHome here[2].
[1]: https://mikrotik.com/product/crs305_1g_4s_in
[2]: https://www.servethehome.com/mikrotik-crs305-1g-4sin-review-...
bullen 2021-08-17 17:00:34 +0000 UTC [ - ]
Edit: Apparently LGS105/LGS108 has 10Gb/s switching capacity allready so I'm good!
vlovich123 2021-08-17 03:54:41 +0000 UTC [ - ]
tyingq 2021-08-17 04:44:21 +0000 UTC [ - ]
FrancoisBosun 2021-08-17 04:37:09 +0000 UTC [ - ]
wmf 2021-08-17 05:39:37 +0000 UTC [ - ]
ngcc_hk 2021-08-17 09:12:01 +0000 UTC [ - ]
The ospf vs Bgp and within organisation why not …
gardaani 2021-08-17 05:15:37 +0000 UTC [ - ]
KaiserPro 2021-08-17 12:53:33 +0000 UTC [ - ]
Quic is basically the weird semantics of http2 transmuted to UDP with some retransmission logic. But everything is hilariously complex.
zozbot234 2021-08-17 05:22:58 +0000 UTC [ - ]
touisteur 2021-08-17 15:25:45 +0000 UTC [ - ]
baybal2 2021-08-17 06:52:39 +0000 UTC [ - ]
If you have fabric determinism like Infiniband, and capacity reservation on the receiving side, you can just dispose of connection paradigm, flow control, and thus get great deal of performance, while simplifying everything at the same time.
I do not see much use of it though unless you are building something like an airplane.
The uncounted PhD hours spent on getting networks to work well do amount to something.
Dealing with RDMA aware networking is far beyond the ability of typical web developers.
Deterministic Ethernet switches cost a fortune, and are lagging behind the broader Ethernet standard by many years.
Making a working capacity reservation setup takes years to perfect as well.
99.9999...% of web software will most likely *lose* performance if blindly ported to RDMA enabled database, message queue server, or caching.
If you don't know how the upoll, or iouring like mechanisms work, you can not get any benefit out of RDMA whatsoever
I once worked for a subcontractor for Alibaba's first RDMA enabled datacentre.
ergl 2021-08-17 08:03:13 +0000 UTC [ - ]
Homa is designed for traffic inside a DC, same as RDMA or Infiniband. I don't think anyone is proposing to use it for normal web traffic.
eternalban 2021-08-17 13:20:32 +0000 UTC [ - ]
touisteur 2021-08-17 15:28:15 +0000 UTC [ - ]
ggm 2021-08-17 04:10:47 +0000 UTC [ - ]
Basically: yes, within a DC which is heading to some kind of traefik or HAproxy or other redirection/sharder, this could make sense. So.. how does this 2018 approach stack up in 2021
ithkuil 2021-08-17 09:02:44 +0000 UTC [ - ]
ggm 2021-08-17 10:58:02 +0000 UTC [ - ]
I don't want to overdo the curmudgeon thing: I'm really glad they've started to deploy dual stack, it's long b overdue. And remember that Google has been a strong proponent of v6 in Android and in ietf standards across the board.
ithkuil 2021-08-17 12:37:46 +0000 UTC [ - ]
As for GKE that's another pair of shoes, probably more related to configuring calico and friends and less about limitations in the low level network fabric.
As for Google API, I read somewhere that they disabled it because billing exemption wasn't ready.
hardwaresofton 2021-08-17 09:29:50 +0000 UTC [ - ]
A meta note but it struck me that seeing "traefik" where NGINX usually is is pretty fascinating. I rate it highly because of it's support for k8s (I've written before about how wonderful I think it is) but am somewhat unaware of how widely it's known. Guess it's pretty well known at this point if people casually mention it (then again, the audience is HN after all)!
ggm 2021-08-17 10:59:31 +0000 UTC [ - ]