Just like there are "Urban Legends" that never seem to die, so it seems there are "Cluster Urban Legends" that persist even today. We have all seen or heard them. Wacky things people say about HPC clusters. As a service to the HPC (High Performance Computing) community, and to the world at large I have decided to prepare a list of my personal favorites. Hopefully, these legends (misconceptions) will eventually fade, but then again, this is the Internet age.
Enough introduction. Here comes the clue train.
1. Can you imagine a Beowulf cluster of these!This comment/joke is seen often on Slashdot when there is some new processor, computer, video game, cluster, or whatever. My answer, of course is "No, not really." Just connecting things does not make a usable cluster. At the beginning and end of the day, HPC is all about price-to-performance. Whatever you connect must make sense. Connecting a bunch of old PII systems to equal the performance of a single Opteron may make sense if you are building a rendering farm, but may be a bad idea if you want to calculate the weather for next week.
So what is a cluster? Let's define it as a collection of workers that communicate to produce a large amount of work. In computer terms, it is computer hardware connected with a some form of communication medium (Gigabit Ethernet for example).
So here is the first thing to remember:
So, yes, imagining a cluster of smart washing machines may make economic sense for someone, but for most HPC people is probably won't be too effective.
By the way, clustering is an old idea. Any time you have more than one thing working together to produce something, you are clustering. Ants do it quite well. Go ahead, say it, Can you imagine ... of ant hills"
2. This software will allow me to connect all the desktops in my company to create an unlimited supply of supercomputing powerThis statement has appeared in the press quite a bit. It seems every time some talks about clustering, this idea comes up. While it does have some merit, the "unlimited supply of computing power" is where the train comes off the track.
Local intranets vary quite a bit in terms of resources. Providing you can resolve the software issue, the economic justification (that price-to-performance thing) depends on what you want to do.
To help understand the dynamics, imagine playing football (American) using cell phones to communicate. Every time there is any communication on the field (play calling, huddle, snap count, referee whistle, time outs, etc.), everyone must stop and wait for the communication to finish by way of dialing a cell phone and calling everyone who needs that specific information. The game would be interesting in weird kind of way, but would also slow down and cost of advertising would quickly drop because there is more time for commercials and the event just got very boring. The "price-to-performance" would be pretty low.
Now image a marathon race of ten runners, where each runner has a cell phone. Over the phone they are told to start. The delay between calls to individual runners may be on the order of minutes, but the race is on the order of hours. The small delay in the beginning will probably not influence the end result too much.
Are you getting the idea? The economics of using latent PC cycles depends on what you want to do. Things like seti@home are like marathon races, where independent runners can be sent out and return at some point. Other problems may require more communication and thus are not economically suitable. For instance, it may take that big "LAN supercomputer" your company owns one week to compute tomorrows weather.
Price-to-performance is determined by what you want to do with your cluster
Remember this statement as well.
3. The Beowulf/MPI/PVM software will turn ordinary PCs into a supercomputer that will then run your programs faster
After reading about unlimited computing power from HPC/Beowulf clusters everyone gets pretty excited. Sorry to have to bring you down, but if your program is designed to run on one processor, it will run on one processor when loaded on your shiny new cluster. Linking with an MPI (Message Passing Interface) or PVM (Parallel Virtual Machine) libraries does not make your program run on multiple processors. Bummer.
There is no magic Beowulf software either. Get over it. Beowulf is the name of the commodity computing project that was developed by Tom Sterling and Don Becker. You can eliminate a large portion of folklore running around in your head if you read this.
There is software from Scyld that is called Scyld Beowulf. This software does some amazing things, but it does not do any magic. There are other cluster distributions ( WAREWULF, ROCKS, OSCAR ), but again if you are looking for magic, you have come to the wrong place.
The programming story is much larger than can be covered here. Just remember:
Programs must be designed to run on a cluster. Parallel programming can be hard.
- Next >>