Re: XTP: A better TCP than TCP

Matthew Wilcox (Matthew.Wilcox@genedata.com)
Thu, 3 Jun 1999 22:24:33 +0200


On Thu, Jun 03, 1999 at 01:49:30PM -0400, Greg Lindahl wrote:
> > I think a much more interesting protocol to have in the kernel would
> > be Bell Labs' IL. It's implemented in Plan 9, and they say they are
> > very happy with its performance. It's a sequenced packet protocol,
> > ideal for NFS, CORBA messages and pretty much anything which currently
> > either implements its own out-of-order + retransmit strategy over UDP
> > or puts packet boundaries into TCP.
>
> Note that IL has no flow control. You may not think you need flow
> control, but the minute you have several people talking to 1 at high
> speed, life gets interesting. A group I used to work for (Legion) had
> its own IL-like protocol, and we finally decided that TCP's flow
> control was a huge win locally (our Legion-MPI programs were
> overrunning the 64k OS buffers), and TCP's adaptive stuff was far
> superior over WANs.

As I understand it, the idea behind not requiring flow-control in IL
was that the higher level protocols would take care of this; in 9P
(which is the main user of IL), there's a reply to each request, so if
the server is replying slowly, the client will slow down to compensate.
I don't think IL is suitable for simply sending packets to hosts, it
must have a request-response protocol layered on top of it.

Yes, this requires the higher level protocol knows about doing
flow-control stuff like nagle, but the idea is that the TCP layer doesn't
_really_ know what the application requires and setting options such as
TCP_NODELAY is a crude way of telling it.

-- 
Matthew Wilcox <willy@bofh.ai>
"Windows and MacOS are products, contrived by engineers in the service of
specific companies. Unix, by contrast, is not so much a product as it is a
painstakingly compiled oral history of the hacker subculture." - N Stephenson

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/