Subject: Re: New hash algorithm - FNV - for use in the kernel
To: Jonathan Stone <jonathan@DSG.Stanford.EDU>
From: Seth Kurtzberg <seth@cql.com>
List: tech-kern
Date: 11/27/2001 11:55:31
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Another $.02. Actually, $0.06, for three comments.
I think the most important part of this discussion involves the comments by
der Mouse and Darren Reed's (and others) discussion of optimizing for older
vs. newer hardware, and the related subject of varying hardware performance
for certain types of operations among different processors and architectures.
I think it is a mistake to overgeneralize. Is it a small performance penalty
on some platforms with a large performance gain on others? Is the
functionality sufficiently modularized so that a user on older (or less
capable) hardware can compensate without ugly hacking? Is it practical (and
maintainable) to include code for multiple hardware types and to let the
kernel do some autodetection, or to use a compile time switch to select one
or another method?
If I can risk a generalization, it is usually not difficult to isolate the
hash function within a hashing algorithm.
There are indeed a multitude of NFS implementations with a very wide range of
performance characteristics, as others have noted. There are also two very
different implementations of NFS by Sun. Several years ago I remember a
paper that compared the performance characteristics of Sun's older NFS
implementation against the newer one; the newer implementation uses
multithreading where the older implementation used multiple processes. The
multithreaded version had much better performance numbers while putting a
much lower load on the machine for a given level of traffic. There were
differences in the nature and use of handles; I don't remember the specifics.
Another point is also correct (I believe it was from der Mouse); a lot
depends on the nature of the NFS traffic, and NFS traffic patterns vary
widely.
On Tuesday 27 November 2001 21:27, you wrote:
> In message <010601c177a4$3f741a80$0100a8c0@snowdrop>,
>
> "David Laight" writes:
> >> And what would that be? Solaris? NetBSD? Tru64?
> >
> >This is NFS, all the implementations are clones of each other,
> >I'd guess that there is little difference between the implementations.
>
> Huh? Rick Macklem's implementation (the basis of the 4.3BSD-Reno NFS)
> is not exactly a clone of Sun's. Nor is Linux. Implemented from the
> specs, yes; and from talking to other implementations, yes; but
> *not* the same codebase. For quite obvious reasons.
>
> (In fact, there are two linux implementations; a userspace version
> based on David Shand's unfsd, and a kernel version). Not only do they
> put file-handle info in different places, they send packets
> on-the-wire in different order.
>
>
> I dont know where you got your information from, but perhaps you
> should consider finding a better source.
- --
Seth Kurtzberg
Machine Independent Software
Office: (480) 661-1849
Fax: (480) 614-8909
email: seth@cql.com
pager: 888-605-9296 or email 6059296@skytel.com
-----BEGIN PGP SIGNATURE-----
Version: PGP 6.5.8
iQA/AwUBPAPho3hkmRgYZUCaEQKkjgCgwCqriBL2dUvXK7m0kycTmEe+30UAn2+9
CeSviaUL8M6ca9NxKR+SMnn9
=CFuG
-----END PGP SIGNATURE-----