[Beowulf] A fairly simple question

Robert G. Brown rgb at phy.duke.edu
Fri Aug 12 05:22:32 PDT 2005


V B Hunt writes:

> I am a total newbie when it comes to clusters and HPC.  At the same 
> time, I am very interested in the concept and am planning on building my 
> own Beowulf.  The purpose of my Beowulf will be to learn parallel 
> programming, learn more about problems that HPC solves well, and because 
> I want to ;-)  My question is what is the minimum number of nodes to 
> effectively learn programming techniques for clusters?  Just by thinking 
> about it, I would guess that two slave nodes and a head node would be 
> the minimum; however, I have absolutely no practical experience with 
> it.  What are the differences, if any, in programming for a 2-node 
> cluster vs. a 3-node cluster vs. a 4-node cluster vs. a 16-node cluster 
> vs. 1024-node cluster?  This is assuming the hardware of each node is 
> identical to every other node, except for the head node.

To answer your question I suggest that you look at my online book on
beowulf engineering, specifically at the chapter(s) that deal with
parallel task scaling and Amdahl's Law.  Once you understand the
equations derived and discussed there, you can answer your own question,
and will also have a much better idea of why one might (for example) be
content with 100BT ethernet for your 2-4 node cluster, need 1000BT
ethernet for your 16 node cluster, and need a real high speed low
latency network for anything from a 4 node cluster through a 1024 node
cluster.  In other words, there is more to cluster engineering that just
node count -- there is number and speed of the nodes and how many
processors each node has (typically 1 or 2, sometimes 4), there is the
number and kind of the node networks, there is the per-node and per-CPU
memory and ITS speed, even the kind and speed of the node-local disk can
matter DEPENDING ON APPLICATION.

It is the application dependence that really matters.  As you'll learn
in the online book, jobs with certain communications patterns scale
"well" to large numbers of nodes on almost any network.  Other jobs
might speed up when parallelized on six nodes but actually slow down
when parallelized on sixteen, unless you alter other aspects of your
cluster's design.

Now, to directly answer your primary question, I personally think that
you need at least four and ideally six or more nodes to play with in
order to be able to observe some meaningful curvature in toy task
scaling.  Last year I wrote a whole series of articles in the now
defunct Cluster World Magazine that were specifically designed to take
newbies through the process you are embarking on, including learning to
program elementary parallel applications in PVM.  These columns will be
reprinted (soon) on a new website being set up by Doug Eadline.  In the
meantime, also on my website there is a PVM program template (developed
for use in a column:-) that can help you get started with that, and
somebody on list might have a similar MPI program template they can give
you.

Good luck!

   rgb

> 
> Thanks in advance.
> 
> Brice Hunt
> _______________________________________________
> Beowulf mailing list, Beowulf at beowulf.org
> To change your subscription (digest mode or unsubscribe) visit http://www.beowulf.org/mailman/listinfo/beowulf
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://www.beowulf.org/pipermail/beowulf/attachments/20050812/8e09c155/attachment.sig>


More information about the Beowulf mailing list