Apparently I’ve been living under a rock and have gotten behind on this, but I ran across this video from PDC2008. If you’re not familiar, the concept of parallel programming is a nice-to-have right now, but will be required in the coming years. This is because processors are really not getting any faster. Instead, hardware is expanding to multiple cores.
So like me, you say “why should that matter? we have multi-threading!”. Well, it turns out – once it was explained, I now get that multi-threading just gives you one additional thread to run a piece of work. It doesn’t spread that work across multiple cores. So although you get some perceived performance from multi-threading, it is truly different from parallelism.
Parallelism is the notion of truly spreading work across all the available cores and getting dramatically better performance, and actually using the CPU’s to their capacity. I highly recommend this video. Daniel Moth is an excellent presenter and this demo is fantastic if you are new to parallel programming:
and the link: http://channel9.msdn.com/pdc2008/TL26/