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>