How Well Does Windows Cluster?
cascadefx asks: "I work for a mid-sized mid-western university. One of our departments has started up a small Beowulf cluster research project that he hopes to grow over time. At the moment, the thing is incredibly weak... but it is running on old hardware and is basically used for dog and pony shows to get more funding and hopefully donations of higher-end systems. It runs Linux and works, it is just not anything to write home about. Here's the problem: my understanding is that an MS rep asked what it would take to get them to switch to a Microsoft cluster. Is this possible? Are there MS clusters that do what Beowulf clusters are capable of? I thought MS clusters were for load balancing, not computation... which is the hoped-for goal of this project. Can the Slashdot crowd offer some advice? If there are MS clusters, comparisons of the capabilities would be welcome." One has to only go as far as Microsoft's site to see its current attempt at clustering, but what is the real story. Have any of you had a chance to pit a Linux Beowulf cluster against one from Microsoft? How did they compare?
What do you call a cluster of Windows machines
when they Blue Screen?????
A Cluster Bomb!!!!
Service guarantees Citizenship! Questions Guarantee GITMO.... Amerika Uber Alles!
Licensing would seem to be the first thing that comes to mind.
Software costs for 100 linux machines are close to nill.
Software costs for 100 Windows machines probably won't be.
Granted I have read the licensing on the MS Clustering link but if it like anything else you'll need either a license of some kind on every machine.
--"Karma is justice without the satisfaction"
Anyhow, imagine how much you're paying in software licensing for a large cluster? For a univeristy project, this just doesn't seem to make sense.
One has to only go as far as Microsoft's site to see
Ah, so this is a typical Ask Slashdot then?
--saint
To start, it would take a few hundred dollars per box to put W2000 on it, since they presumably don't want you to just copy their evaluation version.
So unless they're willing to give you their OS for free, why would you even consider it? Suddenly your supercomputer cluster would cost like a real supercomputer... then you could have just bought a real supercomputer!
From what I understand from reading Win 2k Advanced Server's help section on Windows clustering, it is mostly for stability. Kind of like a massive mirror raid system. I really don't see any performance advantage if you're looking for supercomputer speeds, unless your measure performance by uptime. As a side note, what were you using for clustering? I'm currently doing a cluster using mosix for my school and it seems to be going nice. I'm just curious as to what gives the best speed performance on the linux end.
can't sleep slashdot will eat me
Well, my company clusters exchange on Win2K Advanced Server.
We run in what's called an active/active cluster. But for the most part, the machines are just sharing responsibility. In most windows clusters the other server is just sitting there waiting for the first to fail. They share two drives (on seperate hardware either fibre channel or SCSI attached) and when it fails, the other server picks up those drives. Windows writes data to those drives so when the other server picks it up it can import that data and pick up where the other server left off.
Clustering is PERFECT for fault tolerance. It is useless for most intents and purposes for load balancing. If you want load balancing you can use NLBS, but it just plain sucks, and never works right.
Mike @ The Geek Pub. Let's Make Stuff!
With their vaunted stability, and marketing
savvy, their new Cluster Product will be called:
The Cluster Bomb!
Service guarantees Citizenship! Questions Guarantee GITMO.... Amerika Uber Alles!
From Microsoft's site: "The Computational Clustering Technical Preview (CCTP) toolkit is used for creating and evaluating computational clusters built on the Windows® 2000 operating system."
Obviously, they are now attempting to compete with projects like Beowulf. It's probably all part of the M$ aggressive stance on Linux (and other competitors). The real question is, has anybody downloaded this kit and played with it. It's just a technology preview, so how mature is it in comparison to Beowulf or other clustering technologies?
GreyPoopon
--
Why is it I can write insightful comments but can't come up with a clever signature?
"from the please...no-more-beowulf-jokes dept."
too late
Sent from your iPad.
If you're running on old hardware, M$ isn't the way to go.
;)
I still have a useful BSD and a Linux server running on a 486. It doesn't do much, but it works for my purposes. I can't imagine the pain that I would experience trying to run something like XP on it.
Considering how much you can tweak on an open-source OS, I wouldn't begin to consider MS. I mean, Office XP is slow, but how much more do you need to get out of it?
// Agent Green (Ian / IU7 / KB1JQO)
// IEEE 802.3: All 10base Are Belong To Us
MCS (Microsoft Cluster Services) are designed for load balancing and fault tolerance, as where Beowulf Clusters (AFAIK) are more for distrubuted processing load for performance increases (massive threading). MCS works quite well, especially well on Fibre Channel and Brand Name Hardware such as Dells and Compaqs.
Simply put, it works well (but the cost is often an issue due to the cost of hardware in an enterprise) but it is not the same clustering you see with the Unices. E-mail me at my account if you have more specific questions.
My intent is not to start or participate in a flame war, but the term clustering simply implies different things on different OS'.
The date on the M$ "CCTP" website is over a year old... but this is the first I've heard of it. Why hasn't M$ been marketing this? I mean, the fact that it doesn't even work (if that is the case) has never stopped them in the past, eh? ;-)
Has anyone tried this thing?
--jrd
XML is like violence. If it doesn't solve your problem, you're not using enough of it. --AC
A beowulf cluster is not limited to Linux, it could run on top of any OS. I believe NASA did the original design work to be OS agnostic.
http://www.windowsclusters.org/projects.htm gives a list of current Windows clusters.
Finally, are you out of your tiny little mind? I wonder why M$ is so keen to help. There is no such thing as a free lunch, espically from M$.
Ok, you have a solution in place. It works. Some sales guy wants you to change your solution that works.
Make him convince you that the time and cost of the switch is going to gain you something.
Does your current setup not do what you need it to do?
That would be....what, a Grendel cluster?
Hello,
We run a MS cluster here. VERY big app... so big, I am loathe to name figures, because that would identify to MS just who is talking here...
But, we use MS clustering for our web app. Our setup is that we have a database server with 4 procs, and a growing array of web servers with 1 proc each, all of which use disk space on a SAN. W2K clustering manages the load balancing as well as allocating disk space out of the SAN to virtual partitions as needed. The original poster is correct; MS clustering is for load balancing, not computation. I have seen many times Microsoft sales reps don't have a clue of what they're trying to sell; they're just told from on high to replace Linux with Microsoft wherever they can. I think this is clearly a case of that.
My advice? Ask the sales rep to demonstrate how MS clustering will solve a common comp-sci problem with more MIPS than each box alone has. Point out that you're not running a web server or any such service on these boxes, but that they're for raw computation. Even better, see if he'll let you talk to a technician on how W2K clustering can meet your 'unique' (at least to MS) needs.
Now, for everyone else... Don't get me wrong. W2K clustering is a great technology for building highly performant, highly reliable, highly scalable applications quickly and easily. But it scales in the direction of millions of users, not millions of computations.
I am disrespectful to dirt! Can you see that I am serious?!
Clustering for windows requires Windows 2000 Advanced Server, and a great deal of patching. And with old hardware you are out of luck trying to run Windows 2000 Advanced Server.
Distributed computing for Windows has been around for a while though, Seti@home has been doing it for years.
Looks like Microsoft is busy being slashdotted.
Chances are the MS rep didn't understand MS clustering. He just knew that you had a Beowulf cluster and he wanted to sell you MS software so he figured he'd sell you a MS cluster, regardless of whether or not it would do what a Beowulf cluster could do.
However there is a server solution I saw demoed at a MS DPS I attended called Application Center. It allows you to manage your cluster and distributes workloads throughout the cluster.
Now, I'm not sure if you NEED this to take advantage of Windows 2000 clustering. The last time I worked with a MS cluster was under NT 4 and it was failover only. The load balancing was "faked" by a router that would just alternate which server the request was sent to.
(insert "yeah but MS is evil" comment here)
(insert "yeah but Linux Beowulf clusters cost less" comment here)
(insert "yeah but who wants to have to reboot your cluster all the time" comment here)
(insert "I wish the sigs were longer because that's a really good quote by Richard Feynman" comment here)
"For a successful technology, honesty must take precedence over public relations for nature cannot be fooled." -Feynman
My managers will only buy windows products as they have a site liscense with MS. They are looking into Linux a little bit because of the Terminal server w/ load balancing does not load balance and the clusterd computers do not talk to each other. The profiles on the 3 clusterd servers do not update each other at all. This was much better than the last attempt my boss did using an IBM pre configured configured box the whole cluster got a BSOD and corrupted a drive losing data for 3 days. People were not happy.
I can only hope MS's poor performance will make them switch.
Vote early. Vote often. Vote CowboyNeal.
an MS rep asked what it would take to get them to switch to a Microsoft cluster.
first the rep needs to prove that $199.00 per node for software fees has to provide major benifits over the Linux cluster. How many windows clusters can he list for you to call and ask about it? refrences, ones you can call and talk to the guys running/maintaining it. Show where microsoft provided increased profits or savings over an open alternative.
If they cant give you a dollar amount that shows increased profits or major savings then be sure to tell the rep that he shouldn't let the door hit him in the ass on the way out. It isnt MS versus Open anymore in today's economy.. it's what can get it done and save me money or can give me more profits... and this is what makes Open solutions win... microsoft can't give savings and the performance difference isnt enough to give profits that will more than overcome the added expense of Microsoft.
Get real numbers, talk to real people running real clusters on all platforms. if you have real numbers then you can make solid decisions.
Do not look at laser with remaining good eye.
Windows clustering works as advertised for the most part, but is expensive. Some exceptions include heavily loaded machine pulling from fiber channel arrays and NAS. Both of the network attached devices seem to have some problems. Driver issues? Don't know.
Haven't seen the reported "bsod round table" where one machine crashes, shortly followed by another and another. The problems we have seen is a single machine bsods, and the other machines in the cluster don't realize it's down.
If your already in the MS camp, it will work, it look at other solutions. I think they will be more cost effective.
"Science is about ego as much as it is about discovery and truth " - I said it, so sue me.
...with M$'s "Computational Clustering Technical Preview":
* PLAPACK package (open source software)
heh.
-JT
MPI Pro 1.6 from MPI Software Technology, Inc.
Cluster CoNTroller 1.0.1 from MPI Software Technology, Inc
These found on the MS website. It sounds like it's more than load balancing if you ask me... (mpi pro, that would be a commercial version of MPI? I've never used that particular implementation before, only mpich)
You can do a windows cluster thing, but it's still not as good even as Condor for Unix. All in all, I'd say to tell them to go screw themselves unless they want to give you money for a LOT more hardware as well as software, to make up for the fact that you're not going to be able to do as much with it. If MS wants to be taken seriously as a hardcore number-crunching OS, the bastards can EARN it instead of trying to bribe academics.
I've been looking at this a lot myself now, as I'm also building a cluster for use in a computational bio lab at Florida State. It certainly seems that Linux is the only way to go right now. In case anyone cares, my cluster right now is 16 nodes of:
Tyan S2460 with 2 Athlon MP1800+ processors per node
1 gig PC2100 RAM per node
20 gig 7200 RPM Maxtor HD
3Com Gigabit over copper Ethernet
low-end cheapass video and floppy, etc.
All in these really nice rack cases, with a big black 2001 monolith-esque rolling rack to shove it all around in. It cost just about $26,000 to build so far, but the plans are to expand it to as many as 512 nodes within the next year or so. Whee!
How good is any MS product in its v1.0 release?
Seems to me that historically, MS rushes a v1.0 product out to stem the tide of a competing product and then spend the next couple releases getting a "real" product out the door.
I have zero experience with unix clustering but would be suspicious of the MS offering until it has a chance to mature.
That said, with the three computers I have at my place (a p3 desktop, a celeron I use as a low grade server, and my p3 notebook) I'd love to be able to set up a cluster for encoding. Such operations will be the killer app for clustered systems IMHO.
www.lonseidman.com
Gives new meaning to the term cluster-fsck.
You are being MICROattacked, from various angles, in a SOFT manner.
I believe Indiana University has two hardware-similar clusters, one running Unix and one running some flavor of DOS. I don't have to URL but it shouldn't be hard to find.
At my last job, we had a COW (Cluster of Workstations) running all sorts of operating systems. Except Windows. Why? Because they won't run in a production environment for more than a few days without freezing or crashing, and the system administrators refused to babysit them. With Windows 2000, I've had my home machine run for upwards of 28 days without a reboot, but only if all the video drivers are stable and the machine is not doing too much at any given point (say, burning cds while watching movies and keeping my net connection above 200k/s). But so help you if a driver freezes. There's no way to reset them. Your hardware will play into your decision as much as the operating system, I believe, due to stable driver support.
In terms of performance, Windows kernels have pretty good latency compared to 2.2.x linux kernels, so running a full screen dos app might give very good performance, but there's a lot of overhead munching into your RAM, which is likely to be an expensive premium on older hardware.
Lastly, with Windows, I've never heard of doing channel bonding for ethernet (3 100TX cards ~= 1 gigabit), nor diskless booting that I know of. These can be really necessary for large clusters to keep maintenance down and performance up without buying higher end equipment.
Any connection between your reality and mine is purely coincidental.
but based on personal experience, Windows ME is pretty much a cluster.
'Same speed C but faster'
While I haven't been near a Microsoft Cluster in a while, I do remember a couple of things that really stand out about them:
The number of systems able to be part of the cluster is severely limited. At the time, it was limited to 2, but I'm pretty sure that has increased to a somewhat larger single digit number.
The number of applications available to run on the cluster is just as severely limited. Again at the time, there were exactly zero applications, but I know that there is at least one (Exchange) now.
Given the limitations of what uses you can put an MS cluster to, I wouldn't bother with it in the first place.
"Suppose you were an idiot..... And suppose you were a member of Congress... But I repeate myself."
Could you imagine a Beowulf cluster of MS Windows clusters?!
pr0n - keeping monitor glass spotless since 1981.
That MIGHT make sense if he didn't need hardware too. Since THAT'S the case, he should head out to IBM, get a decent midrange, and cluster linux on virtual machines.
No worrying about Software licenses, AND "Professional" support from IBM for both hardware and software.
"I can't give you a brain, so I'll give you a diploma" - The Great Oz (blatently stolen sig)
The only way an NT cluster would make any sense is if you already have a license that has a bunch of unused seats on it. If you don't have to pay anything extra, it might be worth the trouble to use NT for the convenience.
On the other hand, this is one area where MS sorely lags behind in software. For a research cluster, you'll have very little in the way of applications and be very, very alone when something goes wrong.
Also, the whole ethos of computational clusters is for performance. You won't be able to compile the operating system with just what you need, tuned to your hardware and processors. You'll also blow memory with a desktop you don't need. This just isn't a good idea for any serious cluster.
there are some (as far as i understand) very good macintosh clusters that are very easy to use and very fast. especially if nothing (significant) has been done yet, a macintosh cluster computing G4-optimized code would blow away anything else in its price range. I can't say I have ever used one of these, or any other cluster for that matter, but the genuine power and versatility of the mac tells me its gotta be good.
We researched MS Clustering very extensively. We're already an MS shop and even still it was cost prohibitive.
Notes from experience:
1) Clustering with Windows requires one of the following OS setups: Win2K Server WITH MS Application Center, OR Win2k Advanced Server. (Similarly with the XP platform)
2) OS Licenses therefor will run between $1000-2000 _per-machine_!
3) If you need Application center, which you likely will, you're talking (If I remember correctly) about another $1g per.
4) Of course MS is just getting into this so don't expect it to be easy, well documented or stable.
Finishing Notes:
Obviously, Linux would be mucho cheaper
Easiest, and still cheaper than MS would be the Plug-n-Play Mac solution!
No Comment.
Persuade one of your mates to sell them a site license for Linux. If that doesn't work, find some pro-Linux company and offer them some easy cash.
if microsoft could do a computational cluster, wouldn't they have a 5000 box cluster in the super computer list just like the linux clusters.
I run a large B2C e-commerce site with Win2k server. We are running a "cluster environment" with a Cisco Content Swtich providing the load balancing functions, MS SiteServer providing file replication, and SQL server doing DB replication (where the content switch manages failover).
We have tried using Windows 2000 native clustering (file/database). We have found that with limited resources and budget this is difficult to do. You generally have to be running active directory to have the cluster work effectively in terms or load balancing and cluster management. This is a total pain in the ass to manage especially if you are doing a one-off active directory setup.
I have been told MS application center manages this correctly and allows for true software level load balancing. But, I only know of a few large installations using this. Generally, I have found a Ciscoed solution to be the most prevalent.
Bottom Line:Microsoft makes clustering and load balancing to work because you can't rely on one solo server (not matter how big the server is).
Since the middleware runs on WinNT and friends, so will your applications (when properly ported ofcourse).
For example PVM, there are MPI implementations for WinNT too, I just don't remember any links of the top of my head.
A: Give away your OS and clustering software, complete with source code.
Check out ACME at Perdue University. It was setup by a couple grad students on the cheap and really is a model of inexpensive high-performance computing. I think they only spent a coupe grand on the whole thing with help from the school scrap yard. Some good lessons in there. Oh, and they run FreeBSD which, as it's name suggestes is FREE!!
Have a Happy.
The main point of clustering is to take a bunch of "cheap" computers and make them work like a super computer.
If you really want a performance comparison look at the minimum sys req for the clusters:
Linux i386+ with 16mb ram and 200mb hd space.
(unlimited nodes/users)
Windows Win2k/XP server p2/300 64mb ram 800mb hd space.
(+$200 per node/+$500 per every 5 users)
with all of the overhead for windows gui and other apps (whihc are mostly usless in a cluster) you would need three times the system for a windows box to get the same perfrom as a *nix/bsd box.
Unless of course you can cluster DOS then whoa buddy watch out!
I sig therefore I am...
This troll has a point, most Universities have a licensing deal with Microsoft that makes licenses much, much cheaper. So the OS cost should be inconsequential, what matter more is how it performs doing the tasks you cluster computers for and how hard it is to write code for that platform vs. Beowulf. I would think the CPU overhead of Windows would make it not fare well when compared with Beowulf Linux. I realize Windows can arguably outperform Linux on web serving but that's much less an issue of maximizing CPU use.
The only reason I can think of to go with the Microsoft clustering is if its the only way you can get some decent hardware. If you have 20 PIIs now, I would think 20 P4s would trump them even running Windows.
Despite the vitriolic nature of the parent post, what he is saying is correct. The university wouldn't have to shell out a dime beyond paying undergrads to install the software. And as the article mentioned, the MS campus representative was interested in converting the cluster to MS. Campus reps have access to a seemingly infinite stream of free MS products and will typically give them to you upon request or have them mailed in from the distribution center. Anyways, the question was about performance not price...
I've been lucky enough to have access to a Beowulf in my current job, and the way we use it, Windows just wouldn't fly, because there isn't a powerful command line.
We're primarily using the Beowulf for computations which are "embarassingly parallel" - in other words, tasks for which it is trivial to partition the input into 16 equal-sized pieces, give one to each node, and then collect the results and paste them together. For example, multiplying incredibly huge matrices and brute-force keyspace searching are embarassingly parallel.
For us, the primary advantage of running Linux on the Beowulf is that most of the time we don't need to write custom software to speed up a calculation. We just write a shell script that rsh's into each box and runs a program with slightly different command-line parameters on each one.
Obviously for some computational problems it's worth using MPI to have the processes communicate with each other, or load-balancing software so that we can run lots of smaller, but different-sized jobs, and these techniques would probably work equally well whether you're running Windows or Linux.
But for experimentation and prototyping, and quickly distributing easy problems, I think there's an incredible advantage to having a command line. (Of course you could install Cygwin on all of the Windows boxen...but why?)
There are plenty of resources on the net that provide specific details about building clusters and how to optimize the performance. don't forget applications need to be re-written to make them friendly to distribute/parallel processing.
If there's one place where Linux excells and Microsoft needs to be kept out of with armed guards, constentino wire, and rabbid dogs it's the computing research centers in higher education. Scraping by to live and make post graduate tuition can suck, but having to fight for grant money that only lines the pockets of the richest man on the planet just so you can do your thesis is adding way too much insult to injury. For the sake of future scholars, show this salesweasle the door with the help of your foot.
*** Sigs are a stupid waste of bandwidth.
If cost is an issue (since you are running on old hardware) then why would you switch to Microsoft? Not to mention the fact that Microsoft Cluster isn't something to write home about and it most certainly won't run on old hardware. Can you give more specifics on the hardware you have and what you want to do?
Everyone talks about setting up beowulf clusters. It's pretty easy to set them up, just make sure there is a lot of usable bandwidth between the systems.
The question here that isn't being asked is about the application. Sure, you have a cluster. But just what is it doing? What numbers are you crunching with that many gigaflops? To take the beowulf idea out of the realm of geek bragging rights into actual useful production takes an application, and you can bet that most are customer designed in house.
Very little of the OS itself is involved in the real applications that make beowulfs useful and money-making. Take a look at your intended application, and see what its requirements are. If you are writing it in house, tell the MS rep to take a leap, since you wont have to worry about 100+ MS licenses, Visual Studio licenses, or whatever else. If your intended application requires MS OS underneath, hold out on the rep until he agrees to a dramatically reduced price on the software. But worrying about the OS in a cluster before looking at the application is counter productive.
Toodles D. Clown
Slashdot zealot are almost anti-ms users. I think they will reply Ms sucks and linux rocks even if they actually don't know what a cluster is.
For a computational cluster, the OS itself shouldn't really matter. What matters is, do you have the tools you need, and does the environment allow you to work with the cluster in a flexible way.
For a typical compuatational cluster, what determines the performance will be the quality of your application. Only if you pick an OS with some extremely poor basic functionality (like, horribly slow networking), will the OS have an impact on performance.
People optimize how their application is parallelized (eg. how well it scales to more nodes). The OS doesn't matter in this regard. They optimize how well the simple computational routines perform (like, optimizing an equation solver for the current CPU architecture) - again, the OS doesn't matter.
So, in this light, you might as well run your cluster on Windows instead of Linux, or MacOS, or even DOS with a TCP/IP stack (if you don't need more thatn 640K
However, there's a lot more to cluster computing than just pressing "start". You need to look at how your software performs. You need to debug software on multiple nodes concurrently. You need to do all kinds of things that requires, that your environment and your tools will allow you to work on any node of the cluster, flexibly, as if that node was the box under your desk.
And this is why people don't run MS clusters. Windows does not have proper tools for software development (*real* software development, like Fortran and C - VBScript hasn't really made it's way into anything resembling high performance (and god forbid it never will)).
Furthermore, you cannot work with 10 windows boxes concurrently, like they were all sitting under your desk. Yes, I know terminal services exist, and they're nice if you're a system administrator, but they are *far* from being usable to run debuggers and tracing tools on a larger number of nodes, interactively and concurrently.
Last but not least, there are no proper debugging and tracing tools for windows. Yes, they have a debugger, and third party vendors have debuggers too. But anyone who's been thru the drill on Linux (using strace, wc -l
So sure - for a dog&pony show, windows will perform similar to any other networked OS with regards to computational clusters. But for real-world use ? No, you need tools to work.
The ability to run on really old/unused hardware
One free license per machine
Simple... ask for :
- Modifiable source code... essential for University level research.
- Blanket permission to publish research methods and results, including code.
- No NDAs that could limit a student's job oportunities. (i.e. "No Compete" clauses etc.)
- Free or low cost would be nice
:o)
Jonathan WeesnerIf you want to do some kind of renderfarming or number crunching across a network, why would you need *MANY* copies of win2k Server? I might have missed a point, but win2k datacenter is about load balancinglike bandwidth managing, IO requests, and uptime if one of the machines fails, etc...
:)) , but in your case I'd say keep with what you've got unless you get a buttload of funding and a very good reason to move to win2k (which I don't really see), because a datacenter plus admin will cost you in the 6 digits to maintain and license.
If the server holds the data and you have a potential of a lot of clients doing requests (thus I/O, Bandwidth, like a P2P crunching system to name a popular example) In that example, I don't see why you'd want to switch to microsoft if you got it to work on linux, you'll need to have a very good knowledge (or hire someone with) of Microsoft Server products if you want to move to anything more than a standalone server. Also last time I checked with M$ for that solution because I wanted a safer domain and maximum uptime, everything was doubled for 2 machines, I thought it would be a bit cheaper than that but heck, for the price of the Advanced server VS the standalone, with 25 users, you can get an extra tape drive and cheap RAID1 to mirror your critical drives (on a small buisness server)
So if you mention that you WISH you'll get donations, and you want raw computing power, instead of buying MS licenses, concentrate on the goal you try to acheive: distributed crunching power with scalable servers, so basically you'll need HARDWARE to crunch. (I still don't get why you'd NEED server to run number crunching, workstations can do the same and transmit to a server, like I was stating before). Check what you have, check what you need, design around that, do a cost analysis since it seems to be very critical in your case.
There are some cases where you'll want MS servers, here at work I've setted up a MS server to have less configuration and troubleshooting issues with my win2k Pro machines (at least I know when something screws up it's MS related for sure
--- Metamoderating abusive downgraders since my 300th post.
Oh, and referring to us as "trolls" in the same post as using the phrase "linsux" is probably only going to have one outcome, methinks.
No, I don't want a free iPod
i had built a dual-boot NT / linux cluster at my previous job. there was an mpi forNT at that time and i used a samba server to unify user homes across all the machines and both OS'es. we had a similar experience with microsoft, but they were trying to throw hardware at us to keep the cluster "NT only". Opensource tools like samba , VNC, and MPI, were instrumenta in the functioning of the NT cluster. On of the biggest annoyances occured when a job would crash and the mpi would call win32 to create a window with an error message. The shameful aspect was that the processes on that machine could not be killed remotely until someone went and clicked off those annoying error windows! The kill command in the reskit failed to stop those processes since they were being blocked in the win32 part of the kernel! (at least i think so).
You won't find a single Cluster running Window$ in the TOP500 http://www.top500.org
Try submitting this question to beowulf@beowulf.org or to the LinuxBIOS group linuxbios@lanl.gov
You'll get some pretty thorough responses from actual cluster builders and users as to why nobody bothers with Window$ in clustering for performance computations.
.
Quidquid latine dictum sit altum viditur
Yeah, free windows suddenly makes it good? I can get windows for free too from my school's library... in fact I got a copy of Win2k back when I had to do a vb .net project for one of my classes. Right now I don't have a single machine running windows. I have 2 linux machines and a laptop running OS X... that's right I'd rather use a mac than windows (plus os x is pretty cool... UNIX with a cool GUI)
Bottom line, windows clustering is needed for a stable windows... linux is already stable. (My one server that I leave on all the time has been up for 115 days now... my roomate accidentally pulled the plug on it 115 days ago)
The best part about clustering with linux is you can choose to install next to nothing. Let's see you try and install windows without an internet browser... can't be done, why?
Try running W2K clustering on any but a P3 - a fairly fast one with a heap of memory (no pun intended.)
(Speaking of memory -- who in their right mind puts a GUI-based OS on a headless machine???)
For shoestring operations, Beowulf is recycled computing.
Much of the comment pool seen thus far is about the MSFT view of clustering, which is entirely possible what the MS rep was thinking. Computational science simply is not on MSFT's radar as far as I can tell. Thank your favorite deity for that.
Here are your issues. Most computational science codes are written for unix based systems. Cluster codes are either latency sensitive (so they use Myrinet/other) with protocol stack bypasses, bandwidth sensitive (need hundreds of MB/s to do their work, or dataflow sensitive (need packets arriving in the right order in a just in time mode). Most computing centers have hundreds or thousands of users, who need simultaneous access to the resources.
The pragmatic view is that your cluster needs to support many users simultaneously (windows cannot), manage large data flows correctly over high bandwidth low latency pipes (windows cannot), and do so in a manner whereby your costs (porting code, end user costs) do not rise as the number of users increase.
In short, unless MSFT donates lots and lots of new hardware (256 nodes or more of late model AMD/Pentium gear, with 2 GB ram, and 50->100 GB disk per unit, gigE adaptors, etc), you very likely could not effectively run windows in the first place, and your costs to run would skyrocket without some serious software license donation by MSFT. Not to mention the cost of the programmers you would need to port the Unix codes to the windows compilers. Not to mention the additional support headcount you would need to maintain the beast.
In short, MSFT based computing clusters are simply not viable. This is from a cost wise basis, a time wise basis, a headcount basis, and so forth. If MSFT is willing to help you offset all the costs you would incur, great, go for it. Otherwise, have a good long look at some of the cluster linux distros, and stay far away from MSFT products.
Disclosure: I work for a cluster vendor. We will sell what the customers want. Customers do not want MSFT clusters. If they did, our business would be brisk. Never had one inquiry.
pretty much all of the Intel server cards as well as several of the desktop cards support channel bonding. all compaq server NICs support this as well, and it works great.
however, I would take issue with your assertion that 3 100mbit cards are roughly equal to a gigabit card. while it's true that something like 4 100mbit cards will give you close to the real performance of a gigabit card when used on a low end PC, there is much to be gained by using actual gigabit (use of giant frames, better latencies, etc.)
if you're going to build a cluster, and you actually have a budget, you're going to buy decent yet cheap server boxes. these will most likely include 64bit PCI slots, and there lies your motivation for gigabit. the performance there is unparalleled when using a real wirespeed switch, without using faster technologies of a proprietary nature.
my 2 cents.
EOM
resistance is futile...beowulf jokes are unavoidable.
on a more serious note, are any of the distrubuted computing projects (SETI@home, AIDS@, Cancer@, the gene folding project, etc,) using windows?
no? maybe there's a reason.
FreeBSD for the impatient.
blah blah blah blah Linux cluster blah blah blah.
...Execute search MS - terms: cluster
Results: Microsoft Clustering, formally known as wolfpack.
...Execute talk: Yes...MS does clustering, what would it take to convince you to use ours.
I think if I was in the customer's position, I'd agree to it just to shove it back in their face when I ask how it distributes the computing load etc...of course that would be
blah blah blah computing load blah blah
...Execute search MS - terms: computing load
Fuzzy Logic Results: Microsoft Clustering, formally known as wolfpack. Use for load balancing.
Software Included in the Toolkit
Microsoft Windows 2000 Professional evaluation version
Microsoft Windows 2000 Server evaluation version
Microsoft Visual C++® 6.0 Standard Edition
MPI Pro 1.6 from MPI Software Technology, Inc.
Cluster CoNTroller 1.0.1 from MPI Software Technology, Inc.
Visual Fortran 6.5 Standard (Trial Version) from Compaq
Math Kernel Libraries 5.0 from Intel
Computational Cluster Monitor from Cornell Theory Center
PLAPACK package (open source software)
Does this mean that you can get all this stuff (including Visual C++ 6.0) for just $7.95 ???
But your only real choices for what you want are:s eed/appleseed .html
Linux cluster (Beowolf)
http://www.beowulf.org/
or
Mac cluster (MacOS or LinuxOS, AppleSeed):
http://exodus.physics.ucla.edu/apple
There is no real, available, and viable WindowsOS solution. You would be in beta-land, at best.
Consider it if MS will pony up big time (all the HW, SW, and maybe cash for overhead, salaries, gifts to the campus library). Consider it a research project (proof of concept).
You won't be getting your "real" work done with this, though. Use a proven solution if that's your goal.
I got started on Linux about 2 releases before 1.0 - 0.99pl11 I think. Worked beautifully on my 386sx, 25 Mhz processor. Much nicer than Windows 3.1
I use Windows at work and Linux at home, and wish for the day my employer switches
that he says he "works for a mid-sized mid-western university" when his handle has a link to a Ball State University email address.
Just come out and say it.
"A plan fiendishly clever in its intricacies"- Homer Simpson
I guess the topicstater had his answer; Beowulf is for fast computing, Windows clusters are for load balancing.
What I would find more interesting, how is the stability managed?
High end clustering on Intel is still delivered by Calderas UnixWare (Openunix now). A cluster consists of 2 rootnodes which manage the cluster. If one rootnode goes down, another clustermachine becomes rootnode.
The rest of the system is also designed that there is the least possibility of a single point of failure.
I do not know if Linux and Windows can compare to UnixWare clustering.
On Linux it will not be Beowulf then, Beowulf is for speed, not stability or reliability.
On Windows I am not sure, but I do remember Bill Gates at some ComDex event standing by a cluster of 7 Windows 2000 machines, running Fords website. He turned off 1 machine the hard way, and the website kept on running. I do expect him to exactly know which machine to power off, and be sure not to hit a rootnode.
Well, don't worry about that. We can get you back before you leave. (Dr. Who)
:)
hawk
Quasi-related. Lets say I have a bunch of machines sitting around. Is there anything the end user would use Beowulf for?
I don't mean - would it make vi run faster. I understand the very basics at least. But aside from having to write my own code to take advantage of the cluster, are there apps already beowulfized?
I could see where POVRay would be a good app to do this to. Have the controlling machine ship off each line of the rendering to a machines CPU and come back with the result a lot faster.
With enough machines that were fast enough, you could almost provide a real time rendered view of a work in progress.
IAABA. (I am a beowulf admin).
Beowulf clusters get built to support your application, not the other way around. Your choice of hardware and OS will depend on the parallel nature of your code. Do you need myrinet, or can you get away with fast ethernet? Will your code even compile under win32? Do the supporting libraries (PVM/MPI/BLAS whatever) run under win32? What about the queuing system?
How are you going to manage the cluster? You need automation, even for small clusters. How easy is it to add a new user, apply a patch or change a bios setting on your cluster without having to plug a keyboard and monitor into each node? What about central logging? How about automated OS installs when you add another 100 nodes when you get your funding?
Oh. Benchmark, benchmark, benchmark. That means your code, running your datasets, on your hardware and OS. Not vendor supplied numbers. If you have a serious hardware vendor, you should be able to wrangle demo mechines off them. Try before you buy.
All site licensees should remember who it is they are dealing with.
In the not too distant past:
At least one cancer research center had its budget seriously dinged when MS educational licenses ceased to apply.
Large corporations everywhere were pressured into Enterprise Agreements requiring them to keep current levels of Microsoft software.
And so on.
The Enterprise Agreements are especially interesting if you remember the original plans for Windows ME. Microsoft originally planned to strip out all network support in an effort to force businesses to upgrade to W2K.
They ended up backing down that time.
Now, however, imagine a plan that requires clients to upgrade their software but doesn't require Microsoft to guarantee that the upgrade will contain the same functionality.
Oh well. None of my business. People dumb enough to get into these situations deserve what they get.
That's one beowulf cluster that I DON'T want to imagine.
So, he should buy a single computer, emulate a bunch of computers on it, and then run software that to a certain extent allows all the little virtual computers to act as one?
I've got an idea. Maybe he should emulate 100 apple2's on each virtual linux, and then hand code 6502 asm, allowing each virtual a2 to do beowulf style clustering on each virtual linux box, with mosix clustering between each apple2 virtual beowulf on each virtual linux box, all running on a nice IBM mainframe.
I mean, if you're gonna add stupid overhead for overhead's sake, why not go for the gold?
Been there. Done that.
MS clustering is for load balancing and stability. As such, it does a reasonable job. Beowulf is for high-end scientific computing and does a resonable job.
To really do clustering well, you don't want either. You want AIX or Solaris, but you probably can't afford them. But, Linux clustering in load balancing style is developing quickly with IBM, TurboLinux, VMWare and Intel doing many interesting things. Beowulf is still cheaper.
In any case, though, for your situation, there's only one solution and that's Beowulf. Besides afford MS' licensing fees, you mentioned that you're running on older equipment. I sincerely doubt that those servers could run W2K Server in its standalone mode, much less in clustering.
Steven
Years ago, I worked at an ISP that ran partly on Solaris, mostly on Linux. A few MS reps came in to try and get us to switch to NT. We let them go through their routine, then walked them around the operations room, telling them the capabilities of what we had, and asking if NT would match them. The response was repetetively "no". When we pressed them on a few issues, they gave in rather easily. When we asked them why you couldn't bind another IP to an ethernet card under NT without a reboot, they admitted "lazy programming."
So, take the MS reps through the operation, tell them the capabilities. Ask them if they can meet or exceed them. If they say "Yes", you're either not using the real capabilities of your Linux machines, or they're lying.
steve
Oh, you're not stuck, you're just unable to let go of the onion rings.
It's a .gov so they have to use some contract we already have with IBM hardware and the MS site liscense. The director of my department is a big MS fan (even after he upgraded to XP on his laptop and corrupted the drive). I hope to be moving to a different department tho where I can possibly run linux on my desktop pc.
Vote early. Vote often. Vote CowboyNeal.
Philosophy major, right?
It sounds like a good deal at the outset, and, yes you're right, the licensing issues, the cost for hardware, even the access to source code are all arguments that can be debunked.
The problem is that Microsoft forces you to give up your ability to choose other options. Microsoft can offer a lot, but in the end, educational institutions need to keep their options open.
It simply isn't wise for an educational institution to undercut the opportunities of their students by signing the Microsoft agreements that won't allow any competing software to be used.
That's the real issue.
And it's not the same as what you can do with Linux clustering. Here's how it works. Bear in mind this is with released software and hardware, not the vaporous new clustering that you can only see at dog-and-pony shows (ie Windows 2000 Datacenter).
.Net Advanced Server will be pricey. How pricey? Thousands of dollars, I'd imagine, per node. Evidence is becoming available that MS's pricing goal for servers has become to increase the hardware/software spending ratio to 50/50, so you'll end up paying so much to license the software that you could have had twice as much hardware. This isn't that cynical, actually, especially if you look at the new SQL Server 2000 licensing options for Enterprise Edition.
We've got a two-node cluster. Basically, it's two dual-CPU boxes, with a shared fibre channel array. The boxes are connected to the public network, they also are connected via a crossover cable to each other (you could use a switch or a hub if you have more than 2 boxes, we just used a crossover because it's more reliable since we only have two boxes).
The boxes are set up as an active-active cluster. That means there are two virtual machines set up on the cluster, so we can actually use both boxes.
The whole "Clustering" part is in failover, not in load distribution. Bascially, if one hardware node on the cluster goes down, the other node picks up the virtual machine that was hosted on the node. We've got to be careful not to load any virtual machine on the cluster to more than 50% of capacity or if a failover event occurs one hardware node won't be able to handle the stress.
There is no shared load balancing in a Windows 2000 Advanced Server cluster. The gentleman talking about the web server clustering is talking about a different solution, the Microsoft Application Server, which is Microsoft's software load balancer/web deployment system that makes a gob of web servers look like a cluster, as if you combined a good content management package with an Alteon LoadDirector or a Cisco content switch (whatever they're calling the Arrowpoint stuff these days). It's different software for a different purpose. The clustering stuff is for failover only.
If you're doing computationally intensive "stuff", and you want to load balance, Microsoft does not have a solution for that. The rep probably just knew you were doing something with "clustering" and that Microsoft sells "clustering", with no real knowledge of the fact that the clustering that Microsoft has is designed for something different than the clustering you need.
As far as "what would it take to get you to switch", I'd suggest that your answer should not overlook a statement like "Free licenses in perpetuity". Microsoft would probably be more than willing to hand you an eval, or even a few licenses for the current version, but the upgrade to
That's another point, if you want to use clustering, you have to buy "Enterprise Edition" products, like SQL Server EE, which costs 5 to 10 times the amount of SQL Server standard edition.
good luck,
rocketscientist.
It all depends on what application it is you want to dedicate the cluster to, and whether tools are already available.
If you wanted a cluster to do animation rendering and were based on 3D Studio, then you'd probably want your farm to run Windows. Web work could go either way, with Linux being a less expensive solution. A custom coded app would probably be best implemented under *ix, though I could see situations where there might be some resources more readily available under Windows.
They replaced an old IBM SP2 with an Intel cluster running W2K. It doesnt show up very high on the netlib list but I would certainly call them and maybe pay them a visit.
You should check out the AC3 project at Cornell University's Theory Center, which is "home to the largest Windows-based high-performance cluster complex in the world".
There are numerous machines, such as the 256 CPU Veclocity 1, that run MPI-Pro over MyraNet(?), that was one of the 500 fastest computers.
Windows is a very viable and high performance solution for running scientific parallel application, and you should order the $8.00 evaluation kit from MS and check it out for yourself.
I've developed for some of these systems, and have been very impressed. I've worked with Linux clusters too, but only on older, weaker machines, so it would not be fair to compare the two.
(Btw. all opinions here are my own, and in no way should be construed as those of Cornell or the TC).
One thing you might want to consider is administration time, scientists, who are already annoyed that programming destracts them from their real work, might not want to devote the time and effort to learn to and administrate all those linux boxes.
Anyway, if the MS rep is very eager, he might offer you some great deals. MS is very eager to be taken seriously as an HPC option.
Yeah I was helping a grad student the other day setting up a Windows cluster.. its not fun.. not terribly hard, but some of the requirments, and that stupid ass HCL that they have make things a bitch. I would think it would be more likely used for load balancing than anything else, sure you could use it for computational things, but the overhead that windows needs for the OS means that you would get less CPU power than if the system was a Beowulf one
"After all, we're all alike."
:)
hawk
-
Failover clustering. This is an OS service that servers like SQL Server and Exchange plug into that allows Active/Passive or Active/Active clustering over a shared SCSI/Fibre bus. In theory you could write your app to use this service but I think it would be overkill.
-
Network Load Balancing. This is just a software version of the standard kinds of NLB found in cisco boxes.
-
Component Load Balancing. This is the most suitable. It's provided by Application Center and it allows you to deploy COM+ objects on a cluster of machines and have the calls distributed according to the load on those machines. You can control the threading and lifetime of the objects and view the status of the machines pretty easily using the Application Center MMC plugin (or SNMP, I believe). You'd have to wrap the computational part of your application into one or more COM objects. Once you've done that then you can create and call those objects in the cluster as if it were one machine - the clustering is transparent to the client application. I played around with AC a bit when it was in beta for a project that I was working on. We didn't go with it in the end because the design of our application ended up not requiring it (we just went with hardware load balancing), but it seemed like pretty cool technology - if you're into the whole COM thing. It has a really cool rolling deployment feature where you can redeploy your components (and/or IIS application if you have one) to your cluster incrementally while it's still running.
Here's some links to docs on MS's site:Introducing Windows 2000 Clustering Technologies
Application Center home page
Component Load Balancing
Back when Beowulf started there were a few universities that had dual boot systems. I think they ran Linux half day, Windows the other. Windows NT and above have had implementations of MPI and PVM that have worked quite well for a while. MPICH and PVM are both freely available, the problem is that these systems do not integrate well with Visual Studio.You end up needing cygwin/gcc, which is basically Unix on Windows
Most clustering software today is either open source or based on open source and made for the Unix environment. So besides the obvious license and stability questions others have brought up Windows has limited tools and libraries.
ALSO:
There are problems with remote administration, being tied to graphical interfaces for such simple nodes. Wasted efficiency by running the GUI.
Finally Microsoft has a VERY limited knowledge base for this application of Windows nor do many HPC people know anything about Windows.
As you can see from the above, Linux on HPC is basically able to take those same horrible excuses for running Microsoft on the desktop and shove it down their throats.
Yes, Windows can do HPC, but why would you want to?
A few points:
You can set up any application or service to cluster & fail over if required, as long as:
Active/Active mode is more complicated, meaning instances of an application running on different nodes, all accessing the same data on disk. Only certain applications can do this successfully, e.g. Oracle, which does so by using a custom file system and effectively bypassing the Windows Cluster Service. Windows & most apps will normally throw a fit if there are clashing file requests from multiple nodes, since Windows caches file tables in memory and can thus lose track of the real situation on disk (bad news). I've seen it BSOD in such cases.
(this is not a
So the most important determinant of performance is the compiler and whatever libraries you need (such as an MPI library). It's hard to get identical versions of these under both systems, so a true OS-to-OS comparison is hard.
The OS can play a performance role in things like the TCP/IP connection. I recently reviewed a paper which included some comparisons of TCP/IP latencies, and Linux was about half the latency of NT, so communication-intensive apps that use standard sockets would run faster under Linux.
A few prominent institutions have become shills for MS clusters for Beowulf-style computation, but it turns out that MS funded their clusters. If your university has a good name than tell your MS rep you'll switch if MS buys you a big cluster of 2GHz processors and pays your sysadmins' salaries. (They make such offers to big-name universities.) And if you see any papers promoting NT Beowulfs, check carefully to see who funds them.
At my place we used to have some WLBS (Windows Load Balancing Services) systems.
I maintain a ms cluster which is a high availablity cluster. It runs exchange and works well. In looking for computational clusters, I found Top 500 cluster list. Most of the machinces are none intel based and can't run a ms cluster.
Alliance Supercluster Ranked as the World's Most Powerful Intel-based NT Cluster is a press release showing that a NT based cluster broke into the top 500 list in 207th place.
The microsoft site lists the cluster toolkit as a tech preview. It look to me that MS have found a new source of revenue and is now trying to get people to use it.
Microsoft brought us Windows XP. I bought a Mac.
Just curious, will a MS Cluster cause all of the machines to BSOD at the same time or will it be load balanced ;)
this article without the obligatory Beowulf comments?
Escher was the first MC and Giger invented the HR department.
This wouldn't have happened if they had thier servers clustered to handle the load-balancing issues.
Tell the Microsoft sales rep that you are using Linux because that's where many of the advances in clustering technology are being developed. In fact, they recently switched from using Windows as the basis of their development to using Linux, and one of their primary sponsors is Microsoft. Since Linux is clearly Microsoft's first choice for a clustering platform, yours should be too. After all, noone ever got fired for doing what Microsoft told them to!
about that mac solution....
/ hp c.shtml
Yellow dog linux sells a cute little piece of hardware designed for clustering around PPC. very cute...maybe the best balance of cost effective and easy in terms of clustering that ive seen.
http://www.terrasoftsolutions.com/products/briQ
-jef
my understanding is that an MS rep asked what it would take to get them to switch to a Microsoft cluster.
You've got a golden opportunity here! Microsoft does it your way or they don't get the sale.
Let them know the nature of a cluster in a research project. Nodes will be swapped in and out. New ones will be added. Different OSs will be used. So tell them you want a copy of Windows for each potential node, licensed to the University and not to any individual node. Tell them you need full rights to install, reinstall, and uninstall any particular copy on any particular node. Tell them you will not accept any terms restricting the cluster to Windows only.
If you really want to play hardball, tell them you don't even want licenses, but bonafide user-owned copies of Windows subject only to the provisions of copyright. In other words, you don't want to be subject to any EULA. Then you'll discover how much Microsoft wants your cluster to be a Windows cluster.
A Government Is a Body of People, Usually Notably Ungoverned
Actually, version 0.99pl11 and above ran pretty well. After that, 1.0 and above did what it promised. Quite a bit different from NT at the same time.
-Peter
== Just my opinion(s)
"... toolkit is used for creating and evaluating computational clusters" I really hate to say it but M$ would call any cluster of computers a computational cluster.
At some universities, they hold a universal license to certain products. Purdue University, for example, holds a universal license to Oracle and certain M$ products. This means that as long as the software is being used for universtiy purposes, it can be installed anywhere. (At least, this is my interpretation) If this is the case, then the licensing issue becomes moot, and the university could install it damn near anywhere they pleased...
"Goodness, how did you people live long enough to invent tools?" -Hobbes (the tiger, not the philosopher)
What about sourcing issues as well. As I understand it, when building a cluster, the software that you run has to to either be custom or custom modified in order to take advantage of the cluster. With linux/OSS this seems like it wouldn't be too much of a problem, as (providing the requisite skill is available) you could 'simply' modify existing aplications.
However, with Windows and windows software you often do not have that option. Is the management of processes entirely handled at the OS level? It seems like that might be somewhat inefficent, as opposed to having the program handle at least part of the management. If not, are there ANY aplications that are designed for a Microsoft clustering environment?
Try looking at Pooch from Dean Dauger. http://www.daugerresearch.com/pooch/whatis.html
This would allow you to use the Macs (OSX UNIXY goodness too) individually as personal workstations (for writing, graphics, computation, surfing the web) while at the same time using them in clusters for compute intensive work. This makes for a doubly productive machine and one that is much cheaper as more work can be accomplished with it than simply using it as a dedicated node.
Mac clusters are easy peasy to set up (even junior high students are doing it) as the one page instructions should indicate and Applescript'ability. Also pretty damn fast given the built in Gigabit of G4's and the Altivec (if taken advantage of like in Apple's version of BLAST).
Finally, the other item of interest. You can use any Mac you have. G3's, G4's of any model and speed as one does not have to balance everything like on typical clusters where all of your hardware has to be exactly alike. The Macs in your cluster can even have iMacs on the secretaries desk involved!
Visit Jonesblog and say hello.
Then, point out the scads of Beowulf clusters and Linux/Unix based systems.
Finally, inform the rep and your management that you've chosen to use the more cost effective, higher performance and standardized choice...Unix.
If management resists further, do a cost analysis. That'll convince them.
299,792,458 m/s...not just a good idea, its the law!
Galileo: "The Earth revolves around the Sun!"
Score: -1 100% Flamebait
...to ask a question that I wanted to ask as well. Granted, this topic seems a little strange, considering the Linux cluster is in place, and it seems like the kind of question which encourages a Microsoft vs. Linux world domination showdown for grandmaster of the universe. It also shows a limited business sense on the part of the poster (why change something that works well when you can't afford a replacement?).
Right now a coworker and I are looking at pricing and configuring a fault-tolerant cluster for a client who runs Windows 2000 and Exchange 2000. They're a bit paranoid, so they've decided they want a cluster. We've tried to educate them on exactly what a Microsoft cluster can and can't do, so it's difficult to understand exactly what they want (basically an entire network exactly like Microsoft's own, but for $1000).
Pricing on a two system cluster is around $50,000. Buying two copies of Exchange and Windows Advanced Server will total $20,000. Then there's the hardware costs. For our client, they've specifically requested this, so they're ready to pay.
My question to Whamo is are they really taking the Microsoft rep seriously? If they have to pay software costs for their new cluster that's going to mean two things: either buying less CPUs to add to the cluster, or not doing the project at all, because just the software will put them over budget. With Advanced Server running somewhere around $4000 that's a lot per machine when Linux costs at most $5 to burn a CD after downloading it via the university's T1/T3/etc. Whamo says "it is running on old hardware and is basically used for dog and pony shows to get more funding and hopefully donations of higher-end systems" and to me that is your answer. If you can't afford the hardware you can't afford to buy Microsoft's software...
Also, there's MOSIX as well, but I don't have much experience with MOSIX and thus cannot comment on it.
Comment removed based on user account deletion
That's easy. "Can you beat Linux on price? No? Then why are you wasting our time?"
Electricity. No matter what clustering SW or OS you have, you still have to pay the power bill. Chances are the electricity costs for those ancient boxes are higher than the cost for faster, newer, lower-power boxes...
From the link to MS, it appears that although the versions of Win2k are evaluation versions, the version of Visual C++ isn't (I don't give a stuff about the rest).
If you can cope without the optimising compiler of the professional edition (which appears to make little difference which optimisation method you choose), $7.95 (+$1.95 to get it to the UK) for Visual C++ seems like a bargain.
Steve.
Now all we need is a beow....wait, we already have one. Darn!
I've clustered Windows boxes plenty of times. I leave them clustered in a corner of a dark closet. Unplugged.
A cluster of Windows would be a Glass House, and you know what they say about those.
Does it just blow out the circuit breakers?
first off there are several MPI implementations that run under windows. I know PVM has a windows port - as I work with the group that writes it :)(http://www.csm.ornl.gov/torc). you need an rsh client and server for both I think (you do for PVM) I don't know of any free one that works well at the moment, we use ataman rsh services. The other way to go that I have seen is to use the cygwin tool. Another national lab runs a modest size cluster (~512 node) windows cluster but the use pvm and mpi through a cygwin window. As for stability -well they are about the same. On our 64 node cluster (processor craps out, os craps out, whatever). The fellows on the big IBM SP2 get about the same, and the windowz guys get about the same. When you are running the HPC clustering services you are not running much more than a kernel on each machine so no IE explorer and other BS to crash the system. Remeber when people are running real codes (such as weather modeling, nuclear modelling, and genome searching - what they run on our cluster) it would be the equivalent of you running a process that was computing on an aproximatly 6 gig file, using the processors nearly fully, puching the gigether card to it's limit, and using all available ram (512 per node in our case) for several months - the only way a box gets hit that hard is being used a computation node. So yes, it is entierly possible to build even large HPC clusters from windows, though unless microsoft is going to fund you (as they do the other national lab) I would not recoomend it.
------- Sorry about the spelling, I suffer from two problems. Dyslexia makes it difficult to spell well, lazy makes it
Well Get IBM to hook you up with Linux, they dont have all those Linux commercials for nothing.
It fits.
Good judgement comes from experience, and experience comes from bad judgement.
- W. Wriston, former Citibank CEO
Quad Pentium 500 MHz Pentium Xeon's
1 GB memory
6 disk array, three logical mirrored drives.
MS Windows NT Server 4.0 Enterprise Edition
MS SQL Server 7.0 Enterprise Edition.
It should be noted that you must have two NT Server licenses and two SQL Server licenses. If you want to do an active-active cluster it requires four licenses. The Enterprise Editions of these software packages was much more expensive than their standard counterparts. You can not use standard editions for clustering.
Installing cluster services was very easy. The Cluster Manager app was OK outside of the occasional hangs. (Although the manager app hung, the operations were completed, such as failover, failback.)
In order to do active-active clustering you must have two shared storage devices; the active node will only be able to access the shared storage it "owns".
SQL Server installed all right if you followed the MS White Paper exactly. I don't know why, but installation order was important; if you didn't follow it it didn't work.
Applying service packs was extremely painful. The instructions were straightforward but did not work. MS provided us with a program that backed out the SP snafu, which worked somewhat. If it weren't for google we'd have been dead.
MS support is useless IMO. No contracts just pay-by-incident. Have a credit card handy before you do any upgrades of any kind. You will most likely need it.
As long as the cluster was just doing SQL server, it worked great. Failover was seamless. Given the proper hardware, Windows behaved well. Make sure that you only attempt this with certified hardware. Very important.
Once we started adding third party reporting software things started to go bad. Adding it to the cluster services was remarkably easy. However, even though the servers had quad procs and a good amount of memory, simultaneous report requests ground the system to a halt. SQL Server behaved well, around 25% of CPU at most even in heavy load. The reports (JRE) would take up over 50% of the CPU in light load. Very bogus IMO.
A lot of third party apps do not support MS Clustering. Lot's of tweaking to get them to work.
If I were to do it again, I think I would not have used MSCS, but instead have two distinct systems that had some kind of data replication software.
This configuration is also limited to a two node cluster. Although you can run an active-active cluster the instances of SQL Server would be seperate. The data storage areas cannot be shared between the two nodes.
Although I prefer UNIX I try not to be an MS bigot. It does certain things well. I hope that clustering has improved with w2k.
I'm sure the MS guy knows these guys are on a tight budget. It may be that he's asking in the hopes that MS will be able to provide the necessary software (and possibly hardware) gratis...in exchange, of course, for the bragging rights, and possibly use of anything neat they discover or invent.
It may be less of a sales job than an investment in publicity and tax deductions.
gm
Ad luna, Alicia! Ad luna!
The interesting thing about MPI (which, by the way, is the clustering software that's part of Microsoft's clusting kit) is that it's also available on Linux, Solaris, and other OS's if I recall correctly.
We used it in college, and we clustered between an array of Solaris SPARC machines and an array of PCs running Win2k. If you wrote your software correctly, it didn't matter what OS was on the thing as long as you had a version compiled for that environment.
So what I want to know is why on earth anyone would want to build a Windows cluster when they could avoid the bloat and use the exact same software in a more robust and secure environment of Linux.
In the Windows environment our accounts had to be granted administrative access in order for us to run our projects, we'd request the access and it'd be granted for the duration that we were in the lab, then revoked when we left, even if we were just "going to the bathroom quick."
Slay a dragon... over lunch!
that rant would only be good for idiots who dont know what the hell a beowulf is for.
when was the last time you used VB for engineering, computationally heavy tasks?
christ - almost all this shit is written in Fortran still... Fortran 77, i believe and not even 90.
try to change the value of 5 in VB, go ahead... i dare ya.
... hi bingo
Then run the new distributed computing, called The Distributed Folding Project (http://www.distributedfolding.org). It just started last month and there are clients for Linux, Mac, *nix and Windows (in other words: most platforms in use today). I believe this is the first distributed computing project that has a Beowulf cluster install guide :)
If you have questions, visit the forum here: http://groups.yahoo.com/group/distributedfolding/
Microsoft DOES have innovation, quality, and bug-free code, just not TRADITIONAL innovation, quality, and bug-free code.
You need to find a large problem that you are trying to solve, or at least research. Find a problem, setup your models, and start crunching.
Then you go to the vendors/donors and say "we need to make this run fast". This is something they can understand.
Until you have a specified your problem, all your doing is saying "buy me a bigger computer to play with".
I still have an old 100MB IDE drive that houses a 20MB swap partition and an 80MB bootable ext2. It was originally built to be just an X server AKA graphics terminal so that I could still surf/work while my kid was hogging the better box for her own entertainment. The base distro was Slackware. There are no compilers, no source, no dev-libs, no mozilla, no jvm/rte, no emacs, etc. Worked like a charm.
;-) Hmm, perhaps I should just publish the disk image?
It ran on a 386sx40 with 16MB of RAM(4 30 pin SIMMs remember those?). I still have all of the parts except for the case and power supply. Perhaps I'll put it back together, load a web server and/or telnet along with a published user/password and put it out there for all to see.
Good judgement comes from experience, and experience comes from bad judgement.
- W. Wriston, former Citibank CEO
Perhaps those managers who are also ACoA are driven by a deep, almost irrational, need to help others. It comes from a lifetime of helping their parents cope with what they ought to have been able to handle on their own. I don't know if the "telltale control issues" was the panelist's viewpoint or your editorializing but it doesn't reflect any substantiative understanding of the dynamics of alcoholism.
"the best balance of cost effective and easy in terms of clustering"
e ed .html
...is almost certainly AppleSeed.
http://exodus.physics.ucla.edu/appleseed/apples
Check out the MIT Press book
.
Beowulf Cluster Computing with Windows
Click here
Stupid sig of the week: Perl Hackers DIIMTOW
Check out Tom Sterling's latest book "Beowulf Clustering with Windows" available at Amazon. Tom is the Beowulf co-creator and has put out two excellent Beowulf books recently. The other is "Beowulf Clustering with Linux".
Also, the Cornell Theory Center has been very successful with Windows computational clusters. They have plenty of info online.
The combination of "Microsoft" and "clustering" is where we get the word "clusterfuck"....
Max
My god carries a hammer. Your god died nailed to a tree. Any questions?
A company out there provides commercial MPI libraries for a variety of operating systems, Windows included
http://www.mpi-softtech.com/
A couple years back, I was one of the MPI writers/maintainers for a number of platforms (worked with MPICH). As far as performance went with real applications (as well as synthetic benchmarks), Windows and Linux on the same hardware were pretty much the same. Typically computational problems were faster on Windows though because of the better compiler support at the time. Communications performance benchmarks were interesting.
Also, the at the URL above you can find cluster management software (batch scheduling and stuff).
Ugh. I am putting together a win2k cluster at my job, and I have their computational clustering technological preview. For the most part it's a MS marketing scam (Here build a cluster on these trial versions of win2k, and check out our awesome Visual C++. Oh and here're some old versions of the stuff you really need to build a cluster.) It's not really that great IMHO. All you really need is MPI and a bunch of windows boxes. MS likes to push the proprietary MPI Pro from MPI Software Technology.
The AC3 folks at cornell have done quite a bit with these windows clusters. I guess the parallel Matlab is pretty nifty, but there's no reason any of this stuff couldn't be done on a more mature platform.
Personally, my biggest turnoff is the fact that you need KVM switches wired up to each node...well that and the overhead of running the bloatware that is win2k. Compared to a 256 node headless linux cluster we built this just sucks. Hard.
a Beowulf Cluster of these???
"The best laid plans of mice and men gang oft agley..." - ROBERT BURNS
Ive seen a few small NT clusters at SupterComputing 99. so yes its possible. but im guessing its gonna take moremachine to get the same results as a linux cluster of the same kind due to all the over head in NT (gui and whatnot).
I imagine 2k could be setup to be similar but why would you want to? again you have much more over head that an base install of linux which can be custom done to allow you put only what you want and need on saving space and resources.
Linux is free do you really think MS is really just gonna give you licences for a cluster? what if it grows more money will have to be forked out for a licence for that mahcine.
linux: cleaner, stabler, lighter. which probaly all makes the cluster faster. not to metnion cheaper
M$ : bigger, costmore, requires better hardware in many cases.
and dont fix it if it aint broken.
Sounds like good detail from experience...
Acquiescence leads to obliteration
According to this article, Macs are simple to use as clusters:
t ml
http://www.wired.com/news/mac/0,2125,50078,00.h
Whamo submitted the story ABOVE this one, not this one...
"The best laid plans of mice and men gang oft agley..." - ROBERT BURNS
It's nice to see how a little competition encourages Microsoft to innovate. Would they have even considered offering computing clusters without the competition from Beowulf Linuces?
The bitter lessons of a veteran coder: http://bitterprogrammer.blogspot.com
So, why in heaven's name would anyone want to run Windows for clustering? Oh, I can think of one reason: Microsoft may give you a big bundle of money, like it did to these people, but other than "buddy, the first one's on me", they just don't have a point, or a product. The only area where Microsoft is somewhat credible is on the desktop; their product isn't great, but it's usable. For server applications, they are simply not competitive.
Seems that everyone is ignoring the fact that Linux or Windows is irrelevant if the hardware isn't that fast. The poster said that the system works, but isn't great because the hardware isn't great. Once you get new, better hardware, THAT will be the time to evaluate windows vs. linux. However, I suspect that the linux solution will still be the winner. Until then, the important thing is to get better hardware.
We use NT 4 EE (Enterprise Edition) clusters, running Microsoft Cluster Services (MSCS) extensively, on primarily IBM x86 hardware. Clusters run Microsoft SQL Server 7 Enterprise Edition, which is "Microsoft Cluster Aware" as well as applications which are NOT cluster aware.
One co-worker has coined the clustering as a "glorified re-boot" because if Node A crashes, the SQL Server there really becomes totally unavailable for a short period of time before it starts up on Node B (which includes moving the IP Address[es], disk-drives, NetBIOS Name, SQL Server, etc. over to the other node). Maybe Win2k is better about having a "hot standby" or seamless failover.
One huge drawback, at least with NT4 EE and SQL Server 7, is updating (service-packing) SQL -- had to totally UNCLUSTER the whole cluster [a timely endeavor] just to get SQL 7 updated to Service-pack 3.
Another drawback is having applications which are "not cluster aware" and sort of "forcing" them into the MSCS cluster environment -- they don't always behave properly in a failover situation, especially if you have applications which normally require lots of user-interaction to startup and shutdown properly. However, this problem with cluster "unaware" applications is probably true with any cluster.
As others have posted, the key is defining what you want from your cluster and seeing how that matches to the definition of "cluster" put forth by the various vendors you're looking at using.
I mean, it's not really an advantage to pay for licenses, throw away a lot of work you've done on the cluster you have, train for a new environment, etc. Other questions are: which applications are supposed to run on those servers, who is supposed to work with them in the production phase, will you develop for the thing and with which tools?
For the MS-person it'd be great if you switch, so he can tick off another customer converted to Windows, but what do you get out of the deal?
--
"By the way if anyone here is in advertising or marketing... kill yourself." -- Bill Hicks
VMS clustering *IS* the best implementation. But Windows clustering is nothing like the VMS version. Microsoft got Dave Cutler to reimplement the core VMS internals, but they failed to hire the cluster and file system people from DEC.
My experience is with Windows NT 4 Server Enterprise Edition. MS chose to use a "shared nothing" implementation - which, IMHO, means they don't do clustering. There is no cluster-wide locking, software runs on one node at a time, there was a limit of two nodes, and it required a shared disk.
I worked on a Wolfpack (early version of Microsoft clustering) cluster a couple of years ago. Wolfpack clusters were limited to 2 nodes at the time, working as peers. Last time I looked, MS was currently working with 4 nodes, and hoping to reach 16 eventually. They were architected to handle failover and redundancy issues, but not compute intensive problems. (And early versions were not very robust, but I hear that has gotten better.)
Beowulf clusters run with up to thousands of nodes; for compute intensive problems, that would certainly be the choice I'd make. The cost savings re: licenses and reuse of older hardware are bonus items.
A signature always reveals a man's character - and sometimes even his name. -- Evan Esar
Microsoft Cluster services is designed for one thing: High Availability (little or no down time / load balancing). Beowulf clustering is designed for one thing: Parallel Processing (data analysis / number crunching). They are two different types of clustering. The debate on cost is a waste of time. While Linux is as capable of high availability clustering as Microsoft is, it has little cost. With Microsoft you have to buy a license of Advanced server for each cluster node and then have licenses for each application as well. For cluster aware Microsoft apps that means Enterprise editions. Advanced Server costs in the $4000 range. SQL 2000 Enterprise Edition cost in the range of $11,000 per node. If you are backending a website with a SQL cluster, just for SQL you are looking at around $20,000 per processor . If you are looking for a cluster to be online 24x7 then you go with Microsoft (and pay the additional money for support). If you are looking to predict weather patterns, analyse ocean currents, or predict the lottery, use Red Hat and Beowulf (and pay the additional money for support).
I forgot to add that Microsoft on supports 2 node clustering with Advanced Server and 4 node clustering with Datacenter.
... a "pile"? Oh wait, even single processor Windows machines are often called piles...
to err is human, to forgive is divine, to forget is... umm...
Switching to Microsoft is an example of herd mentality. You can't do that and still have a Beowulf cluster. You'd get a Beosheep cluster.
Give a man a fish and he eats for one day. Teach him how to fish, and though he'll eat for a lifetime, he'll call you a miser for not giving him your fish.
Terrorists can't threaten a country's freedom and democracy. Only lawmakers and voters can do that.
BSODs are an issue for Windows and not Unix / Linux primarily because in Unix video / device drivers don't run in the inner ring of the kernel, and can't bring the whole box to it's knees because of a minor bug in a driver or a hardware failure in (what should be) a seconday I/O device.
Windows NT 3.51 had the video drivers (and most other drivers as well) in the outer ring of the kernel where they couldn't down the whole machine, just certain services. I've seen Win3.51 boxes with horribly buggy video drivers just keep right on running when the video would lock up. NT 4.0 and above aren't the same.
The decision to move the drivers into the inner ring of the kernel is why BSODs are a Windows issue. Blaming the user for not setting up his box just right doesn't solve the real issue, poor OS design.
A real OS (unix/linux/OS390/VMS/even NT3.51) doesn't have these problems.
--- It is not the things we do which we regret the most, but the things which we don't do.
our beowulf team (http://home.cwru.edu/beowulf) used pvm for linux, but pvm runs on everything including the kitchen sink. there are new builds of the win9x/nt versions of pvm out on http://www.csm.ornl.gov/pvm/ . it is a good system, i suggest putting all the doc files in one huge binder. not that bad to work with though...
I worked on a project recently that was code named CF, where C stood for cluster. We weren't even using Windows machines. This whole topic sounds like a troll to me.
The beowulf-specific libraries may be OS-agnostic, but that doesn't mean that all OSes are equal.
How's the networking support? What about system services in general? How much overhead from the OS and mandatoy applications and services? What about libraries for the specific task at hand?
Linux/Unix can be stripped down to almost nothing. But can you kill the GUI of a clustered Windows system?
This isn't a trivial issue - I remember reports of some NT servers that were running near 100% capacity with minimal loads. The problem was traced to a screen saver! Once you know this you can disable screen savers, but what about other unneeded services?
For every complex problem there is an answer that is clear, simple, and wrong. -- H L Mencken
Actually, there are several telnet severs available for Win, plus the wide variety of VNC/SMS, etc control programs.
Unfortunatly, the only way to reduce the overhead is to change OSes. Not an option at times.
--
Evan
"$30 for the One True Ring. $10 each additional ring!" -- JRR "Bob" Tolkien
What? Where? How? I thought that only universities could get "site licenses" (no marginal cost per installation); all commercial organisations have to license each MS product separately (even using Open License or Select License, there's still a per-box cost).
It was almost a direct quote. His statement was that the adult children of alcoholics tend to have certain control issues.
He even related a story where his boss's son came in to work as an intern and one day he finnally got curious enough to ask and went to the son and said "Your grandfather wasn't by any chance an alcoholic", to which the kid answered yes.
Well the deep need to help others would be a reason to go into psychiatric work. Its many years of school and training.
He didn't go much into what these issues are, and I don't have much (knowing) experience with the adult children of alcoholics. However, I do know several people with other traumatic childhood backgrounds and they do, as a group, seem to have certain peculiarities that are hard to really pinpoint and list, but are definitly there well enough that I have gotten that intuitive twinge about a person weeks before they actually told me about their past.
So, what he meant by "control issues" im not sure... but management is an interesting style of job with very different stresses and requirements than that of the people being managed, so I would not doubt that there is a high correlation (if not a 1:1) with certain types of experiences and going into management.
(id like to see it correlated with management styles too)
-Steve
"I opened my eyes, and everything went dark again"
We have two vendor imposed windows 2000 advanced, professional, super-duper, mumbo-jumbo systems, each of which was installed by a dell / microsoft engineering team. The rest of our env is Linux / Netware / Solaris / AiX.
Only a few weeks later, the clustering software was so badly broken and tangled up, that we had to separate the nodes, and remove the clustering software and hardware. This occurred for both of them. Nobody could fix it.
The good news, is that I got two new Linux / Oracle database servers out of it.
Thanks Microsoft !!!
- Fargo
I don't know or care how capable windows is at computational clustering. What I do care about is that windows is designed for several things that you just don't need in a clustering environment. It's designed to be compatible with DOS and older versions of windows - well, you don't need that for custom computational work. It's designed to be user-friendly - but in this sort of project, everyone is going to be technically inclined anyway, so a pretty GUI isn't that important.
Those are the main selling points of windows. But they are *selling* points - you pay for the privelege of using these features. I'm not an anti-microsoft fanatic, but why pay for windows here when Linux or several other free OSes would probably do just as well, with less overhead and cost?
I'm the stranger...posting to
Microsoft can FUD anything into reality ... but ask them to give you the names of three other contacts at universities that have successfully implemented a Microsoft clustering solution who are willing to talk to you about this.
... hopefully you can get more than one person at a given university and cross-check their stories.
If someone else has 'successfully' implemented one, you can find out for how large a cluster, what classes of problems it's solving, and how long it stays up (oh, and how many times they've had someone break in). Presumably administrators of an existing installation at a university won't egregiously lie to you
Then find three success stories at universities of Beowulf clusters and similar information for them. Side-by-siding these for your management should make the point verifiably clear. Ask the Microsoft sales rep for these contacts (don't settle for grossly postprocessed 'success stories') and maybe he'll disappear.
I think the point must be made to management that there is no better proof of concept than a working implementation that matches or comes close to your needs.
Design and Analysis of NT and Linux Superclusters for Computational Grids http://archive.ncsa.uiuc.edu/General/CC/ntcluster/ sc99/tutorial/index.htm
Tell your Microsoft rep, "Oh, I dunno.. Microsoft Linux 2002 has a nice ring to it."
AFAIK, Win32 has a two node limit, but i've heard rumors of 4 and even 8 node support floating around in the form of CA releases. It wouldnt be too wild an idea to see Win32 support 4 nodes in the not too distant future.
Windows is the runt of the clustering litter. Even Novell wipes the floor with Win32 in that arena. The hands down winner is still Beowulf.. you cant beat the flexibility, low-level control, support, documentation, and bang-per-buck ratio that PVM offers.
Cheers,
Bowie J. Poag
Having seen first hand how poorly the following setup ran, I'd say steer clear of Microsoft until they admit that reboots are not normal:
2 x HP Netservers, both dual p2 Xeon, 1gb ram, and a small raid shelf with 8x 9gb disks. Both NT4 installs with the correct patchlevels.
One machine ran oracle, the other IIS, these were clustered so that one would take over the task of the other, should there be a problem.
Problems:
1) Crashing (daily at least)
2) Slow (astonishingly poor, disk defrags once a week helped this)
3) Sometimes one host would freeze, and the other wouldn't actually notice
4) Often a shutdown of one node would move the services across, but upon rejoining the cluster - the node with both services would refuse to give one back.
5) Often, IIS would stop talking, and neither node would actually realise.
The attempted solutions:
1) Replaced CPUs, memory, disks, eventually nodes
2) Reinstalled clustering software, eventually total clean installs of operating system and applications
3) Support from Microsoft, and Oracle, and HP who made the (certified) kit. Oracle+HP both pointed the finger at the OS, Microsoft simply failed to help, when we got any response from them at all.
4) (this helped) I used one of the spare HP9000 servers to monitor them remotely by trying test transactions - it alerted people when they fucked up.
I think the above says it all really. Standard software on correct hardware - it just didn't work properly. Microsoft can stick their clustering "technologies" where the sun don't shine.
--
ALL YOUR BASE ARE BELONG TO US!
I can say that, I went to SIU
My beliefs do not require that you agree with them.
We ran four clusters: two file server and two database. The fileservers were using Microsoft Clusters and the database clusters were using Digital Clusters all of it running on Compaq hardware.
The Digital Clusters were stable enough, but they continually dropped the ball on automatic failover, load balanacing was all done manually. The fileservers were supposed to auto load balance and failover, and did neither. We continually had to reapply permissions and recreate shares on the file servers whenever we would manually failover drives, and BSOD's were an almost daily fact of life.
I would hope that things would be better under Win2k, but the technology under NT was just not there at all.
Wu-Tang Name: Half-Cut Skeleton Get your own Wu-Na
Yes you can build a Windows Beowulf cluster. They work very well. Thomas Sterling just came out with a book describing how: "Beowulf Cluster Computing with Windows" Its a Scientific and Engineering Computing Series book from MIT Press.
Hmm, I need extra cash, have BSA investigate thona-consulting, get all of your software for free. Really, how interesting.
I'd like to see you install Windows 2000 on a bunch of old machines... especially Win2k Server. I tried to install it on a pentium 133 and had nothing, but mess.
it's a sig, wtf?
In addition, each server in a Microsoft cluster can be active or passive. Active means it shares in the load (depending on how you configure the distribution of tasks), while passive mode means the server sits there waiting for the active node to fail.
So a M$ cluster is not meant for massive parallel processing operations.
As for Beowolf clusters, I was always under the impression that these were specifically designed for highly scaleable parallel processing (although I've never actually seen or played with a Beowolf cluster).
I can no longer read Dilbert. It's too depressing, because it is too real. -- Hyperhaplo
Good point, but it's not easy to install, tweak, and generally tinker with things on a cluster of windows boxes that like to hang all the time (despite the stability improvements that showed up in win2k). I suppose it'd be the same with linux if you were tied to some heavyweight windowing system for the vast majority of your system tweaking.
Kinda makes me wonder though. Is it even possible to run a windows machine with no keyboard, graphics card, or mouse plugged in?
Enough material about MS clusters to brag about.
Never underestimate the relief of true separation of Religion and State.
Set up 2 parallel clusters. Use the donated crap... er... donated systems and see how well Win2K runs a cluster on Pentium 200's with 64Megs of RAM. Submit the results to the MSRep, and ask him to explain. Make him squirm.....
Feed the need: Digitaladdiction.net
Free, forever. Plus support and upgrades. Then I'll switch. I've used this aproach to chase off many a M$ sales droid while working for poor, underfunded public edumakashun institutes.
--
You sure got a purty mouth...
http://www.microsoft.com/HWDEV/PLATFORM/server/hea dless/default.asp
= /library/en-us/xpehelp/htm/xeconHeadlessSystem.asp
http://msdn.microsoft.com/library/default.asp?url
"Windows Cluster"...seems like there's a word missing...
Of course it's possible. It's not *nice*, but it works.
... ;) It's not fast, but since all it does is pass packets through (cable modem) and block incoming packets it doesn't need to be.
For the record, I maintain a headless NT 4.0 web/database server at work for one of my projects (requires disabling the mouse driver to avoid error messages at startup) controlled via PC Anywhere and a headless Win98SE machine at home as my internet gateway (running SyGate NAT 3.0 and SyGate Personal Firewall) controlled via VNC.
Why NT 4.0? Mandated at the time (the main servers are in the US maintained by an external group - we're in Australia with the admin server for the same system).
Why Win98SE? I tried various linux and bsd distributions on the machine, and couldn't get any to work - Pentium 60MHz, SCSI, plain IDE (not ATAPI) so had to install an I/O card to get a CD-ROM to work, old intel ethernet cards, etc. I've configured it to reboot every night so I don't have stability problems
I was actually involved in presales on some hardware for some clustering and which eventually ended up running on UNIX but Microsoft was involved in the early meetings. They sent along the usual contingent of sell-em-anything sales droids but there was an honest engineer with the group who said:
"It's not really accurate to refer to this arrangement of servers as a wolf "pack". A pack is an organized group with a leader working towards a defined goal using a plan with a visible, known structure. These servers just sort of hang out together. It would be more accurate to call them "wolf buddies"."
Microsoft didn't get to put their software on the solution but I did tend to put more credence in what that particular engineer would tell me about the capablities of Microsoft products.
I can't wait till they make the switch to McDNS so the bloody site will spare me the hassle of resolving at all.
From the coments I've read, most of you seem to think that you will be competing against Beowulf with Win2K. This is not that case - you need to be running DataCenter in order to have more than 2 hosts in the cluster. OK, say you want only 2 hosts in the cluster... you still need to have Win2K Advanced Server (cha-ching!)... and THEN, not all apps will run active-active, some are still bound to active-passive rules. Add to that, your CALs and whatever commercial software you run on it... They don't miss a beat when it comes to licensing. Also, Satan will be stocking up on thermals when DataCenter or Advanced Server is capable of running on lower-end hardware that Linux is capable of. Bruce
That link you gave does talk about IBM making it easier to build Linux clusters. Unfortunately for your argument, it's making them out of many Intel-based boxes, not one of their bigger machines with virtual Linux servers.
Looks like it probably is a stupid idea to build a Beowulf cluster out of lots of virtual Linux servers.
The problem as I see it is that is a cluster you want to squeeze every cycle out of the chips for processing a large problem. You can create a 'cluster' of workstations to process a common problem by having each work on a sepaerate piece of the dataset (Seti at home, renderfarms etc) but that's not we're really about. The aim of beowulf and similar projects is to combine a number of distinct units in such a way so that they attack a problem as a single unit.
Yes you can do it on MS. No you would want to. Why?
1. You can't shave away the parts of the OS that are stealling cycles. Who really cares if the thing can allow you to click on icons or check email while it's processing.
2. You cant rebuild the kernel to include or exclude features. A number of Beowulf type sites rebuild the kernel to include interprocess communication channels to syn the nodes.
3. You're running the system as a single unit through a single user controller, so why the hell would you want to license each node....
4. Doing it through Linux would piss off MS
Personally, reason 4 is the main seller for me:>
There are more important things than Windows vs. Linux.
/.) a couple of weeks ago reporting that on a single machine, numerically intense code ran about 10% faster on Windows XP than on Linux (compiled with the Intel compiler in both cases).
It's not relevant to clustering, do but recall the story in Open Magazine (also discused on
This speedup is probably irrelevant next to questions of efficient distribution of processing power, but is worth knowing about.
More significant is the finding in the same story that numerically intense code compiled with Intel's compiler ran 47% faster than when compiled with gcc, so you should be looking at getting your hands on some funding to buy the Intel compiler rather than worrying about MS and Windows.
Better compiler optimizations could be worth the price of many nodes in your cluster!
MSCS allows for application failover. MS bought WLBS/NLBS and released it (formerly was called convoy cluster server) to allow for LOAD BALANCED TCP/IP APPLICATIONS (web, proxy, DNS, etc). Beoulf as we know, is usually for massive computation.
"You never truly understand a thing until you can explain it to your grandmother" -Albert Einstein
Gee -Hmmm...
;-)
I know - here, there you now have a site license to run Linux on any machine you want.
That is a pretty lame reason to only install windows, especially when it simply ISN'T the right tool for the job!
Have you compiled your kernel today??
your clear lack of understanding of the English language (or a reasonable thought, for that matter) apparently makes you a genius.
You shouldn't be too hard on him. Based on the office locations of his company he's either German, in which case it's understandable, or from London, in which case he's never had a chance to learn English.
Couldn't hurt to have a couple of those admin folks in London do a spell check on the web page though. Even a British dictionary could catch most of the problems.
For a related articles on academia and Windows Clustering go to ftp://catalogtool:catalog@ftp.us.dell.com/app/5q01 -hpc.pdf
or go to
http://www.tc.cornell.edu/ac3/tech/CTChardw.pdf
I think people should mod this reply up.
Quite clearly with so many 1 G cpus it is a rather diapppointing performer. Concidering IBM built two other clusters using 256 1 G cpus and it's about a 66 places higher putting out 66 GFlops more.
That's doesn't make the windows cluster look too hot. Maybe it's cause dell's not used to doing this kind of work. Or maybe the GUI does end up sucking quite a bit of resource.
Really, clustering means so many different things that a question like this just can't be answered.
Even companies like Sun that talk about their 'Clustering technoloy'... are really talking about application specific solutions.
Beowulf? What, you mean using PVM? Windows could do as well as linux, why on earth couldn't it?
Mosix type clusters?
Web clusters that are more of a farm?
It's a silly question.
What's an M$ site licence worth for that site? Ten grand? A hundred grand? That'd almost make it worthwhile suffering through ISO-9002 certification and all of the other bullshit necessary before selling to gummint... we'd sell a Linux site licence for half price and throw in site licences for OpenOffice, AbiWord, SIAG, Apache, Zope, PostgreSQL, MySQL, GIMP, PERL and Python site licences too. (-:
Got time? Spend some of it coding or testing
Getting past what are the wrong tools first: Beowulf is an architecture to do massively parallel computation, so we can eliminate two of the best known HA tools. Microsoft Cluster Service is two or four node high availability, similar to HA Linux's efforts. NLBS is a software form of a hardware load balancer, similar to Cisco Local Directors and only really good for web farms. So what does MS provide to do similar stuff as Beowulf?
COM+ and Queueing Components. AppCenter.
The way it works is this. You write a COM+ component that is transactionally queuing aware. Each component takes a work unit in, processes it, and then sends the result of the transaction to the queueing components for reassembly or re-issue (if a node fails to submit a result, for example, good for checkpointing).
You can use normal Windows 2000 Professional boxes for the worker bees, and use a few Windows 2000 Server boxes to co-ordinate the issuing of jobs and control, and munging the result sets coming back in.
If you need to submit a wide variety of jobs, obviously the COM+ components will be changing regularly, it'd be a good idea to go to AppCenter so that you can treat a bunch of machines as single whole. This allows you to upgrade or deploy an app in a few mouse clicks to literally thousands of machines in a few seconds. AppCenter also has pretty good resource management, something that might be necessary if multiple jobs are running at the same time.
The cool thing is the development environment is really friendly and you can make COM+ components pretty easily and test them locally (for the n=1 case) before deploying to the farm.
There are also specialist MP libraries for the Win32 platform, such as PVM or MPI (WMPI). These have the benefits of re-using the knowledge and API's that users might already be familiar with - one of the biggest thing when a place converts from one supercomputer to another is rejigging and reoptimizing the code for the new architecture.
Andrew van der Stock
Can you imagine a Beowolf cluster of these Beowolf clus...
Oh, never mind.
D'ya think this might be a response to Samba's CAL server ability?
BTW, don't knock savings on CALs. Get 1000 students onto Exchange and you're staring down the throat of at least $USD30,000 in CALs alone. Get 1000 students into PostFix and you're staring down the throat of, well, no licencing costs at all. And you have capacity on the same hardware to serve roughly four times as many mailboxes...
Got time? Spend some of it coding or testing
Actually, it does loosen the screw. The rellies on the farm use a hammer quite effectively as a screwdriver (both ways) and spanner where appropriate. It just doesn't do the screw in question much good...
I've used a hammer myself to gut a dead hard drive for the magnets, when I didn't have a small enough star driver. I just flattened the top of the bolt out to tinfoil thickness and pulled it straight through the metal cover. The technique with screws is different, some light taps can loosen them in their substrate (typically wood or sheetmetal) enough to winkle out by hand. Using somer CRC/WD40 often helps as well.
Got time? Spend some of it coding or testing
One could say that of my sister's case, but with my girlfriend and her best friend, it was a private conversation on the beach between the two of them. I just happened to be around when the conversation took place.
Sometimes boldness is in fashion. Sometimes only the brave will be bold.
Windows 2000 clusters have some significant basic problems, totally discarding the fact that 2K clusters are more for fault tolerance than high computation:
1) RAM. Windows, to start up, will eat 64 megs of the RAM that you want to use for your process. Without a head and no X, you could get Linux down to 4.
2) Disk. Windows boot from a remote FS? Unlikely. To do so you'd need to get network cards that support booting from a network. Its also possible to have one app drive and alot of little drives... but to get Win2K on those, you're going to have to get them about better than about 300m in size. On Linux, you could install the basic stuff on 40 megs. Remember all it has to do is get instructions from your head computer. Or another option: Linux on a floppy, booting / from NFS. No HD needed. Just RAM, CPU, floppy drive, power, and something to put it in. That makes the reboot slower but so what? Whens the node going to go down? Which brings us to...
3) Stability. Lets assume for a moment all these computers arent the same kind and dont have heads. How long, even, till you even know a head has crashed? Linux offers stability that my servers never crash, their uptime is only limited by my want to upgrade them.
4) Price. Even if you are a school, if you get it for free, whats a salesman doing there anyway? I am sure that SOMEONE there is paying for those MS products. Linux? $0. Simple math:
Nodes - Linux cost - Windows cost
1 - $0 - $150
10 - $0 - $1500
100 - $0 - $15000
Overall, I would have to say, the whole concept of a Windows Cluster is just Not There.
I thought the most interesting quote on the Microsoft HPC cluster pages was that they bundle an Open Source application with Windows 2000 Server in the preview kit. Not sure if it is GNU but sounds like it is good enough for MS to use it Cheers VikingBrad
to put you into this shiny new Yugo this afternoon?
It's up to the vendor to prove that it works and that it will be good for you. If they can't show you anything better than what you already have then ignore them, even if they are Microsoft. If they can show you something better, then look for holes and unanticipated costs. Also look at the companies with experience at that end of the market, and not just a big PC company starting to ease into the top end (which is really what they are - hugely successful, but a PC company). It may be a good solution, just get them to prove it.
The first thing that sprang to mind when I read this was, "Microsoft cannot compete, since Windows depends on the GUI."
Remember that one of Microsofts contentions in the anti-trust trial is that they cannot unbundle Internet Explorer from Windows, that the system is so interdependent that no elements can be left out and still function.
So they cannot compete on price, since all other things being equal a Windows machine must have a video graphics card.
They cannot compete on performance, since all other things benig equal a Windows machine must spend resources on storing and running the GUI.
Yesterday, I was showing a very happy WindowsXP owner (who also happens to be a somewhat savvy computer consultant with Unix and Linux experience) the beauty of Debian's apt and dselect packages. He was so happy with the granularity of not installing anything that he doesn't want, that I gave him my Debian 2.2r4 CD. (I'm running Woody anyway)
Bob-
The Ludwig von Mises Institute. The reasoning individuals economics
Microsoft changed the meaning of the word clustering. Much cheaper to do this than to actually offer a competitive product. Gates he speak with forked tongue.
..after the posting about the MOSIX fork last week, I got off my ass and set up a small cluster at home. I took my old dual PII400 and a IBM Thinkpad (PIII, 750Mhz). I actually put another thinkpad in the cluster as well, but since it was running on a wireless link (Aironet) it was more than useless :-)
:-)
Setting up mosix required little more than a kernel patch (a good time to upgrade my boxes to 2.4.17 anyway), apt-get install mosix mosixview, and a couple of small tweaks. I've got Mosixview running over SSH, and with no tweaking at all, I was able to shave a minute off a 2.4.17 kernel build, launched from the 2XPII400.
I was just trying to pound the boxes, so I did builds with make -j 16 or so. I think I need to tweak it somewhat (I was messing with the box speeds throughout the session), as I expected more than just 1 minute off a 6 minute compile, and I could tell I wasn't using the laptop fully as it's CPU wasn't 100% all the time. I suspect this type of compile isn't the ideal test anyway, as it's alot of small files that are done quickly-- the time it takes to TX them over the ethernet would (IMHO) sometimes not be "worth" it given the size of the file. Since the ethernet wasn't maxed all the time either, I think I still have a way to go. I want my boxes to SWEAT when I tell them too!!
I'm the kind of guy who hates his CPU's to ever be less than 90% pegged each
-- I speak only for myself.
I can't speak to the quality of a Linux Beowulf cluster. I did, however, recently setup and install an MS Win2K two server cluster for a large manufacturer.
The hardware:The Software:
The purpose for using a clustered setup was for failover assurance. The active cluster controlled the manufacturing process, and if the cluster went down, the whole plant went down. We settled on a two node cluster. We later discovered that two nodes is the maximum that microsoft "recommends" (read supports). The cluster was to act as the gateway between the plant IT network, and the device network of PLCs for the machinery. The cluster would serve progress reports to the IT network, while controlling and collecting data from the device network. In the case of a failure on one node, the second node was to pick up the load.
After our initial research and development on the project, we became seriously disenchanted with MS clustering. No synchronization, no active replication, no load balancing.... about all it could do is fail gracefully from one node to the other. The three NICs on each node were a real nightmare. First NIC was a heartbeat. Second NIC to the plant IT network. Third NIC to the plant device network. We routinely encountered routing table loops through the heartbeat NIC, causing VERY long delays in connections.
The RAID acted as a quorum drive between the two nodes. The active node had control of the quorum, and the MSDE database was installed there. When a failover occurred, the last transactions committed were in the database. Unfortunately, any data from a transaction in progress was completely lost. The nodes often got confused over who owned the quorum, sometimes both fighting for it, other times both dropping it.
Fortunately, this system is only a prototype, and never controlled anything more important than a machine simulator and an isolated test network. I would highly discourage anyone considering using MS clustering. If you are hosting a web site, you may get some use from it, but if you are looking to perform distributed transaction processing, constant uptime, and at the same time provide a robust system, avoid MS clustering.
As others have pointed out it is *possible* to run a Windows based cluster. It isn't *practical* unless you are willing to put a lot of mony into very high end hardware and support.
The basic problem is system reliability. With commodity hardware, my experience is that a windows boxes have an uptime of less than 20 days. Thats translates in to a single machine crashing with probabilty 1/20 in any day (probably too low). I've successfully run linux clusters where the uptime was only limited by my propensity for upgrading kernels, etc. Given the probability of crashing on a given day to be, say, 1/200 (probably too high.)
Now, remember that most parallel programs will die if any of the nodes crash. Then do the computation:
P(No Nodes Crash during 1 day)= 1 - P(Any Node Crashes) = 1 - [1 - P(one node crash)] ^(# Nodes)
Play with the numbers and you'll see why no-one can afford to run really big Windows clustesr. For even a 20-node cluster there is 64% probability of a crashes every _DAY_. For a 20 node Linux cluster, that number is only 10%. It gets worse the more nodes you have.
Well, to quote my clustering prof:
Clustering apps and toolkits for all brands of *nix are multifluous and are in good use today.
Clustering projects for windows have fail... er, declared success and moved on.
Enough said?
I have used and supported WLBS/NLB on Windows NT 4.0/2000 for the last 3 years in Fortune 250 and 500 companies. I have used it on switches and hubs with many machines and a few.
WLBS works very well if configured properly. I will agree that some of the docs are confusing until you work with the technology for a while, but I can say the same for many man docs as well. WLBS doesn't cause reboots, typically the reboots stem from instabilities in IIS 4.0 (many of which are corrected in IIS 5.0), but many required reboots are caused by shoddy in-house developed code.
WLBS does do an interesting Layer 2 slight-of-hand, but this novel approach makes it very efficient from a server perspective, and on a properly configured switch, the network cost is minimal. WLBS allows scaling out with insignificant diminishing returns, which makes it very cost effective, and no additional hardware is required, especially hardware that would need to be made redundant itself.
As an additional item to many others who have posted here, you cannot flatly say that a Linux solution is cheaper that Microsoft. This is not just a rehash of the TCO arguments, but if your company has a large developer base that scripts for Active Server Pages, or a great application that is making your company serious cash, but uses COM+, Linux is not appropriate. There is no definitive right or wrong here. The point of commerce it to make money, and if you do that with Microsoft's technologies, then the business needs drive that decision.
We have 2 MS clusters for redudancy and we can't manage to keep them running, they are a turn key Dell solution. We two weeks ago Dell put a guy on a plane from Austin to Indianapolis with 2 hours notice to try to get this thing running. Thank god I am a network guy because our server guys have been spending several DAYS at work with VERY short sleep breaks. Our experience has been if you have something important don't use MS software.
a beowulf cluster has three main components, not including the application running on it.
1. A big pile of commodity computing hardware and a fast network interconnecting it.
2. An implementation of distributed computing API that handles things like message passing between nodes.
3. Utilities to manage the cluster as if it were a single machine (like starting a copy of the application on each node, etc)
Looking over this list, windows can run on the same hardware as linux.
There are windows implementations of the Parallel Processing APIs typically used by applications on linux beowulf clusters. Are they as efficient? I don't know. Maybe someone else does.
That leaves 3. The tools for managing the clustered application as if it were running on a single machine. I don't know if these exist for windows now, but I see know reason such tools couldn't be created with relative ease. Windows already has extensive infrastructure for remote monitoring and management.
A beowulf cluster of blue screens?
J
--- Worst tagline ever.
Asking slashdot about Windows Clustering is like asking the Pope about the benefits of Satanic worshipping...
I have no problem with your religion until you decide it's reason to deprive others of the truth.
I didn't say that any Linux-based alternative is better or cheaper than WLBS, although I think that NAT-based load-balancing solutions like the ones offered by Linux offer the benefit of better troubleshoot-friendlyiness than WLBS. I agree that they scale worse than WLBS, but the fact is largely irrelevant for loads up to - I think - a significant chunk of a megabit of served bandwidth - which for a typical non-static windows-based site means at least a few dozens of servers, at which point the cost of a proper hardware load balancing solution becomes more than acceptable.
Also, WLBS works by tricking switches and forcing them to flood all servers with the data packets. This limits your total served bandwidth severely, doesn't it? It MIGHT be very light on the servers, but then if you have N clusters on a single LAN Segment, maybe 100Mbps switched, each cluster gets on average 1/N of 100Mbps. Sure, it can be worked around by using L3, but still you don't scale past 60% of 100Mbps (the remaingin 40% is lost due to to ethernet broadcast collisions - a conservative estimate).
About WLBS working with everything, try to tell that to an Ethernet-over-ATM switch. The trickery there won't work.
About the instabilities: we were running Apache 1.3.something for NT4. It MIGHT have been the custom-code, or it might have been not. A fact is, since they've been moved to an external load balancer those exact same serves were way less crash-prone.
About using what the business needs: I agree 100% with you. But the business also needs something that works. If you need 24/7 coverage to reboot servers as they stop working, it's pretty hard to say the words "TCO" and not start having fits.
As I said, WLBS is gone and is not missed.
Whoa!! Could you imagine a Beowulf cluster of Beowulf cluster jokes?!! Man, that would RULE!
pr0n - keeping monitor glass spotless since 1981.
1. "Windows clustering" AFAIK, only includes load-balancing and some transactions processing, designed for web servers primarily. No one uses it though because application-specific designs are usually better. Cluster management also exists, but I don't think, it's helpful in general.
2. There probably won't be much trouble to put MPI or PVM on a bunch of Windows boxes, and run something clustered. It's however unlikely that this thing will be easy to manage, and certainly the performance is likely to suck because Windows networking was "optimized" in various ways that make sense in a, say, web or mail server, but offer no help otherwise.
3. Windows has no equivalent of MOSIX or other advanced clustering architectures, and messiness of its design doesn't give much hope for it.
Contrary to the popular belief, there indeed is no God.
The guy should just ask the MS rep to show a working
Clustering setup on similar machines, and tell him
if you are satisfied with the setup and all
features that you want are provided and they are
willing to match the cost then you will replace.
They must also match the serviceability. If the
source is not available then they have to come
and correct the problem, as long as the system is
in use.
The rep may not be able to show a working setup,
since these machines are outdated. Win2K may not
even run on these machines. Improving anything due
to clustering may be a very tall order. Then they
have to match the features, that would also be
difficult. Ultimately matching the cost would be
the most difficult job. And giving guarantees is
in the realm of impossible.
Allow me to one-up myself, then:
ALL YOUR BEOWULF ARE BELONG TO CLUSTER!
pr0n - keeping monitor glass spotless since 1981.
Maybe finger was the trial version of Exchange? That would explain why the code name for the full version got censored...
Got time? Spend some of it coding or testing
Fuck off with your shitty moderation, bitch. You moderators are just plain fuckwits. Stupid. Stupid. Stupid.
i hate pansy republicans
So far, No one seems to mention one of the more important aspects of the argument. Which operating system is more prone to a virus? And if one is more prone to a virus, wouldn't that require a reinstall for almost every node of the cluster?