<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="MS Exchange Server version 5.5.2650.12">
<TITLE>RE: Why not NT clusters? Need arguments.</TITLE>
</HEAD>
<BODY>

<P><FONT SIZE=2>O.K. Let's try this again . . . let me rephrase my original message so that I don't get misunderstood:</FONT>
</P>

<P><FONT SIZE=2>NT sucks as a platform upon which to build distributed processing architectures such as a beowulf class machine.  It's nice to see some strong data to support that because convincing people in an organization to steer away from it is difficult.  For example, our software vendors and administrators "bought into" the Windows platform and NT because of marketing . . . and we live with the shortcommings of the platform.</FONT></P>

<P><FONT SIZE=2>The unfortunate situation is that many business execs have bought into NT so far that it's really expensive for them to switch.</FONT></P>

<P><FONT SIZE=2>I cringe whenever I hear about a company's "clustered NT software".  I achieved more parallelism as an undergraduate using a Parallaxis virtual machine!  </FONT></P>

<P><FONT SIZE=2>Does that help?</FONT>
</P>
<BR>

<P><FONT SIZE=2>Let me add to that:</FONT>
</P>

<P><FONT SIZE=2>1) Developing even simple parallel processing software, (e.g. PVM library) for NT can easily become futile, because Microsoft routinely changes system services so that you have to rewrite your code whenever "new functionality" comes out.</FONT></P>

<P><FONT SIZE=2>2) The "service packs" for NT usually introduce problems for NT applications - especially when you have several applications (all built by different) vendors running on the same machine.  Really difficult to manage multiple products when a service pack causes some products to fail.</FONT></P>

<P><FONT SIZE=2>3) Much credit goes to Dave Cutler and crew from Digital, who helped build NT with some of Digital's OS technology.  But, the system has fallen to cheap marketing ploys - not much substance there, folks.</FONT></P>

<P><FONT SIZE=2>4) Robert is correct about the fact that NT "clustering" products are merely a clever approach to backup applications: if one box fails, the other picks up the slack.  A far cry from the massively parallel computations that beowulf class machines promise (and are producing).</FONT></P>
<BR>

<P><FONT SIZE=2>Richard Schilling</FONT>
</P>
<BR>

<P><FONT SIZE=2>> -----Original Message-----</FONT>
<BR><FONT SIZE=2>> From: Robert G. Brown [<A HREF="mailto:rgb@phy.duke.edu">mailto:rgb@phy.duke.edu</A>]</FONT>
<BR><FONT SIZE=2>> Sent: Friday, October 06, 2000 4:31 PM</FONT>
<BR><FONT SIZE=2>> To: Schilling, Richard</FONT>
<BR><FONT SIZE=2>> Cc: 'beowulf@beowulf.org'</FONT>
<BR><FONT SIZE=2>> Subject: RE: Why not NT clusters? Need arguments.</FONT>
<BR><FONT SIZE=2>> </FONT>
<BR><FONT SIZE=2>> </FONT>
<BR><FONT SIZE=2>> On Fri, 6 Oct 2000, Schilling, Richard wrote:</FONT>
<BR><FONT SIZE=2>> </FONT>
<BR><FONT SIZE=2>> > Nice!  This is the type of thing that corporate types need </FONT>
<BR><FONT SIZE=2>> to hear.  It is a</FONT>
<BR><FONT SIZE=2>> > difficult task to try and convince many </FONT>
<BR><FONT SIZE=2>> managers/supervisors why they should</FONT>
<BR><FONT SIZE=2>> > steer away from NT.  Microsoft, although they have come up short on</FONT>
<BR><FONT SIZE=2>> > enterprise-grade "clusterable" machines, has done a great </FONT>
<BR><FONT SIZE=2>> job of convincing</FONT>
<BR><FONT SIZE=2>> > many execs that NT is "good enough", and attainable.  </FONT>
<BR><FONT SIZE=2>> Convincing them</FONT>
<BR><FONT SIZE=2>> > otherwise is what you're most likely up against here.</FONT>
<BR><FONT SIZE=2>> > </FONT>
<BR><FONT SIZE=2>> > Great data and anecdotes is what it's going to take. . . .</FONT>
<BR><FONT SIZE=2>> > </FONT>
<BR><FONT SIZE=2>> > </FONT>
<BR><FONT SIZE=2>> > Richard Schilling</FONT>
<BR><FONT SIZE=2>> > Lake Stevens, WA</FONT>
<BR><FONT SIZE=2>> </FONT>
<BR><FONT SIZE=2>> You have to be careful here.  I know that you understand the implied</FONT>
<BR><FONT SIZE=2>> meaning of "clusterable" because you've been on the list a fair while</FONT>
<BR><FONT SIZE=2>> but I'm a bit uncomfortable with the use of the word </FONT>
<BR><FONT SIZE=2>> "cluster" as it has</FONT>
<BR><FONT SIZE=2>> been used in the thread so far.  As Greg Lindahl (IIRC) </FONT>
<BR><FONT SIZE=2>> pointed out in a</FONT>
<BR><FONT SIZE=2>> recent relevant thread, "clustering" means different things </FONT>
<BR><FONT SIZE=2>> to different</FONT>
<BR><FONT SIZE=2>> people.  NT does support some very (again anecdotally, as I personally</FONT>
<BR><FONT SIZE=2>> would rather have my teeth drilled with an almost discharged</FONT>
<BR><FONT SIZE=2>> Black&Decker rechargable drill and a dull bit than work with any MS</FONT>
<BR><FONT SIZE=2>> product including NT) nicely implemented failover solutions </FONT>
<BR><FONT SIZE=2>> -- the kind</FONT>
<BR><FONT SIZE=2>> of application where you can run the application in a distributed/load</FONT>
<BR><FONT SIZE=2>> balanced mode and yank the plug on a box and have the application keep</FONT>
<BR><FONT SIZE=2>> ticking.</FONT>
<BR><FONT SIZE=2>> </FONT>
<BR><FONT SIZE=2>> This is very different from the kind of parallel application I was</FONT>
<BR><FONT SIZE=2>> describing (with Greg Warnes inestimable detailed quantitative help:-)</FONT>
<BR><FONT SIZE=2>> in my previous response, the kind that is generally discussed on this</FONT>
<BR><FONT SIZE=2>> list.  It is still useful to differentiate the two in discussions with</FONT>
<BR><FONT SIZE=2>> corporate managers to avoid being trumped by MS sales reps.  If your</FONT>
<BR><FONT SIZE=2>> job/application is computationally intensive, moderately </FONT>
<BR><FONT SIZE=2>> tightly coupled</FONT>
<BR><FONT SIZE=2>> (enough so that node failure causes failure of the job) and </FONT>
<BR><FONT SIZE=2>> distributed,</FONT>
<BR><FONT SIZE=2>> then stability becomes a critical issue unless you REALLY spend</FONT>
<BR><FONT SIZE=2>> money/time to make your application robust to node failure.  If your</FONT>
<BR><FONT SIZE=2>> application is something like a distributed web server or DB server or</FONT>
<BR><FONT SIZE=2>> transaction processor, the SOFTWARE is often loosely coupled </FONT>
<BR><FONT SIZE=2>> and written</FONT>
<BR><FONT SIZE=2>> to be robust against node failure (however expensive and </FONT>
<BR><FONT SIZE=2>> difficult that</FONT>
<BR><FONT SIZE=2>> was originally to accomplish).  There is NT software that is indeed</FONT>
<BR><FONT SIZE=2>> robust in this way.  </FONT>
<BR><FONT SIZE=2>> </FONT>
<BR><FONT SIZE=2>> Linux is just beginning to come up with failover-toughened OS variants</FONT>
<BR><FONT SIZE=2>> (e.g. Turbolinux and some variants of Red Hat) and associated</FONT>
<BR><FONT SIZE=2>> applications.  There's money there (Turbolinux is easily one </FONT>
<BR><FONT SIZE=2>> of the most</FONT>
<BR><FONT SIZE=2>> expensive box-set linuxes) and there will be more there, but </FONT>
<BR><FONT SIZE=2>> this isn't</FONT>
<BR><FONT SIZE=2>> really a traditional forte of Linux.  Part of this is pure economics.</FONT>
<BR><FONT SIZE=2>> Failover robustness is a pain in the ass to accomplish and it </FONT>
<BR><FONT SIZE=2>> requires a</FONT>
<BR><FONT SIZE=2>> lot of real work and investment to accomplish it.  Folks </FONT>
<BR><FONT SIZE=2>> don't even try</FONT>
<BR><FONT SIZE=2>> unless real money is at stake, and up to a couple of years </FONT>
<BR><FONT SIZE=2>> ago there was</FONT>
<BR><FONT SIZE=2>> little or no "real money" in Linux.  This is also </FONT>
<BR><FONT SIZE=2>> (incidentally) one of</FONT>
<BR><FONT SIZE=2>> the differentiating features of Extreme Linux vs Beowulfery.  Extreme</FONT>
<BR><FONT SIZE=2>> includes both beowulfery and failover clustering and other exotic</FONT>
<BR><FONT SIZE=2>> clustering or non-clustering applications of linux and exists </FONT>
<BR><FONT SIZE=2>> in part to</FONT>
<BR><FONT SIZE=2>> foster the development of those applications.  Beowulfery, as Greg L.</FONT>
<BR><FONT SIZE=2>> recently pointed out, is basically high >>performance<< (as opposed to</FONT>
<BR><FONT SIZE=2>> high reliability) computing on COTS Linux clusters.  It is thus the</FONT>
<BR><FONT SIZE=2>> best-known subset of the Extreme, but the two are not identical.</FONT>
<BR><FONT SIZE=2>> </FONT>
<BR><FONT SIZE=2>> A useful rule of thumb is that if you are rolling the parallel/cluster</FONT>
<BR><FONT SIZE=2>> application yourself it is almost certainly not failover </FONT>
<BR><FONT SIZE=2>> robust (unless</FONT>
<BR><FONT SIZE=2>> you work quite hard and expensively to make it so) and NT </FONT>
<BR><FONT SIZE=2>> will be a poor</FONT>
<BR><FONT SIZE=2>> choice if it also runs for long times.  Actually, NT is </FONT>
<BR><FONT SIZE=2>> probably a poor</FONT>
<BR><FONT SIZE=2>> choice for lots of reasons, only one of which is the robustness of the</FONT>
<BR><FONT SIZE=2>> application.  I personally would not like to develop a parallel</FONT>
<BR><FONT SIZE=2>> application on an NT cluster because all my favorite tools are missing</FONT>
<BR><FONT SIZE=2>> and all the tools available cost a lot of money and are highly</FONT>
<BR><FONT SIZE=2>> nonstandard (unless you view MS's efforts in code development software</FONT>
<BR><FONT SIZE=2>> "standard").</FONT>
<BR><FONT SIZE=2>> </FONT>
<BR><FONT SIZE=2>> If somebody else wrote it and made it robust against node </FONT>
<BR><FONT SIZE=2>> failure, then</FONT>
<BR><FONT SIZE=2>> it is a pure cost-benefit issue.  If you have a choice (e.g. the</FONT>
<BR><FONT SIZE=2>> application is available for both linux and NT) compare the </FONT>
<BR><FONT SIZE=2>> costs of the</FONT>
<BR><FONT SIZE=2>> application, the OS, and the admin staff for the two choices, </FONT>
<BR><FONT SIZE=2>> since the</FONT>
<BR><FONT SIZE=2>> failover engineering insulates you from NT's instability (in </FONT>
<BR><FONT SIZE=2>> principle).</FONT>
<BR><FONT SIZE=2>> You'll still almost always find the linux solution to be the </FONT>
<BR><FONT SIZE=2>> cheaper one</FONT>
<BR><FONT SIZE=2>> if it exists.</FONT>
<BR><FONT SIZE=2>> </FONT>
<BR><FONT SIZE=2>> In other cases (where maybe somebody else wrote it, but it </FONT>
<BR><FONT SIZE=2>> isn't robust</FONT>
<BR><FONT SIZE=2>> against node failure) you have to think a bit, but linux is </FONT>
<BR><FONT SIZE=2>> still likely</FONT>
<BR><FONT SIZE=2>> to be the best choice if a linux-based version of the application is</FONT>
<BR><FONT SIZE=2>> available, because literally everything is cheaper and more </FONT>
<BR><FONT SIZE=2>> stable with</FONT>
<BR><FONT SIZE=2>> linux than with NT.  </FONT>
<BR><FONT SIZE=2>> </FONT>
<BR><FONT SIZE=2>> We seem to find a theme here that is worth repeating -- Linux </FONT>
<BR><FONT SIZE=2>> is across</FONT>
<BR><FONT SIZE=2>> the board far cheaper than NT and is generally far more stable and</FONT>
<BR><FONT SIZE=2>> robust at the OS level.  Only if a particular clustering </FONT>
<BR><FONT SIZE=2>> application is</FONT>
<BR><FONT SIZE=2>> available only for NT, or if an organization is rich in NT experts so</FONT>
<BR><FONT SIZE=2>> that there are really significant personnel costs associated with</FONT>
<BR><FONT SIZE=2>> conversion is a deliberate selection of NT over Linux still </FONT>
<BR><FONT SIZE=2>> worthwhile.</FONT>
<BR><FONT SIZE=2>> </FONT>
<BR><FONT SIZE=2>> This can happen and will continue to happen as long as there are niche</FONT>
<BR><FONT SIZE=2>> products that "only" run on NT and as long as there are organizations</FONT>
<BR><FONT SIZE=2>> with a stong core NT staff (and significant capital </FONT>
<BR><FONT SIZE=2>> investment in those</FONT>
<BR><FONT SIZE=2>> individuals).</FONT>
<BR><FONT SIZE=2>> </FONT>
<BR><FONT SIZE=2>> Also, much as I personally dislike MS, there are a few arenas where</FONT>
<BR><FONT SIZE=2>> their products enjoy a decent reputation that isn't wholly </FONT>
<BR><FONT SIZE=2>> ill-deserved.</FONT>
<BR><FONT SIZE=2>> They just tend to be expensive (and hence cost-benefit </FONT>
<BR><FONT SIZE=2>> losers) and very,</FONT>
<BR><FONT SIZE=2>> very proprietary so that committing to them is like getting married to</FONT>
<BR><FONT SIZE=2>> somebody glamourous and expensive to keep that you aren't at all sure</FONT>
<BR><FONT SIZE=2>> that you really like.  Sure they're attractive and even good </FONT>
<BR><FONT SIZE=2>> in bed, but</FONT>
<BR><FONT SIZE=2>> somehow you know that eventually, you're gonna pay for it...</FONT>
<BR><FONT SIZE=2>> </FONT>
<BR><FONT SIZE=2>>    rgb</FONT>
<BR><FONT SIZE=2>> </FONT>
<BR><FONT SIZE=2>> [P.C.-P.S.: Please note that the previous analogy, however tasteless,</FONT>
<BR><FONT SIZE=2>> wasn't a <it>sexist</it> analogy.  I didn't specify whether the</FONT>
<BR><FONT SIZE=2>> individual(s) involved were male, female, neither or both.  I </FONT>
<BR><FONT SIZE=2>> think that</FONT>
<BR><FONT SIZE=2>> the experience of marrying the personality disordered but momentarily</FONT>
<BR><FONT SIZE=2>> "beautiful/handsome/available" when one doesn't really like them and</FONT>
<BR><FONT SIZE=2>> eventually discovering one's horrible mistake probably occurs on the</FONT>
<BR><FONT SIZE=2>> planet of a distant star where the creatures that are mating have six</FONT>
<BR><FONT SIZE=2>> sexes.  Or even just one, in the case of a highly narcissistic (but</FONT>
<BR><FONT SIZE=2>> evolved) species of yeast...;-)]</FONT>
<BR><FONT SIZE=2>> </FONT>
<BR><FONT SIZE=2>> -- </FONT>
<BR><FONT SIZE=2>> Robert G. Brown                              </FONT>
<BR><FONT SIZE=2>> <A HREF="http://www.phy.duke.edu/~rgb/" TARGET="_blank">http://www.phy.duke.edu/~rgb/</A></FONT>
<BR><FONT SIZE=2>> Duke University Dept. of </FONT>
<BR><FONT SIZE=2>> Physics, Box 90305</FONT>
<BR><FONT SIZE=2>> Durham, N.C. 27708-0305</FONT>
<BR><FONT SIZE=2>> Phone: 1-919-660-2567  Fax: 919-660-2525     email:rgb@phy.duke.edu</FONT>
<BR><FONT SIZE=2>> </FONT>
<BR><FONT SIZE=2>> </FONT>
<BR><FONT SIZE=2>> </FONT>
<BR><FONT SIZE=2>> </FONT>
<BR><FONT SIZE=2>> _______________________________________________</FONT>
<BR><FONT SIZE=2>> Beowulf mailing list</FONT>
<BR><FONT SIZE=2>> Beowulf@beowulf.org</FONT>
<BR><FONT SIZE=2>> <A HREF="http://www.beowulf.org/mailman/listinfo/beowulf" TARGET="_blank">http://www.beowulf.org/mailman/listinfo/beowulf</A></FONT>
<BR><FONT SIZE=2>> </FONT>
</P>

</BODY>
</HTML>