[Beowulf] Why I want a microsoft cluster...

Joe Landman landman at scalableinformatics.com
Sat Nov 26 19:40:13 PST 2005



Jim Lux wrote:
> At 09:04 AM 11/26/2005, Mark Hahn wrote:

[...]

>> why?  because low-end clusters are mostly a mistake.

I disagree on this for a number of reasons.  It may make sense for some 
university and centralized computing facility folks for larger machines. 
  However, one of the things I have seen relative to the large scale 
clusters out there is most are designed for particular workloads which, 
if you look at the workloads that other folks are buying their clusters 
for, simply do not make sense.  Specifically, few informatics folk need 
low latency interconnect.  They need large number of processors, big 
memory systems, and large local IO facilities, not to mention very high 
speed data scatter across their cluster.   This has been recently one of 
the fastest growing segments of the HPC market, as well as one of the 
largest segments.  This is from IDC and other data we have seen recently.

Large clusters designed to run HPCC/HPL very well will generally be 
poorly designed for the type of work they do.  Of course, they are just 
one example out of several.

>> at a university like mine, for instance, nearly _everyone_ realizes 
>> that it's
>> insane for each researcher to buy/use/maintain his own little $50-500K
>> cluster.  I see three clear reasons for this:

Again, it is not, if the large cluster was designed for different 
purposes.  More on that in a moment.

>>         - the value of a cluster is some superlinear function of its 
>> size.

Value is relative to the applicability of the particular system to the 
problem at hand, as well as how well it solves those particular problems.

>>         - the maintenance cost of a cluster is very sub-linear.
>>         - most workloads are bursty.

Hmmm... the clusters we have put into universities are quite loaded. 
Bursty may happen at places (we see this in some of our commercial 
customers).

>> the first two factors encourage larger clusters; the latter means that 
>> bursts
>> can be overlapped in a shared resource very nicely.

I cannot comment on all bursty natures.  I have seen at some places a 
bursty load from a resource that was overspecified for the need.  There 
simply is not enough work to fill the cycles.   Waiting in queue is ok 
as long as those waits are not too long.  When wait times exceed a few 
hours/days you can have issues.  But at the same time, if a researcher 
requesting lots of resources always gets them right away from the large 
cluster, while they may like it, it is likely that the machine may have 
been a bit too large for the need.  This is really hard to generalize 
about, as most of our customers have computing needs that grow linearly 
or superlinearly in time.

> 
> 
> However, this sort of logic (the economies of scale) push clusters 
> towards the model of the "mainframe supercomputer" in it's special 
> machine room shrine tended by white garbed acolytes making sure the 
> precious bodily fluids continue circulating.

Yes!!!  Precisely.    But worse than this, it usually causes university 
administrators to demand to know why department X is going off on their 
own to get their own machine versus using the annointed/blessed hardware 
in the data center.  As someone who had to help explain in the past why 
our university did not want us to be running on the same million dollar 
plus IBM 43xx mainframe that ran student records, and buy a real 
supercomputer, I can tell you that this is a painful battle at best. 
Department X may be getting its own machine due to the central resource 
being inappropriate for the task, or the wait times being unacceptably 
long, or the inability to control the software load that you need on it.

There are possibilities to find a happy middle ground, where the central 
folks manage the resource, and allow cycles to be used by others when 
the owners of the machine are not using so much of it.   Moreover they 
can connect it to central disks, authentication, and so forth.  That is, 
the value of the centralized IT is realized, even if it is a separate 
resource.

Forcing all users to use the same resource usually winds up with 
uniformly unhappy users (apart from the machine designers who built it 
for a particular purpose).

> 
> One of the biggest values of the early clusters was that they let people 
> "fool around" with supercomputing and get real work done, without 
> hassling the instutional overheads.  Sure, they may have been 
> non-optimized (in a FLOPS/dollar sense, certainly, and in others), but 
> because they were *personal supercomputers*, nobody could complain.  
> They were invisible.

Not really invisible.  And not all workloads make sense to characterize 
in terms of FLOPS/$.  This is not a swipe at Mark or Jim, but 
fundamentally, while the HPL has been interesting for characterizing 
some workloads, it is effectively useless for wide swaths of workloads 
that have no fundamental reason to look at FLOPS w.r.t. anything. 
Supercomputing as such is much larger than just FP calculations, and 
certainly folks doing Monte-Carlo FP heavy loads probably don't care 
about low latency.

> There is, I maintain, a real market for smallish clusters intended to be 
> operated by and under the control of a single person.  In one sense, I'm 
> wasting compute resources, but, I'm also doing this because my desktop 
> CPU spends most of its time at <5% utilization.  Having that desktop 
> under my personal control means that if something isn't working right, I 
> can just abort it. Or, if I am seized by the desire to dump all the 
> other stuff running temporarily and run that big FEM model, I can do 
> that too.  No calling up the other users and asking if it's ok to kill 
> their jobs. No justifying processor utilization to a section level 
> committee, etc.

The interesting thing is that if you look at the numbers from IDC and 
others you realize something very interesting.  First, the real HPC 
hardware market (this is a 7B$ market today, growing at > 10% CAGR) has 
its largest section by volume and largest growth in the 25-50k$ region. 
  Second, the large market is shrinking.  Again, this is not a slap 
against Jim and Mark.  The real HPC cluster market is moving down scale, 
and the larger ones are growing more slowly or shrinking.  This is going 
to apply some rather Darwinian forces to the market (has been for a 
while).

This is not to say that there is not a big cluster market.  There is. 
Its real.  Its just not growing in dollar volume.  Some of us wish it 
would, but budgets get trimmed, and hard choices are made.  You have to 
go through fewer levels of management to justify spending 50k$ than you 
do 500k$, or 5M$.

> 
> To recapitulate from previous discussions: a cluster appliance

Yup.  A 100k$ cluster appliance won't sell well according to IDC.  If 
your appliance (board/card/box/...) sits in the 25-50k$ region and 
delivers 10-100x the processing power of your desktop, then you should 
see them sell well.  This is where the market growth is.  Companies 
retreating to the high end of the market risk the same fate as all the 
other companies that have tried this before (e.g. any exec pushing that 
strategy should take a long hard look at the HPC market and the players 
that have retreated to the high end, most of them are gone and buried).

[...]

> this is the real MS/Cluster disconnect... Clusters just don't seem to 
> fit in the MS .NET world.  On the other hand, MS has a lot of smart 
> people working there, and it's not out of the question that they'd 
> figure out some way to leverage the idea of "commodity computers with 
> commodity interconnects" in some MS useful way.

For one thing, I would expect that .NET will eventually == grid. 
Doesn't make it HPC, but this is what I expect.

What Microsoft could bring to the table is forcing people to build 
reasonable interfaces for the HPC systems.  Today we have lots of APIs 
for MPI, DRMAA for schedulers,....  Technology doesn't become useful for 
the masses until it becomes easy for them to use.  If Microsoft makes 
this simpler by either creating/forcing a standard upon the cluster 
world, this might not be such a bad thing in the longer term.  I find 
nothing wrong with the notion that more HPC users means more HPC.

That said, I am not sure that they can do this without trying to force 
windows upon the users.  The demo at SC was ok, but you can do stuff 
like that today with web services systems.  The issue is that there are 
no real standards associated with that.   Not w3c stuff, but higher 
level standards that make programming these things easier for end users.

Also it should be noted that the Unix world laughed rather heartily when 
Microsoft started attacking its servers with their lower end systems. 
This was a mistake on the part of these people.  Microsoft has 
effectively unlimited resources, and significant patience.  My take on 
this is that it would be better to engage them to get them to create the 
stuff that we really all need (and make sure it is cross platform ala 
Mono, because like it or not, the world will not run just one flavor of 
OS/language on clusters/HPC systems ... this is part of the reason IMO 
that things like Java will probably not ever take off as HPC glue like 
python/perl/... do ... we can run Python/Perl/... on pretty much 
anything, good luck getting a late model Java supported on Itanium2, or 
some other beast of an uncommon processor ).


Joe


-- 
Joseph Landman, Ph.D
Founder and CEO
Scalable Informatics LLC,
email: landman at scalableinformatics.com
web  : http://www.scalableinformatics.com
phone: +1 734 786 8423
fax  : +1 734 786 8452
cell : +1 734 612 4615



More information about the Beowulf mailing list