Re: Why is NFS so slow??

Linus Torvalds (torvalds@transmeta.com)
24 Mar 1998 00:30:40 GMT


In article <3516F76A.1B952D2B@zip.com.au>,
Jeremy Fitzhardinge <jeremy@zip.com.au> wrote:
>Larry McVoy wrote:
>> Short summary: there is absolutely no reason that NFS/UDP can't go exactly
>> as fast as NFS/TCP.
>
>That's all very well, but why *would* you use UDP if you can use TCP?
>Sure, you need to overlap requests to get good behaviour out of either
>NFS or UDP, but having done that, why go to all the effort of
>reimplementing all of TCP's congestion control stuff?

Because TCP is "single-threaded", and what you really want is more of a
multi-threaded TCP.

Using a TCP connection implies a stronger ordering than NFS really
needs, and I wouldn't be at all surprised if that ordering might be
detrimental to performance. For example, UDP fundamentally scales
better due to not having any ordering, which means that you can do a
better job if you have parallellism in your machine (multiple
independent network connections between the client and server, for
example: you'd want to use them all in parallell without any
serialization).

Yes, you can use load balancing and TCP, but the TCP layer has already
imposed an artificial order that doesn't really exist in NFS.

Whether this is a real performance concern or not is another issue. A
good TCP implementation would be able to keep the ordered sections
fairly small..

Linus

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu