Parallel programming is the focus of increasing interest
economist.com
economist.com
That's why I have a print subscription to the Economist.
Seems a little premature, I wouldn't rule out some big leap forward in processor technology. Very good article though.
http://ieeexplore.ieee.org/xpl/tocresult.jsp?isnumber=567250...
They even have an article about Intel Threading Building Blocks -
http://ieeexplore.ieee.org/Xplore/login.jsp?url=http%3A%2F%2...
Threading Building Blocks is open source C++ and can be found here-
OpenCL could be used either for task parallel(for serial programs and multiple CPUs) or for data parallel(GPUs), and it works really well.
I bet it has more money behind from Apple, Intel, AMD and NVIDIA that ten times whatever MS has invested. (And those companies are hardware companies and know what they are doing).
The problems that are trivially parallel are well suited to be solved by functional/reactive programming via languages like Haskell, Erlang, Scala, F# and Ocaml.
List.map can be safely parallelized in a functional language where as it cannot in an imperative language. That's what I'm getting at.
In a functional language (lets say haskell) you could switch the implementation of map to a parallel one and the community would probably accept it because there are a few edge cases involving doing something with a monad where it would break but 99% of code would work. If you did the same thing in Java/C/C++/C#/Python/Ruby it would break massive amounts of code.
In theory they have absolutely nothing to do with each other, but in practice they have a lot to do with each other.