John Ousterhout examines TCP and Homa coexistence. Initial measurements show that when running TCP and Homa concurrently, TCP performs slightly better than Homa because Homa reduces its buffer utilization. However, over time Homa degrades badly because TCP selfishly fails to reciprocate and overloads buffers.
John introduces homa_qdisc, a queuing discipline that paces both protocols' traffic, implements SRPT for Homa and limited SRPT for TCP, and balances output during congestion. Results? with homa_qdisc, both protocols improve. When running concurrently—Homa suffers only slight degradation, and TCP latency improves. Even better: TCP on its own rips the benefits of the homa_qdisc: with tail latency for short messages nearly halving versus fq_codel.
Come and engage with John!
cheers, jamal