Contributing TCP HyStart

38 views
Skip to first unread message

Spike Curtis

unread,
Mar 27, 2024, 8:03:57 AM3/27/24
to gVisor Development [Public]
Hi gVisor devs,

We use gVisor's tcpip stack in a Go project and I am interested in increasing TCP performance, especially on paths with large bandwidth-delay product.  Digging in, it appears that CUBIC congestion control does not include HyStart, and I am looking into implementing it in gVisor. It's a significant undertaking so I want to ensure it can be merged, and I wanted to ask for some help.

I've read CONTRIBUTING.md, and that's all fine, but I was hoping to discuss the approach at a high level with a maintainer before getting down to the details, to avoid any design-level issues at code review.  I'd also like to discuss any specific requirements for testing beyond functional unit tests.

Best,
Spike

Kevin Krakauer

unread,
Mar 28, 2024, 4:28:11 PM3/28/24
to gVisor Development [Public]
We'd merge it as long as benchmarks show improvement! Do note that gVisor currently defaults to Reno, as the engineer who worked on the cubic implementation (IIRC) didn't feel that it was showing enough improvement to make default.

We'd be happy to give benchmarking tips. For this change you might be best served by tcp_benchmark, which should let you adjust delay and other variables. If you have other metrics/benchmarks those would be good.

We could also do a phone/video call, just let me know.

Kevin

Spike Curtis

unread,
Apr 9, 2024, 5:33:23 AM4/9/24
to gVisor Development [Public]
Hi Kevin,

I tried replying privately, but I'm not sure if it went thru.

I would be very happy to do a phone or video call to discuss benchmarking.  My email is spike at coder dot com, and I'm generally available late morning to early afternoon US time.  Can you drop me a line with when you are available?

Since HyStart seeks to avoid congestion-correlated packet drops, the benchmarks we use will have to include that to show improvement.

I'm close to being ready with my PR of the implementation/unit tests.

Best,
Spike
Reply all
Reply to author
Forward
0 new messages