*BSD News Article 74070


Return to BSD News archive

Path: euryale.cc.adfa.oz.au!newshost.anu.edu.au!harbinger.cc.monash.edu.au!munnari.OZ.AU!news.ecn.uoknor.edu!news.cis.okstate.edu!newsfeed.ksu.ksu.edu!news.mid.net!news.dra.com!hunter.premier.net!news-res.gsl.net!news.gsl.net!news.mathworks.com!zombie.ncsc.mil!newsgate.duke.edu!agate!reason.cdrom.com!usenet
From: "Jordan K. Hubbard" <jkh@FreeBSD.org>
Newsgroups: comp.os.linux.networking,comp.unix.bsd.freebsd.misc
Subject: Getting off the stick [was Re: TCP latency]
Date: Wed, 17 Jul 1996 21:29:22 -0700
Organization: Walnut Creek CDROM
Lines: 135
Message-ID: <31EDBDA2.41C67EA6@FreeBSD.org>
References: <4paedl$4bm@engnews2.eng.sun.com> <4s8rtp$jsh@fido.asd.sgi.com> <4sej3e$155@dworkin.wustl.edu> <4seo88$fqd@fido.asd.sgi.com> <4sesh4$2ls@dworkin.wustl.edu>
NNTP-Posting-Host: time.cdrom.com
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-Mailer: Mozilla 3.0b5a (X11; I; FreeBSD 2.2-CURRENT i386)
To: Chuck Cranor <chuck@ccrc.wustl.edu>
Xref: euryale.cc.adfa.oz.au comp.os.linux.networking:45625 comp.unix.bsd.freebsd.misc:23885

Chuck Cranor wrote:
> I believe this is happening because Windows & Windows/NT have a better
> user interface and superior applications for the "average" user (when
> compared to Unix).    In this context, I believe the problem with Unix
> is not the kernel (or its performance), so I don't see how working in
> that area is going to address the problem?

[I'll leave the cross-posting stand since we're talking applications
turf now and I suppose that's of equal interest to both groups]

Chuck has hit the nail precisely on the head, and I'd like to go one
step further with this:

If UN*X were to do its job properly over the next couple of years
(unlikely, but if) I think it would be increasingly irrelevant just
which variant you chose because the operating system would be little
more than a fairly invisible bit of enabling technology that 99% of its
user base didn't even care about anyway.  To grab an analogy out of the
air (and maybe it's a little weak, but cut me some slack for a
spur-of-the-moment metaphor :-) It'd be like the hull of a ship.  Most
passengers on a luxury liner don't take trips down to the bilges in
order to rap on the hull and marvel at the rivets, they're far more
interested in the swimming pool, the shuffleboard court and the various
other attractions topside.  As long as the hull manages to keep itself
in one piece, they don't even think about it nor does the cruise line go
out of its way to emphasise it in any way (quite the opposite, in fact,
ship construction being rather boring to all but those few who are
genuinely interested in maritime engineering).

So it is with UNIX, except instead of brass bands and groaning buffet
tables laden with food, we've got everybody sitting on some boards
thrown hastily across the bottom of the boat and sea biscuit rations
served from a box.  Before each passenger boards, they're given a 500
page instruction guide on ship repair and rescue procedures and told to
learn it or risk going down with the ship (which has a tendency to
occasionally turn turtle and sink if not handled very carefully).

And then we wonder why people aren't exactly rushing to clamber aboard
the S.S. UNIX anymore, prefering instead, for some strange reason, the
Queen Elizabeth II.

Yes, I know that Linux is growing a larger suite of apps, and I've been
watching with interest each and every player who's scrambled aboard the
Linux commercial software bandwagon with their 3rd-string spreadsheet
application or aging desktop manager in hopes of making a modest buck,
but frankly it's not even a drop in the bucket.  I know one has to start
somewhere, and if I didn't hold out some hope of getting enough apps
together to hold a reasonable niche for the moment I wouldn't even be
watching (*BSD runs Linux apps too, so their "victories" are ours too),
but competetive?  We're not even close, 1 million Linux users or not. 
OS/2 had easily 3-4 times that many people and the financial backing of
one of the biggest computer companies on this planet, now look at it. 
Pride goeth before the fall.  Face it - porting software to new
platforms is hard, and most companies won't even bother unless they're
guaranteed a potential customer base far greater than Linux or *BSD
could muster combined.

Don't kid yourselves. Linux and *BSD may give us propeller-heads wet
dreams, but in the bigger scheme of things we're not even a blip, nor do
I see any long-term strategies forming which have any truly reasonable
hope of changing this (and endless "gee, wouldn't this be great!" plans
hatched by students over coffee is a very poor substitute).

While it's also certainly true that we're still growing at the moment
since all this free UN*X stuff is fun and nifty right now and the gloss
is still on, what about in 5 years?  If this is all going to be down the
drain by then, why are we even wasting our time now?  Yes, I do this
primarily for fun right now too, but I expect that to get old in a
couple of more years if I don't see some greater goals coming out of all
this.

Chuck is 100% correct when he says that this war won't be won in the
kernel, and after a certain point I think that both systems will be
stable and robust enough that we'll be down to diminishing returns in
hacking on any of the standard areas.  Then where do we go?  Try and get
that TCP interrupt latency down from 200uSec to 190?  Jesus, what's the
point?  The users certainly don't give a damn by that stage since
tapping on the hull is only fun for so long before you start wondering
when the music and dancing is going to start.

For us to hold our own against Microsoft, much less gain any ground, we
need to stop focusing on the classic desktop applications that Microsoft
has already won for itself and start thinkng more about server
applications which somehow capitalize off of UNIX's unique strengths
(probably in cooperation with the system builders to give that
additional edge).  Features like transparent clustering, where to
increase your aggregate horsepower you simply drop another PC or
SPARCstation or whatever into your computational cluster and it rolls
into the pool like one blob of mercury joining another.  Projects which
allow us to finally throw NFS out on its ear and replace it with a file
sharing protocol which is safe (e.g. actually has industrial strength
locking) and fast.  More advanced frameworks which allow us to get away
from the concepts of hosts and client/server relationships and more into
the area of "services" where you don't even need to think about where
something comes from, you just ask for it and the first available
"resource server" with the information you need picks it up or tells you
who to ask in turn.  The kind of management tools we need to make
administration of the system something that anyone who could drive NT
(or hell, even simpler) could do.

I could go on, but I'd probably just depress myself at thinking how
little paradigm shifting we've done over the last 10 years and some of
the utterly moronic solutions (like Motif) we've come up with instead.

If there's a cheerful side to any of this, it's that none of the things
I've discussed really require that the user have to choose any one OS
over the other.  All of the things I mentioned could and should be
implemented up in user space, and with proper abstraction you could
easily run your advanced clustering protocols on fully heterogeneous
networks.  This, in turn, has the interesting side-effect of turning
adversity into a strength.   There are multiple operating systems? 
Good!  So you're not locked into one vendor.  HP, Sun, SGI all rolling
their own versions of UNIX?  Who cares?  Just so long as all this whizzy
software ports easily to them (and you'd make sure that it did), it's of
absolutely no concern to you whether it's called Foozix or Lignox, just
so the upper interface layers your own application depends on are
implemented.  You pick whatever hardware gives you the best bang for
buck that week and the rest takes care of itself.

I do realize that this is a highly idealized vision, I'm simply trying
to underscore the point that the real fight isn't in the OS arena at
all, it's what sits on top.  So far, sadly, not many people have chosen
to look up there since it's far easier to worry about minescule
differences in your fork() timing than it is to design and implement
clustering protocols or write free CORBA implementations.

If the various OS camps don't wake up to this soon, THAT is what is
going to kill them, not the Linus vs *BSD fights or the fighting between
the *BSD camps themselves - that's merely arguing about a stubbed toe
while an 18 wheeler is bearing down on you from behind.  Focus on the
*serious* deficiencies, please!

-- 
- Jordan Hubbard
  President, FreeBSD Project