This is indeed the issue. Where to invest time? My opinion, and it is only my opinion, is the following. Please share your own.
Threaded approaches do not scale across clusters. The memory architecture of multi-core is making nodes look more like small clusters i.e. memory is becoming more localized. As Don Becker mentioned in a recent post, efforts to program distributed memory like it were shared memory often end up looking like stylized message passing systems. One other thing about messages. The problem of trying to optimize the compute to communication issue is easier than trying to optimize the compute to locality issue. Therefore, if I were to start a new parallel project of some sort or parallelize an existing code, I would use MPI. Although OpenMP might get me up and running quicker, I would feel more comfortable with a problem cast in MPI. I'm interested in others opinions on this because, I think it is an important issue for the general programing audience and not just us cluster geeks. The difference is we have had a lot more time and experience with this stuff. -- Doug > On Mon, Dec 10, 2007 at 07:40:15PM -0500, Joe Landman wrote: > >> b) the only code that matters is your code (really, this should be >> everyone's mantra with benchmarking in general). > > Well, the problem here is that the question most people are asking is, > "how should I parallelize my code?" This question gets asked before > you know the performance on your code. > > So the mantra doesn't help. > > -- greg > > > _______________________________________________ > Beowulf mailing list, Beowulf@beowulf.org > To change your subscription (digest mode or unsubscribe) visit > http://www.beowulf.org/mailman/listinfo/beowulf > > !DSPAM:475e33cf132131336712104! > -- Doug _______________________________________________ Beowulf mailing list, Beowulf@beowulf.org To change your subscription (digest mode or unsubscribe) visit http://www.beowulf.org/mailman/listinfo/beowulf