Discussing the Homa paper - Replacing TCP for the Datacenter | The Backend Engineering Show

In this episode of the backend engineering show I go through and discuss the Homa Protocol paper which attempts to replace TCP as a protocol in the data centers. I learned a lot from this paper, I have my criticisms of certain aspects of course .

It appears there is a path to replace TCP in the datacenter and professor John tries to explain this path.

Timestamps for topics discussed below.

Referenced materials mentioned in the episode
Overview paper
https://web.stanford.edu/~ouster/cgi-bin/papers/replaceTcp.pdf

Homa 2018 paper (Details)
https://people.csail.mit.edu/alizadeh/papers/homa-sigcomm18.pdf

NIC Offloading in Linux
https://en.wikipedia.org/wiki/TCP_offload_engine#Support_in_Linux

Curl disabling Nigel Algo
https://github.com/curl/curl/commit/4732ca5724072f132876f520c8f02c7c5b654d9

0:00 Intro
3:00 The nature of networking data center
5:30 TCP Segments
7:30 There is no “Request” in TCP
12:00 What so unique about Data centers?
14:00 Message Throughput vs Data throughput
18:25 Congestion Control
22:38 Homa’s Congestion Control
25:00 Server Core Load Balancing
28:30 NIC offloading
30:00 Everything Wrong about TCP
37:00 Why not QUIC?
40:00 Limitation of Streaming
44:10 Load Balancing Stream Reading
47:15 Can we treat Segments as Messages?
51:00 Dispatching Messages is Easier
53:00 Connection Orientation
1:00:00 Sender Driven Congestion Control
1:03:00 In Order Packet Delivery
1:07:00 DCTCP
1:08:30 Homa is Message Based
1:11:00 Home is Connection Less
1:12:00 Receiver Driven Congestion Control
1:15:19 Out of Order Packets
1:16:20 Homa API is not Compatible with TCP
1:17:40 Will Homa come to HTTP?
1:18:45 Conclusion

Fundamentals of Networking for Effective Backends udemy course (link redirects to udemy with coupon)
https://network.husseinnasser.com

Fundamentals of Database Engineering udemy course (link redirects to udemy with coupon)
https://database.husseinnasser.com

Introduction to NGINX (link redirects to udemy with coupon)
https://nginx.husseinnasser.com

Python on the Backend (link redirects to udemy with coupon)
https://python.husseinnasser.com

Become a Member on YouTube
https://www.youtube.com/channel/UC_ML5xP23TOWKUcc-oAE_Eg/join

Arabic Software Engineering Channel
https://www.youtube.com/channel/UChWZsjdoRvZ0T9QWZOD6UpA

🔥 Members Only Content
https://www.youtube.com/playlist?list=UUMO_ML5xP23TOWKUcc-oAE_Eg

🏭 Backend Engineering Videos in Order
https://backend.husseinnasser.com

💾 Database Engineering Videos
https://www.youtube.com/playlist?list=PLQnljOFTspQXjD0HOzN7P2tgzu7scWpl2

🎙️Listen to the Backend Engineering Podcast
https://husseinnasser.com/podcast

Gears and tools used on the Channel (affiliates)

🖼️ Slides and Thumbnail Design
Canva
https://partner.canva.com/c/2766475/647168/10068

Stay Awesome,
Hussein

Home