Beginning with beowulf

Santiago Muelas smuelas at mecanica.upm.es
Fri Feb 28 00:50:35 PST 2003


Just to give you a big amounts of thanks. Now I'm beginning to understand what is all this world. I haven't answered before to R.G.Brown as I've downloaded your book, Robert, and coudn't take my eyes from  it :-)
It is a nice piece of literature in the same, easy, nice and educational style that I try with my owns. Congratulations!!
Thanks also to M.Hahn and Rafael (I'm afraid, Rafael, that you have taken a very dangerous decission answering my mail. You are too near to me ....  :-)
Once more, thanks to all


On Thu, 27 Feb 2003 06:14:28 -0500 (EST)
"Robert G. Brown" <rgb at phy.duke.edu> wrote:

> On Thu, 27 Feb 2003, Santiago Muelas wrote:
> 
> > Hello,
> > I am a newby to this list and to the beowulf world.
> 
> > As it seems to me that the level of this list is quite high, perhaps I
> > should find another for "beginners". If so, any suggestion on the
> > possible list will be very welcome.
> 
> Naaa, this is the right one, and your questions are pretty focused.
> Don't worry about it.
> 
> > My question is a simple (and I guess a sempiternal) one. I have just
> > run my first parallel program in a "beowulf". I have used up to five
> > processor in an intranet in this School of Enginnering. Everything run
> > o.k. with just one "small" unconvenient: the best result was obtained
> > using three processors, but almost the same as with two. Using the five
> > was a total disaster.
> >
> > The reason seems clear. One computer is a dual one. The network is a
> > totally standard ethernet 100M.
> 
> Don't be TOO hasty to make conclusions.  You could be right, but you
> first need to fully understand why this is normal and expected behavior
> for all parallel code, with the major difference being one of scale.
> The program spends some time computing and some time communicating, and
> at a FIXED scale, especially a small one, one often finds that
> communication times scale up to overwhelm computational advantages as a
> problem is subdivided.  This is basically Amdahl's Law and its more
> quantitative generalizations.
> 
> There is a whole chapter on this very question that derives at least
> simple semi-quantitative scaling forms in:
> 
>   http://www.phy.duke.edu/brahma/beowulf_book/
> 
> or
> 
>   http://www.phy.duke.edu/~rgb/Beowulf/beowulf_book/
> 
> (which is the latest updated version -- I've actually been working on it
> some once again).
> 
> You will very likely find that just making your code BIGGER will make it
> scale well to ten nodes, so computation dominates communication.  This
> is also explained in Sterling, Becker, et. al.'s book.  There are some
> "talks" on the brahma site that go through parallelizing an actual
> application and show how your experience is a perfectly normal one on
> the first pass through.  
> 
> Finally, although a full analysis of your problem may well indicate that
> you need gig ethernet or myrinet to get good scaling (if it is fine
> grained and intrinsically has a lot of communication and is synchronous
> and all that) you might ALSO look at a book or two on parallel
> programming, as efficient parallel programming is not always intuitive
> to serial programmers, even experienced ones.  Parallel algorithms are
> often "different", and naive parallelizations of common tasks may be
> very inefficient.  There is at least one online book on parallel
> programming linked (IIRC) to brahma and referenced in my online book.
> 
> With a very limited number of nodes to scale to, there is no point in
> getting faster communications unless you really need it, and you won't
> know that until you try scaling up your application, studying your
> parallel algorithm, and studying parallel programming in general.
> 
> > Now the question:
> > What would be your advice about network cards (giga-ethernet seems
> > clear but would they be fast enough?), and switches. My plan is not tu
> > use more than ten computers in this first period of approach to beowulf.
> 
> We can't answer that or even help you answer it without much more
> information.  You probably can't answer it yourself without learning a
> bit more.  Study your code, work out its computation to communications
> times (possibly with a profiler), see how the ratio changes when the
> code is scaled up, see especially if it is latency dominated.  If
> latency is killing you (lots of small packets) you may not get as much
> of a boost moving to gigE as you might think.  Latency dominated
> communications problems require high end networks to resolve, e.g.
> myrinet as there can be an order of magnitude difference between
> ethernet latencies and myrinet latencies (with other networks scattered
> out across the field as well -- this isn't intended to disrespect any or
> endorse any, and latency times can vary with implementation even within
> a single paradigm).
> 
> If you look back at the list archives, there is an ongoing and lively
> discussion on comparative virtues of the various networks, so getting a
> definitive, comprehensive answer on which is "best" (has best
> cost-benefit performance, meets your needs) for you will be VERY
> difficult and will definitely require your active participation in
> analyzing the details of your communications pattern.
> 
>    rgb
> 
> -- 
> 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
> 
> 
> 
> _______________________________________________
> Beowulf mailing list, Beowulf at beowulf.org
> To change your subscription (digest mode or unsubscribe) visit http://www.beowulf.org/mailman/listinfo/beowulf


-- 
Santiago Muelas
Profesor de Resistencia de Materiales y Cálculo de Estructuras
ETSI de Caminos, Canales y Puertos (U.P.M)
smuelas at mecanica.upm.es		http://w3.mecanica.upm.es/~smuelas



More information about the Beowulf mailing list