<story><title>Is it time to replace TCP in data centers?</title><url>https://blog.ipspace.net/2023/01/data-center-tcp-replacement.html</url></story><parent_chain><item><author>shanemhansen</author><text>This seems like a review of John Ousterhout&amp;#x27;s work w&amp;#x2F; Homa. I highly recommend reading the original. &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;arxiv.org&amp;#x2F;abs&amp;#x2F;2210.00714&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;arxiv.org&amp;#x2F;abs&amp;#x2F;2210.00714&lt;/a&gt;&lt;p&gt;For those who don&amp;#x27;t know Ousterhout created the first log structured filesystem and created TCL (used heavily in hardware verification but also forming the backbone of the some of the first large web servers: aolserver). I was actually surprised to find out he co-founded a company with the current CTO of Cloudflare. &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;en.wikipedia.org&amp;#x2F;wiki&amp;#x2F;John_Ousterhout&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;en.wikipedia.org&amp;#x2F;wiki&amp;#x2F;John_Ousterhout&lt;/a&gt;&lt;p&gt;He has both a candidate replacement as well as benchmarks showing 40% performance improvements with grpc on homa compared to grpc on TCP. &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;PlatformLab&amp;#x2F;grpc_homa&quot;&gt;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;PlatformLab&amp;#x2F;grpc_homa&lt;/a&gt;&lt;p&gt;With that in mind I think nobody will replace TCP and I doubt anything not IP compatible will be able to get off the ground. His argument is essentially that for low latency RPC protocols TCP is a bad choice.&lt;p&gt;We&amp;#x27;ve already seen people build a number of similar systems on UDP including HTTP replacements that have delivered value for clients doing lots of parallel requests on the WAN.&lt;p&gt;I think many big tech companies are essentially already choosing to bypass TCP. I recall facebook doing alot of work with memcache on udp. I can&amp;#x27;t find any public docs on whether or not Google&amp;#x27;s internal RPC uses TCP.&lt;p&gt;I wouldn&amp;#x27;t be surprised at all if in the near future something like grpc&amp;#x2F;capnproto&amp;#x2F;twirp&amp;#x2F;etc had an in-datacenter TCP-free fast path. It would be cool if it was built on Homa.</text></item></parent_chain><comment><author>ignoramous</author><text>&amp;gt; &lt;i&gt;With that in mind I think nobody will replace TCP&lt;/i&gt;&lt;p&gt;&lt;i&gt;Within&lt;/i&gt; the data center? AWS uses &lt;i&gt;SRD&lt;/i&gt; with custom built network cards [0]. I&amp;#x27;d be surprised if Microsoft, Facebook, and Google aren&amp;#x27;t doing something similar.&lt;p&gt;[0] &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;ieeexplore.ieee.org&amp;#x2F;document&amp;#x2F;9167399&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;ieeexplore.ieee.org&amp;#x2F;document&amp;#x2F;9167399&lt;/a&gt; &amp;#x2F; &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;archive.is&amp;#x2F;qZGdC&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;archive.is&amp;#x2F;qZGdC&lt;/a&gt;</text></comment>
<story><title>Is it time to replace TCP in data centers?</title><url>https://blog.ipspace.net/2023/01/data-center-tcp-replacement.html</url></story><parent_chain><item><author>shanemhansen</author><text>This seems like a review of John Ousterhout&amp;#x27;s work w&amp;#x2F; Homa. I highly recommend reading the original. &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;arxiv.org&amp;#x2F;abs&amp;#x2F;2210.00714&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;arxiv.org&amp;#x2F;abs&amp;#x2F;2210.00714&lt;/a&gt;&lt;p&gt;For those who don&amp;#x27;t know Ousterhout created the first log structured filesystem and created TCL (used heavily in hardware verification but also forming the backbone of the some of the first large web servers: aolserver). I was actually surprised to find out he co-founded a company with the current CTO of Cloudflare. &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;en.wikipedia.org&amp;#x2F;wiki&amp;#x2F;John_Ousterhout&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;en.wikipedia.org&amp;#x2F;wiki&amp;#x2F;John_Ousterhout&lt;/a&gt;&lt;p&gt;He has both a candidate replacement as well as benchmarks showing 40% performance improvements with grpc on homa compared to grpc on TCP. &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;PlatformLab&amp;#x2F;grpc_homa&quot;&gt;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;PlatformLab&amp;#x2F;grpc_homa&lt;/a&gt;&lt;p&gt;With that in mind I think nobody will replace TCP and I doubt anything not IP compatible will be able to get off the ground. His argument is essentially that for low latency RPC protocols TCP is a bad choice.&lt;p&gt;We&amp;#x27;ve already seen people build a number of similar systems on UDP including HTTP replacements that have delivered value for clients doing lots of parallel requests on the WAN.&lt;p&gt;I think many big tech companies are essentially already choosing to bypass TCP. I recall facebook doing alot of work with memcache on udp. I can&amp;#x27;t find any public docs on whether or not Google&amp;#x27;s internal RPC uses TCP.&lt;p&gt;I wouldn&amp;#x27;t be surprised at all if in the near future something like grpc&amp;#x2F;capnproto&amp;#x2F;twirp&amp;#x2F;etc had an in-datacenter TCP-free fast path. It would be cool if it was built on Homa.</text></item></parent_chain><comment><author>opportune</author><text>The problem is not just TCP vs not-TCP. It’s using TCP&amp;#x2F;HTTP to transmit data in JSON, vs picking a stack that is more optimized for service-to-service communication in a datacenter.&lt;p&gt;I am willing to wager that most organizations’ microservices spend the majority of their CPU usage doing serialization and deserialization of JSON.</text></comment>