Think Parallel 2010, Five Years of Multicore
The first multicore x86 processors arrived nearly 5 years ago.
Hyper-threading had existed for a number of years before, but we'll probably never acknowledge completely how important that was for getting key changes in licensing and programming... because it doesn't look like it changed much... but it did. I can't imagine how much harder multicore processors would have been without the five years of hyperthreading in the market.
How much has changed in 5 years of multicore processors? A lot, but it is just a start.The number of developers thinking and doing something with parallelism is much larger, even if it is still a small crowd. Intel Threading Building Blocks (TBB), introduced in 2006, has surpassed all other abstractions for C++ programmers to be the most common method for implementing new parallelism code in C++. Intel Parallel Studio brought many things together in 2009 to help tooling. Microsoft Visual Studio 2010 will arrive this year with parallelism features.
Yes, we see a lot of activity - but most programmers haven't felt that parallelism has changed their world. I'd add "yet."
I have a prediction: quad-core processors will accelerate the move to parallelism enormously. First when developers have them for development (on your desk, or on your lap)... and second boost when the installed base is more than 50% quad-core.
Most developers have at least dual-core processors, and most new computers are dual-core. A strong portion of both is quad-core now. None of this existed 5 years ago.
What happens with quad-core? Most attempts to add features or performance with quad-core succeed pretty easily, but making dual-core performance look compelling is difficult. Oh, plenty of people can prove that wrong - but not most applications. I believe that changes in a big way with quad-core. Yes, eight is better - and sixteen... well, don't get impatient!
The other thing happening of course is tooling... we see lots of tools, not just the really great ones from Intel (yes, my favorites)... and these make a difference.
The combination of task-oriented, not thread-oriented, tools, and quad-core - I see as drivers of a big shift.
Time will tell... what do you think?