Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 17 Jun 1996 13:57:03 -0700 (MST)
From:      Terry Lambert <terry@lambert.org>
To:        kevin@NDA.COM (Kevin Lyda)
Cc:        dennis@etinc.com, hackers@freebsd.org
Subject:   Re: BSDI 2.0 vs. FreeBSD 2.x
Message-ID:  <199606172057.NAA08544@phaeton.artisoft.com>
In-Reply-To: <199606171958.PAA26484@nda.nda.com> from "Kevin Lyda" at Jun 17, 96 03:58:49 pm

next in thread | previous in thread | raw e-mail | index | archive | help
> > True, however BSD is marketing themselves as an internet gateway, where
> > NFS is not as important. And now that FreeBSD has a Netware compatible
> > server available....the option to dump NFS (which I really dont want to use
> > on my Windows workstations anyways) is more than viable. The Netware
> > stuff (although not free) is a lot nicer (and faster) than NFS.
> 
> how can you justify that?  is netware an inherently faster protocol
> than nfs?  or is this just an implementation issue?

DOS networking is based on a request/response architecture, especially
for directory searches and similar operations.  The DOS clients for
NetWare and SMB group large amounts of directory entries in a single
response, but the NFS is still one-packet-per-entry.

In addition, the DOS clients do not have the concept of a "stat"
sperate from a lookup.  The search for "path without search characters"
is converted into an iteration of the directory on the client until
it gets to the entry, and then a stat (which it does for each entry,
regardless).

The correct method of dealing with this would be to push the DOS
pattern matching into the UNIX kernel, and shove the requests
over the wire to the server that was (this is how SMB and NetWare
servers operate), so that the only traffic accross the domain
boundry (user/kernel or network/kernel) is files which match the
search criteria.

The issue is exacerbated by the NFS client behavior that a search
initiated by a DOS program must be "continuable" if they use a
non-Win32 interface (the DOS search semantics don't have a "I'm
done with this search context" indicator until Win32).

At the IFS level, Win32 could provide an NFS client that was
*vastly* more efficient in its use of the protocol.  This has
two problems: (1) You can't force poeple to use Win32 apps
instead of DOS or Win16 apps if the OS allows them to be run
in the first place, and (2) without the ability to provide the
performance advantage to anything more than a subset of the
programs, you can't make any significant marketing claims, so
you might as well bail on the idea anyway.

The PCNFSD, especially the Beame and Whiteside, *does* offload
some of the client work + traffic onto the server as server
work + less traffic, but it requires that you run it.

Finally, the B&W PCNFSD is a user space daemon.  For a search
with stat, there is a requirement for multiple crossings of
the user/kernel protection domain.  This is probably a place
where "UNIX did the wrong thing".  You most likely want stat
information for all search returns, and you want it on open,
and maybe even on close.  This is 50% higher call overhead
than you would see from a "corrected" implementation, and 100%
higher call overhead than a kernel implementation.


In addition, the NetWare server will, if correctly written, support
"packet burst", which is basically a fixed window multiple packet
download to, or upload from, the client (up to 32k, depending on
negotiated packet size).  This averages one request/response
latency over up to 32 packets, instead of one per packet, like
te NFS -- this is a failure of the client to perfom caching
and predicition on read-ahead to avoid non-interleaved I/O as
a result of not sending the next read request until it has run
the application program that made the last read, the application
program has processed the return data, and then set up the next
read to take place.


So, in general, NetWare is faster to DOS clients, but it's DOS's
fault, not that of the server, and much of the problem is correctable,
though there's little short term economic incentive to actually
do the correction.


					Terry Lambert
					terry@lambert.org
---
Any opinions in this posting are my own and not those of my present
or previous employers.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199606172057.NAA08544>