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!
One has to only go as far as Microsoft's site to see
Ah, so this is a typical Ask Slashdot then?
--saint
Followup:
From reading the MS Site it looks licensing is based of the EULA of the software being used, so if you are using win2kpro you have to have a copy of win2kpro for each machine etc etc.
--"Karma is justice without the satisfaction"
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.
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'.
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?
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?!
oh, but remember,
:-p
the TCO!!!!!!!!!!!!!
you know how expencive a CS student is!!!! oh my god, how can they afford the astronomical amount of having 5 or 6 of them on one project.
don't you know that if you move to windows for all your reaseach project clustering needs, you only need a chimp....and since educating a chimp is much cheaper than educating 6 bright young men, your university will save a considerable amount of money....especialy when you lay off all those expencive profs and hire an animal trainer.
I am the Alpha and the Omega-3
Looks like Microsoft is busy being slashdotted.
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.
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'
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.
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?)
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.
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.
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.
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
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.
Actually... Chimps are a hell of alot more expensive.
You have to pay someone to clean the cage, and that person alone is going to get paid more than any CS student, probably more than 2 of them.
Never mind that chimps demand a much higher standard of living than students do.
-Steve
"I opened my eyes, and everything went dark again"
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.
:)
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
> Let's just leave BSODs out of it. Maybe an issue but not always. Some people can get
> BSODs down to near nil and others can't but it is always the OS's fault. Hmmmm.
I find this intetresting because I have seen it too.
In my experience a well run Windows system by a person with real clue can last a while and be pretty blue screen free. The same is true for a system run by an idiot who got it all installed right and hardly does anything with the box, just plays some specific game or uses Word or something.
However, when you start installing software and doing different things, they gan get real flakey real fast. Not just in reliability either... users shit all over the box!
I saw someone turn on their computer...it came up... and the desktop was just littered with icons... full. They never manage their stuff, they just keep all that crap that every little software package installs.... is it just me or are companies that make Windows software extremely arrogent? id say MAYBE 1% of the software I use is something important enough that I want an icon for it on my desktop made special... but every peice of windows software seems to think its that special.
my little rant... the unmanageability is why I don't use it. I installed debian GNU/linux on this box 2.5 years ago, have installed software and iuninstalled it over and over... and it never gets unstable.
In a cluster, where software isn't being installed and uninstalled, windows will probably be just fine. Tho frankly, id rather a bunch of unix boxen with tools like cfengine to manage such things.
-Steve
"I opened my eyes, and everything went dark again"
This wouldn't have happened if they had thier servers clustered to handle the load-balancing issues.
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
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.
The thing about things we don't know is we often don't know we don't know them.
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.
For raw MPP numeric processing, W2k is too dam slow. You can boot Linux in 4MB of RAM and less than 64MB of disk, then, just load the libraries you need and nothing else, and you will have a preety decent system. Try thining W2K down and you will have a huge problem there. You can use Sun's GridEngine for Linux (http://www.sun.com/software/gridware/gridengine_p roject.html) and best of all, it's open source!
At the end, it all comes to your soft, if you develop a highly scalable, almost share nothing algorithm, Linux Clustering is the way to go. For fail-over Linux you have tha HA Linux project, once more, Open Source!
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!
Every man-hour spent reading, auditing, and managing licenses is a man-hour that is not applied to real work (he says, posting to /. from his desk at work ;-). Every hour the compute nodes sit idle while licensing is sorted out is a 4.17% performance hit for that day.
All those licenses cost money, which means fewer CPUs. If a compute node costs $400, and licensing is $100/node, you can afford 25% fewer nodes. This is indistinguishable from a free OS that has a 25% performance flaw.
Then there's risk. The software mafia aren't going to audit a Linux cluster, sapping administrative time, and perhaps cease-and-desisting it offline. Linux cluster admins are never going to go to jail because they threw another machine online for the hell of it. Linus Torvalds will never sue a Linux cluster operator into oblivion to make an example of them. These are all possibilities with a proprietary product, and all-too-likely with a notorious lawyer-pit like Microsoft.
-- ;-)
Kuro5hin.org: where the good times never end.
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