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