*BSD News Article 65111


Return to BSD News archive

Path: euryale.cc.adfa.oz.au!newshost.anu.edu.au!newshost.telstra.net!act.news.telstra.net!psgrain!news.uoregon.edu!news.dacom.co.kr!usenet.seri.re.kr!news.cais.net!news.jsums.edu!gatech!newsfeed.pitt.edu!bb3.andrew.cmu.edu!nntp.sei.cmu.edu!news.psc.edu!hoopoe.psc.edu!not-for-mail
From: peterb@hoopoe.psc.edu (Peter Berger)
Newsgroups: comp.os.linux.development.system,comp.unix.bsd.386bsd.misc,comp.unix.bsd.bsdi.misc,comp.unix.bsd.netbsd.misc,comp.unix.bsd.freebsd.misc
Subject: Re: Why to not buy Matrox Millennium
Date: 5 Apr 1996 07:27:39 -0500
Organization: Pittsburgh Supercomputing Center
Lines: 194
Message-ID: <4k33jr$khp@hoopoe.psc.edu>
References: <4jn4qp$6p@darkstar.my.lan> <4jve3t$cfe@hermes.synopsys.com> <4k0m0f$68j@hoopoe.psc.edu> <4k2i4g$n55@usenet.srv.cis.pitt.edu>
NNTP-Posting-Host: hoopoe.psc.edu
Xref: euryale.cc.adfa.oz.au comp.os.linux.development.system:20720 comp.unix.bsd.386bsd.misc:460 comp.unix.bsd.bsdi.misc:3005 comp.unix.bsd.netbsd.misc:2765 comp.unix.bsd.freebsd.misc:16677

In article <4k2i4g$n55@usenet.srv.cis.pitt.edu>,
Mark Hahn <hahn@neurocog.lrdc.pitt.edu> wrote:
>
>> These results were published at the January 1996 USENIX technical conference,
>> in a paper by Kevin Lai and Mary Baker from Stanford.  I'm sure this
>> paper is available on the web -- I apologize for not having a URL, but
>> I'm looking at the hard copy now.  The bottom line is that Linux CPU
>> performance is better than FreeBSD's (not surprising, since Linux
>> is so intel-specific) but it's networking performance is, to put it
>> most kindly, a joke.

[gratuitous insult deleted.]

Thanks for being more interested in getting into a fight than into
discovering the truth, Mark.  I didn't insult you; and in my E-mail 
to you I indicated that I use BOTH linux and the *BSD's, but I guess
that doesn't make as good propaganda, huh?

Here's a hint, Mark:  a "bigot" is someone who bases their opinions
on unreasoned prejudices rather than on actual data.  Given that, I'll
let the world at large decide which one of us is a bigot.

>1. Linux networking works very well.  it has always been able to 
>   saturate the wire, at least 10 Mbps wires.

This statement is false, of course; and you give no references to 
support it. (Gee, my 386 with a 3c501 running Linux can saturate an Ethernet?
Are you willing to put some money on that....:-)

In any event, "networking" consists of more than a
single-mode stream of one TCP connections, and there are serious flaws
wired in to Linux's CURRENT networking design which make it completely
unsuitable for serious networking use.  This was as of the last time
I examined the source, and I welcome corrections or updates.  

Examples include:

1) routing tables indexed by a linked list rather than radix tree, resulting
in O(n) time as routing table size increases rather than O(n log n).  Here's
a hint, Mark:  one of the most essential "commercial networking" tasks
there is today is routing.  A BSD box is a reasonable (though not optimal)
choice for a router.  A Linux box, because of the above problem among others,
is an unreasonable choice for a router.  I am talking here about high speed
routers which carry large routing tables, of course.

2) Nonstandard design.  No implementations of selective acknowledgement 
available.  Linux does not follow the reference implementation of TCP/IP:  
there is a reason why when W. Richard Stevens wrote TCP/IP Illustrated: The 
Implementation he used BSD unix to demonstrate "The implementation."  Because 
of this lack of rigor, Linux can't seriously be used by the academic community 
for TCP research (is anyone out there doing real TCP research with Linux?  I'd
like to know about it if so.)  This in itself doesn't mean Linux's 
TCP/IP implementation is "bad" or "inferior," it just means that it
is -different-, and hence less likely to quickly gain the benefits of new TCP
research, such as Forward Acknowledgement.  Another example (correct me
if I am wrong): Linux only recently (e.g., post 1.2.x kernel) implemented
TCP sliding windows, which are essential to using long pipes with many
hops efficiently.

>2. Linux NFS also works well, though its default configuration
>   (1k packets!) was braindead and performance limiting.

Indeed.  I notice a lack of any specifics in your statement.  I was
disappointed in the Lai/Baker paper for not using a FreeBSD NFS server
as well to measure the bottleneck on that end:  I suspect the disparity
in their numbers would have gotten even larger in that case.

>3. Linux is not "intel-specific": ask Linus about his Alpha,
>   or DaveM about his Sun.

Linux up until recently has been tailored for Intel boxes.  When Linux
achieves performances comparable to OSF/1 on an Alpha, I will revise my
opinion.  And please note that this includes networking -- some of us
use Alphas as routers.

>4. none of the preceeding facts are apropos the the Lai/Baker paper,
>   which is interesting, but now mostly for merely historic reasons.
[interesting specifics which, IMHO, miss the whole point elided.]
>the bottom line is that the paper is an interesting snapshot of features
>and performance as of a year ago.  it's not relevant today.

In the absence of contradictory experimental data, I would suggest that
it is foolish to simultaneously insult the work of researchers and
wave your hands at the same time.

There are fair critiques that can be made of the Lai/Baker paper;  I
don't think you've made them here.  I detail why below.

>it would be somewhat interesting to compare current Linux _distributions_
>with similar representatives from the *BSD world.  I'm thinking of 
>RedHat and/or LinuxFT versus the latest stable FreeBSD or even BSDI.
>I'm just guessing, but I expect that the major Linux distributions
>avoid the configuration blunders in the Lai/Baker paper.

This is a good point.  Are you willing to do the work?

>incidentally, I am not a Linux bigot: I simply have no experience with 
>FreeBSD and dislike all the silly Linux-fragging that community does.
>if someone wants to tell me how I can install FreeBSD on my machine
>(p5/133, ide, internet) in less than an hour, I'd love to try it.

Just grab the installation floppy from ftp.cdrom.com and dd it to a 
disk (or rawrite it in MSDOS).  Stick it in your computer.  Follow
the friendly prompts.  If you like, it will FTP the entire set of
software to your machine over the Internet as part of the installation
(takes about 24 hours at 14.4k...presumably much less if you're on
Ethernet!)

>> In all cases, the versions of the software tested was the latest version
>> of the software which was a "production release" at that time -- no beta
>> software was tested.  This is the Right Thing to do.
>
>do you install patches on your commercial-OS boxes?  naughty you!
>stability is God, or is that 'stasis'?  you can dress up this attitude
>in terms of 'production quality', but it's the whole reason why SunOS 4.1.3
>is still in use...

Actually, the reason SunOS 4.1.3 is still in use is that lots of people
prefer the design and implmentation of BSD unixes to SysV implementations.

I have more to say about production quality below. 

>> It is completely
>> improper for anyone to recommend the 1.3.x kernels for commercial use,
>> since the 1.3.x is a development tree, and is specifically promised
>> to NOT be stable.
>
>nonsense, and mindlessly conservative, too.  the development tree is
>just that: where all current code goes.  there are times when it's utterly
>bogus, and most of the time it's hugely superior.  Linux (and Linus, I
>presume,) is driven by developer desire, which means that there's almost
>no incentive to keep patching a 'stable' release.  this is a disadvantage
>to the mid-level user, someone who isn't capable of the modest effort it
>takes to track the 1.3 tree, but who is aware of the weaknesses of crusty
>old stuff like 1.2.

This "mindless conservatism" as you call it comes from Linus, not from
me.  When 1.3 was rolled out, early in its youth, there were tons of
messages warning, "If you want a stable release DON'T RUN 1.3.  Run
1.2."  Lai and Baker took them at their word, as would most reasonable
people.

Now, I have no doubt that you are absolutely right that I could probably
take one of the 1.3 kernels ... say, 1.3.48?  or 1.3.96? ... and run it
safely.  Which one?  Let's say I'm supposed to evaluate operating systems
to put on our Intel hardware.  How do I limit the scope of the problem?
Well, let's see, there's FreeBSD release, FreeBSD current, ditto with
NetBSD, BSDi's release, Solaris, and oh, look, 200 different Linux kernels.
How very useful.  If I choose any one of them I will lose functionality 
contained in another, and may encounter serious bugs, or may not, depending
on the luck of the draw and whether I was able to find someone else to
make a good recommendation.  As you said:  there are times when it's
hugely bogus, and times when it's superior.  Well, call me picky, but 
risking running a "hugely bogus" operating system in a production environment
doesn't help the people I support get their work done.  You call this a 
"modest effort," but I would say that that label is only true for someone
who has already committed to Linux.  For someone who is considering her 
or his options or who has to support a heterogeneous environment, the effort
is far more than modest.

This is another one of my problems with your critique of the Lai/Baker 
paper: they did what they were supposed to, that is, run the production
kernel.  If you can critique them for this, than just stop quoting any
Linux benchmarks at all, ever: there will ALWAYS be another kernel or 
another release that you didn't test ("Well, SURE, the Red Hat and Caldera
and Slackware releases worked fine, but how do you know that bug is fixed
in the TSX or Debian release, HUH?")  "Well, that problem that made
TCP/IP stop working and panicked the kernel is fixed in the latest beta
release" does not cut it for people who actually have work to do.

Just so that I'm not misunderstood:  the problem is NOT that there are bugs
in the development kernel -- there are supposed to be, and there are bugs
in FreeBSD's and NetBSD's development kernels as well -- but that people
are recommending that other who require a production quality OS RUN these
buggy development kernels.  Then, when they go to comp.os.linux.* for 
help, they'll be told, "thanks for the bug report, but hey, if you wanted
stability, you should be running 1.2.x...."

>for purely political reasons (this kind of comparison) I'd like to see
>major Linux releases a little more frequently.

Perhaps this is one solution.  This presumes that a production quality
release can be pulled together, but if one can, I'll be all for it.

>regards, mark hahn.
>--
>operator may differ from spokesperson.	hahn@neurocog.lrdc.pitt.edu
>					http://neurocog.lrdc.pitt.edu/~hahn/


-- 
Pete Berger
Coordinator, Regional Information Infrastructure
Pittsburgh Supercomputing Center