Robert G. Brown rgb at phy.duke.edu
Tue Feb 20 09:24:24 PST 2001

On Mon, 19 Feb 2001, Douglas Eadline wrote:

> On Mon, 19 Feb 2001, Alan Grimes wrote:
> > Hey, I followed some links off the windoze $2000 site and came across
> > some 32 way/64gb systems from Unisys! (Xenon)
> >
> > It would surely outperform a PC cluster and be WAY easier to program
> > than today's beowulf software... Though I'm not sure about the price or
> > linux compatability, these are really extreme.
> Maybe. Write some code, run benchmarks, get a price. This is what really
> matters.

You're being too generous, Doug;-).  Permit me to rant just a moment
(hit "d" now if my rants bore you:-):

First of all, the statement is absurdly argumentative and hardly an
attempt at serious discourse.  Outperform a PC cluster at doing what?
Outperform a PC cluster at doing computational fluid dynamics using code
X is a specific quantifiable statement that can be falsified by means of
an objective test, so it is an admissible hypothesis in a rational
discussion.  Outperform a PC cluster of comparable cost in completing my
Monte Carlo work, no way in hell unless they are bloody giving the
box(es) away (but still an admissible hypothesis as it can be -- easily
-- falsified by tests).  "Outperform a PC cluster" is meaningless from
the beginning.  My dog can outperform a PC cluster at eating chunks of
dogfood.  Probably (technically) smarter, too as my PC cluster never
figured out how to drag a forty pound plastic box of chunks fifty feet
out of my garage and worry it open in the yard.  (Did I mention that my
dog is a bit fat?)

Way easier to program is even more absurd.  In one sense it exactly as
easy or difficult to program as it almost certainly is programmed using
the same basic parallel environment and tools, for example, MPI.  MPI is
MPI is MPI -- that't the whole POINT of MPI.  Cleanly written MPI code
should both require about the same effort to develop for any parallel
environment as the resulting code should in many cases be more or less
transparently portable (again, that's the whole reason the interface
library was created).

Now there are, I admit, minor variants on "ease of programming".  Maybe
the windows interface to MPI is a bit easier to use, or the commercial
MPI comes with a bigger better manual.  On the other hand, if the big
old Unisys box only allows a single user at a time to program (not an
unreasonable hypothesis for an integrated big-iron style system), it
might be a LOT more difficult for a team of programmers to write a
parallel project on it -- they might have to buy a linux cluster just to
enable the programming team access to a cluster environment for rapid
code development and testing and prototyping by more than one person at
a time.

Then there are many possible opinions as to whether a Windows-based
interface to a compiler and other code development tools is better or
worse than the collection of programming tools available in linux.  My
own opinion (and I started using Microsoft compilers with version >>1<<
of their PC-DOS Fortran, also got the first version of their C compiler,
also got one of the first versions of their assembler, and for a brief
while thought their QuickBasic compiler was the best programming
environment the world has ever seen:-) is that I personally would rather
have an unanesthasized appendectomy than use any of of the crufty,
topheavy, impossibly poorly documented Windows compilers, while I find
the linux/unix development tools extremely powerful for complex and
simple tasks alike and extremely well documented.  Still, I'm open
minded enough to recognize that there are those who think the opposite,
as long as they acknowledge that is a semantically null matter of
opinion and not a real argument (which requires a falsifiable statement
like "easier to program BECAUSE its windowing interface anticipates your
needs and writes your subroutines for you three minutes before you
realize that you'll need them.":-)

The claim that the Unisys will be "way easier to program than a beowulf"
is not falsifiable in any meaningful way, certainly not any more than
"steak is way better than lobster" is.  Some might find it so, some
might not, and again, there is nothing concrete cited to base such a
comparison on -- is MPI somehow easier/different on one than on the
other?  Are there statistics that show that project development time on
the Unisys is less (on average) than the project development time on a
PC/Linux cluster of comparable size (true beowulf or not)?  I doubt it.
I am therefore free to prefer lobster.  Or linux.

To conclude, there is indeed the (unknown) price.  While lambasting
linux because it doesn't run any big iron multiprocessor systems, why
stop with the Unisys?  There are Crays/SGI's, IBM SP's, Suns, and more
out there contending for the big iron championship, all offering their
own "superior" support, service, fancy value added program development
tools, big memory, shared memory, fast disk, fast communication
channels, fast CPUs, huge caches, or whatever else the sales groups of
their manufacturers can convince you is true?

Goodness, why does the beowulf concept exist at all, given that this has
>>always<< been true?

Because for many, if not most, people who use beowulf-style clusters it
is NOT about the raw performance, it's NOT about the service, it's NOT
about the warranty, or the CPU speed, or the size of memory, or any
other single hardware feature of a parallel system, it's NOT about the
ease of programming, it's NOT about the reliability of a big name.  The
only thing that matters to us (and to most folks making purchase and
design decisions, even in the business world) is the ratio of (overall)
performance to (overall) price on a system configuration that can
accomplish the work that you wish to accomplish.

It is (when you get right down to it) the PRICE that matters most of
all.  Given several alternatives all of which meet or exceed a
specification, we like to minimize PRICE because that way we can use all
that lovely leftover money for something else.  True, a proper
comparison of the cost includes the cost of downtime, maintenance,
warranty, service and all of that, but there is a tremendous body of
evidence in the list archives that these factors favor linux clusters,
overall, by as much as an order of magnitude.

If one likes argumentative statements (that might still be falsifiable
with enough effort) I'll bet that this list alone is a better resource
for serious parallel program developers than all the Microsoft cluster
staff put together (including their best developers) and stuck on the
service lines.  If you post a serious technical question to the list,
you often get the answer or some help that can lead you to the answer in
minutes to hours.  For free.  With the sources handy, you can sometimes
even FIX things the same day all by yourself.  In that much time, if you
had some good luck with the phones you might actually have a ticket from
an unnamed by very large commercial service provider, and a week later
you might get the attention of one of their "experts" on staff.

On the all important price to performance RATIOS, beowulf and simple
cluster designs typically beat equivalent big iron by a factor of 3-10
(or even more), for problems where either solution can be used.  This
includes all costs -- hardware, software, code development, service --
not just the iron itself, as any of a variety of turnkey vendors will
contractually cover you as tightly as Microsoft itself ever could.

In fairness (and to keep Walter happy:-) there may well be a subset of
the (fine grained/synchronous) "accessible parallel problem space" that
is still accessible to big iron solutions and inaccessible even to a
high end beowulf design, although some work I've seen presented by Greg
Lindahl convinces me that this region is a lot smaller than most folks
even on this list (but probably NOT Walter:-) realize, with the big
iron-win region under constant siege as COTS hardware and the linux
software continues to develop and prices continue to drop.  A high end
alpha/myrinet beowulf, built and tuned by experts, continues to be
pretty damn competitive with big iron even on fine grained problems and
still is considerably cheaper.

Therefore, do I really care if Unisys has a really big, undoubtedly
really really expensive multiprocessor system (probably developed for
the webserver or DB server marketplace, where pockets are deep and where
certain bottlenecks are unimportant)?  Not really.  As I said, unless
they are selling it at the same price/CPU as the cheapest systems on the
market it won't be price beneficial to ME, as MY work is embarrassingly
parallel to merely coarse grained and scales way, way past 32 CPUs even
on a 10 Mbps network.  To me (and to many people on the list) the Unisys
is a (figurative) apple.  I need oranges.  There is no way to even begin
to compare the two and most definitely no way to condemn the one in
favor of the other more meaningfully than the statement "I like oranges
and hate apples" does.

> > Linux REALLY REALLY sucks in a lot of ways... =(
> Well this is pretty much a general statement about many things :)

It reminds me of an old Gary Larson cartoon.  A man is standing on his
front porch steps wearing a ratty tee shirt.  His loving dog is looking
up at him expectantly.  The yard is a mess of ragged mowed strips and
the lawnmower is sitting at the end of one of them.  The caption: "You
call that mowing the yard?  Bad Dog!  No Biscuit!"

You call that an operating system?  Bad Linus!  No Biscuit!


Rant terminated, I'll stop beating the dead, fat, bad dog now.  Hope I
didn't offend anybody.  Too much, anyway:-)


Robert G. Brown	                       http://www.phy.duke.edu/~rgb/
Duke University Dept. of Physics, Box 90305
Durham, N.C. 27708-0305
Phone: 1-919-660-2567  Fax: 919-660-2525     email:rgb at phy.duke.edu

More information about the Beowulf mailing list