Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 13 Apr 1997 23:34:54 -0500 (EST)
From:      "John S. Dyson" <toor@dyson.iquest.net>
To:        davem@jenolan.rutgers.edu (David S. Miller)
Cc:        jbryant@tfs.net, dennis@etinc.com, freebsd-hackers@FreeBSD.ORG
Subject:   Re: Commercial vendors registry
Message-ID:  <199704140434.XAA00296@dyson.iquest.net>
In-Reply-To: <199704140341.XAA06041@jenolan.caipgeneral> from "David S. Miller" at "Apr 13, 97 11:41:39 pm"

next in thread | previous in thread | raw e-mail | index | archive | help
> 
> Care to back these claims up with factual information?  I've studied
> both FreeBSD's and Linux's vm/net subsystems at great length, and I
> would love to know what I might have overlooked during my studies.
> 
Feel free to compare the two actually running under load.  Unfortunately,
I have found only 1 paper on paging policies, for example, that comes close
to describing the FreeBSD algorithms (out of 20-30 papers that I have
found.)  I suggest that there is enough freely available and unencumbered
information out there to develop your own superior paging policy.

The key here is to understand the underlying reasons for anecdotal evidence.
The reasons can be bogus or not.  More often than not, I have found that
when people have made such claims, there is a valid reason.  It is very
unlikely that they would consiously choose an inferior system for their
applications for a "not-so-worthy" cause.  A valid reason for the choice
of a system isn't necessarily technical merit, but could be availability
(marketing.)  If a slower or less effective OS under load is used for
an X terminal or casual development -- then the OS doesn't have much of
an impact on the user.  That is also the case where scalability is not
really very important at all.

(I am not saying that any particular system is inferior, but I am saying that
 users appear to be more picky than OS developers as to loaded performance.)

It is my observation, that either OS developers in general, appear to me to
be too concerned about specific benchmarks, or they believe that the user base
can be easily fooled by such.

Note that in particular, the FreeBSD code is unconventional (vastly different
than the two-bit scheme that SVR3 used for example.)  There is a reason for
that, and luckily, we started from a clean slate -- knowing the brokenness
of clock and related algorithms.  The FreeBSD code can be degraded to work
similarly to the two-bit (or more general shifting-bit aging schemes), and
there is a performance decrease under load.  The typical paging algorithms
are sometimes silly, and perhaps part of the legacy of machines CPU being slower
than their I/O subsystems.  (Remember how some of the PDP-11 swapped segments
out in order to grow them? :-)).

There has been alot of pressure lately to produce a paper on FreeBSD's algorithm
because anecdotal evidence does show that it works very well, and it demands
a more rigorous analysis.

Philosophy:

Unnecessary I/O and head contention is MUCH MUCH more expensive than a
smarter, more scalable algorithm (if implemented correctly.)

Just my two cents, and hope that this has given you
a place to start on improving your OS.

John




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