Moving past TCP in the data center, part 1
Moving past TCP in the data center, part 1
Posted Nov 2, 2022 4:13 UTC (Wed) by willy (subscriber, #9762)In reply to: Moving past TCP in the data center, part 1 by Cyberax
Parent article: Moving past TCP in the data center, part 1
They still saw an advantage to maintaining a connection in order to manage reliable service. I don't know that was the right choice, but I'm looking forward to reading about Homa's design decisions.
Posted Nov 2, 2022 4:50 UTC (Wed)
by Cyberax (✭ supporter ✭, #52523)
[Link] (6 responses)
The idea was dead simple: just throw away EVERYTHING.
The network layer simply used fixed-size jumbo Ethernet frames and a request could contain up to 4 of them. The sender simply sent them one by one. No retransmissions or buffering, so the code was dead simple.
The receiver simply reassembled the frames into a buffer. Since the frame sizes were fixed, only 1 data copy was necessary (or none, if a request fits into 1 packet). No NAKs, ACKs or anything was needed, just a simple timer to discard the data and fail the request in case of a timeout due to a lost packet.
Everything else was handled on the upper levels. E.g. a packet loss simply got translated into a timeout error from the RPC layer. Instead of a network-level retry, regular retry policy for the service calls was used. It worked surprisingly well in experiments, and actually had a very nice property of making sure that the network congestion pressure rapidly propagates upstream.
Posted Nov 2, 2022 9:21 UTC (Wed)
by amboar (subscriber, #55307)
[Link]
Posted Nov 2, 2022 12:36 UTC (Wed)
by paulj (subscriber, #341)
[Link] (3 responses)
NFS was of course RPC over UDP based too.
Posted Nov 2, 2022 21:12 UTC (Wed)
by amarao (guest, #87073)
[Link] (2 responses)
Posted Nov 2, 2022 21:32 UTC (Wed)
by joib (subscriber, #8541)
[Link]
Should also be noted that current Linux kernels actually no longer support NFS over UDP.
Posted Nov 3, 2022 9:52 UTC (Thu)
by paulj (subscriber, #341)
[Link]
Posted Nov 10, 2022 1:06 UTC (Thu)
by TheJosh (guest, #162094)
[Link]
Moving past TCP in the data center, part 1
Moving past TCP in the data center, part 1
Moving past TCP in the data center, part 1
Moving past TCP in the data center, part 1
Moving past TCP in the data center, part 1
Moving past TCP in the data center, part 1
Moving past TCP in the data center, part 1
