Gastón Hillar, a fellow Intel Black Belt Developer, without a doubt knows what he is talking about when it comes to parallel programming. Professional Parallel Programming with C# is an excellent book for anyone looking to optimize their code for the latest generation of multi-core and many-core systems. As I write this blog post there are eight threads executing simultaneously and there are many more threads executing on the servers hosting this blog.
Anyone with even a modest amount of experience writing parallel code will tell you that parallel programming, done correctly, is hard. As Stephen Toub so eloquently states in his forward for the book, aParllel prgomrmnig s I ahrd. Without thread synchronization that simple sentence could be written to the screen just like that assuming that many threads were involved.
Whether you’re a seasoned developer with experience writing multi-threaded applications or someone new to programming, our collective futures are without a doubt many-core and the only way to embrace this many-core revolution is to also embrace parallel programming.
Gastón Hillar begins by introducing the reader to task-based programming, imperative data parallelism, and imperative task parallelism. With that foundation the reader is then introduced to concurrent collections, coordination data structures, and declarative data parallelism using PLINQ. As Stephen Toub said earlier, parallel programming is hard and therefore there are also chapters on debugging code using task-based parallelism, testing and tuning parallel code.
Our futures are without a doubt parallel, the question is are you ready to embrace this future?
Professional Parallel Programming with C# will definitely help you, and your code, embrace parallel programming!