Quote Originally Posted by Ugly n Grey View Post
I see it in modern clusters though there other effective approaches, what we're really suffering from is a lack of new methodology. This is changing though as multi core systems become a way of life. It will take time, but we'll see it happen. New tools are needed that's for certain!
As a side note, this is what I do. I do research trying to improve this situation. The idea is to contain the complexity (i.e. cost) of programming high performance computers so that more scientists have access to the resources. Parallelism is everywhere now and parallel programming is inherently anethema to the way that we normally are taught to think about computers. Most of the ways we program parallel systems are band-aids on a broken abstraction model. As you note, there has been progress, but it is still very much an open research question.