/. MS vs. university Beowulfs
Many of your questions may have already been answered in earlier discussions or in the FAQ. The search results page will indicate current discussions as well as past list serves, articles, and papers.
Bari Ari bari at onelabs.comFri Feb 22 08:32:48 PST 2002
- Previous message: /. MS vs. university Beowulfs
- Next message: /. MS vs. university Beowulfs
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
I found these posts to be the most informative and to the point: Windows Clusters <http://www.windowsclusters.org/> [windowsclusters.org]. "I must now put on the traditional monkey hat of shame, for the naysayers are quite correct. There are TWO microsoft products called clustering. One is used by Windows 2000 Advanced Server to do load balancing, and is, in fact, split into two parts, the first called Clustering, the second Network Load Balancing... see this page <http://microsoft.com/windows2000/advancedserver/evaluation/features/> [microsoft.com], which includes the statement "Both [of the Windows 2000 Advanced Server] Clustering technologies are backwards compatible with their Windows NT Server 4.0 predecessors". The other is High Performance Clustering (HPC), in its current form called Computational Clustering Technical Preview (CCTP), which I am certain has nothing to do with the previous Clustering technology... I doubt it was available for Windows NT 4.0, among other things (thus the Technical Preview status). Notes for any and all interested in this; it's a technical preview, which any other company would call a pre-Beta or an Alpha release. The only way anyone sane would use this in a production system would be as an Early Adoption Partner..." "Microsoft has a few types of clustering: 1. 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. 2. Network Load Balancing. This is just a software version of the standard kinds of NLB found in cisco boxes. 3. 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 <http://www.microsoft.com/windows2000/techinfo/howitworks/cluster/introcluster.asp> [microsoft.com] Application Center home page <http://www.microsoft.com/applicationcenter/> [microsoft.com] Component Load Balancing <http://microsoft.com/technet/prodtechnol/acs/reskit/acrkch5.asp?frame=true#f> [microsoft.com] " " 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 /proc/[pid]/maps, ...), and needed the same flexibility on windows, knows that there is a world of difference between what vendores can put in a GUI and what you can do when you have a system that was built for developers, by developers. 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. " "It seems to me that part of the beauty of a linux cluster is 1. Not having to buy an licence for each machine 2. Having an infinitely configurable system (meaning that you can load as much or as little of the OS and libraries as you want/need) 3. The use of high quality, low/no cost development tools." Eugene Leitl wrote: >On Fri, 22 Feb 2002, Velocet wrote: > >>Have fun wading through the blind linux advocacy and silly jokes to try >>and find any content. >> > >Um, I wasn't suggesting you to read it. I was suggesting writing a few >comments, trying to educate slashdotties about the issues. > >>If someone can summarize any real information they grok from this massive >>thread (ie how good is computational clustering on M$), please post it here. >> > >NT 4.0 did suck bigtime on IP QoS, I don't see the reasons why Win2k >should do differently. Even not to mention node licenses, and stability. > >_______________________________________________ >Beowulf mailing list, Beowulf at beowulf.org >To change your subscription (digest mode or unsubscribe) visit http://www.beowulf.org/mailman/listinfo/beowulf > >
- Previous message: /. MS vs. university Beowulfs
- Next message: /. MS vs. university Beowulfs
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Beowulf mailing list
