I've thought about this a little bit ("what's a node?"). Consider two
kinds of applications; compute intensive vs communication intensive.<br>
<br>
We use to generate pseudorandom numbers by starting with an N-digit
number S, squaring it, taking the middle N digits, repeat. One could
ask, what is the period for a particular seed S? you could perform the
process until you get S back, or zero. Pure compuation, no data, no
contention for cache much less the NIC. Contrast to n-body mechanics
where each planet (whatever) reports it's position and velocity
to every other planet, evey time increment. Lots of need for
interprocess communication.<br>
<br>
So I think from the point of view of the former app, a single
independent thread (such as a hypertrhread on an I7?) is a "node", and
a board with multiple sockets, multiple cores per socket, and multiple
independent threads per core, has many "nodes" per NIC. But from the
point of view of the latter type of application, only the NIC level
board is a node.<br>
<br>
So I distinguish in my mind between "quantum" nodes and "fat" nodes. A
smart, complex application may want to work at multiple layers,
assigning certain jobs to fat nodss and others to quanta, with other
levels possible in between.<br>
<br>
Peter<br><br><div><span class="gmail_quote">On 4/22/09, <b class="gmail_sendername">Douglas Eadline</b> <<a href="mailto:deadline@eadline.org">deadline@eadline.org</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br> This is an interesting question. As multi-core become more<br> pervasive this will beg the bigger question. What is cluster?<br> Recall, there is a design called a "constellation" where the<br> number of cores on the nodes is greater than the number of nodes.<br>
Therefore if you have four 8-core nodes (32 cores total)<br> connected with IB, you have a "constellation cluster".<br> The "parallelism" may be more in the nodes, than between<br> the nodes.<br> <br>
In any case, you have a pile of cores how do you program<br> them? Fortunately MPI will work on multi-core and across nodes.<br> For the most part, OpenMP and threads only work on single<br> motherboards. I investigated this idea (MPI vs OpenMP on<br>
a single multi-core node) and wrote up my results here:<br> <br> <a href="http://www.linux-mag.com/id/4608">http://www.linux-mag.com/id/4608</a><br> <br> Of course, there is a need for more testing<br> with different compilers and hardware platforms,<br>
but it is clear, MPI on multi-core SMP is not<br> necessarily a bad idea, in some cases it is a good<br> idea. There are some who may argue this, but data points<br> are really the only thing worth discussing.<br> <br> I'll have some new hardware in May and I plan on<br>
re-running the tests mentioned in the article.<br> <br> --<br> Doug<br> <br><br> > is it possible to have a single multicored machine as a cluster?<br> ><br> > --<br> > Jonathan Aquilina<br> ><br> <br>> --<br>
> This message has been scanned for viruses and<br> > dangerous content by MailScanner, and is<br> > believed to be clean.<br> <br>><br> > _______________________________________________<br> > Beowulf mailing list, <a href="mailto:Beowulf@beowulf.org">Beowulf@beowulf.org</a> sponsored by Penguin Computing<br>
> To change your subscription (digest mode or unsubscribe) visit<br> > <a href="http://www.beowulf.org/mailman/listinfo/beowulf">http://www.beowulf.org/mailman/listinfo/beowulf</a><br> ><br> <br> <br> --<br> <br>
Doug<br> <br><br> --<br> This message has been scanned for viruses and<br> dangerous content by MailScanner, and is<br> believed to be clean.<br> <br><br> _______________________________________________<br> Beowulf mailing list, <a href="mailto:Beowulf@beowulf.org">Beowulf@beowulf.org</a> sponsored by Penguin Computing<br>
To change your subscription (digest mode or unsubscribe) visit <a href="http://www.beowulf.org/mailman/listinfo/beowulf">http://www.beowulf.org/mailman/listinfo/beowulf</a><br> </blockquote></div><br>