[Beowulf] Practicality of a Beowulf Cluster
Robert G. Brown
rgb at phy.duke.edu
Fri Aug 28 06:05:53 PDT 2009
On Wed, 26 Aug 2009, J Bickhard wrote:
> So, I was thinking of making a cluster, but wondered: what are the
> practical uses of one? I mean, you can't exactly run Windows on these
> things, and it looks like they're mostly for parallel computing of
> complex algorithms.
> Would an average Joe like me have a use for a cluster?
Possibly none. Your statement above is pretty much dead on the money.
Why would you need more compute power (which is what a cluster is
designed to provide) if you don't need more compute power?
Let is imagine that a cluster is anthropomorphic -- one of my favorite
metaphors is that it is a room full of monks who are all your servants,
ready to do any work for you that you can give them to do. Word
processing, for example, is a monk taking dictation according to your
(finger and mouse driven) input and transforming your wishes into a
lovely illuminated manuscript page. When word processing, though,
nearly all of the monks sit idle, because only one monk is needed to
listen to you and do all of the work of arranging the letters on the
page and filling in all that gold leaf, and THAT monk works much faster
than you can type and spends most of his time twiddling his thumbs and
picking his teeth.
Sure, maybe you have other tasks for your monks that you want done at
the same time -- one monk, for example is playing music gently on a
violin, but he does have recording equipment and a sound room and it
only takes him a second or two to play an hour's worth of music and then
he, too, is idle once again. In fact, the first monk can take time out
between keystrokes and keep the prerecorded music buffer full and still
be making parchment airplanes and sailing them at the other monks while
waiting for something to do.
There are a TINY HANDFUL of tasks you do in normal quotidian computing
-- maybe decoding video streams while handling a complex network and
playing video games -- that actually use up a whole monk, or even a monk
and a half. Nowadays, however, pretty much all CPUs are dual core, so
you always have at least two monks anyway, and quads are increasingly
common giving you four (of which two are nearly always idle but
available in case you want your house painted and taxes done while you
are playing a video game at the same time). But YOU have a hard time
organizing more than two or three way multitasking, and interactively
you just can't keep those damn monks busy.
So what CAN keep a large cluster of monks/CPUs -- tens, hundreds, even
thousands -- busy? Big tasks, in particular big tasks that can be split
up so that all of the monks stay busy. Computations, metaphorically
trying to create an entire illuminated manuscript all at once with every
monk working on a single page in parallel, where the abbot hands out an
assignment to each of the worker monks that will keep them busy all day,
and then handles the results and collates them and arranges for the page
monk 32 illuminated to be sent to monk 133 so that the figure he drew
can be copied accurately and incorporated into the manuscript page that
particular monk is working on and so on.
So in order for a cluster to make sense, you need some sort of work that
can be done in parallel, work that takes a long time (so that your one
monk can't finish it satisfactorily quickly working alone), work that is
important enough to justify the expense.
Does that make sense to you?
> Beowulf mailing list, Beowulf at beowulf.org sponsored by Penguin Computing
> To change your subscription (digest mode or unsubscribe) visit http://www.beowulf.org/mailman/listinfo/beowulf
Robert G. Brown http://www.phy.duke.edu/~rgb/
Duke University Dept. of Physics, Box 90305
Durham, N.C. 27708-0305
Phone: 1-919-660-2567 Fax: 919-660-2525 email:rgb at phy.duke.edu
More information about the Beowulf