Enter your mobile number or email address below and we'll send you a link to download the free Kindle Reading App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your email address or mobile phone number.
Colin Campbell is a coauthor of Model-Based Software Testing and Analysis in C# and he has written several academic papers on mathematically rigorous approaches to software analysis. He is a founder and principal at Modeled Computation LLC, in Seattle.
Ralph Johnson is a research associate professor at the University of Illinois. He was one of the four co-authors of Design Patterns, and the leader of the group that developed the first automated refactoring tool, the Smalltalk Refactoring Browser. For the past few years, he has been working on documenting patterns of parallel programming.
Ade Miller works as a Development Lead with Microsoft’s patterns & practices group, where he manages several agile teams who deliver applied engineering guidance to Microsoft’s customers. His primary interests are in parallel computing and agile software development practices.
Stephen Toub works on the Parallel Computing Platform team at Microsoft. He spends his days designing and developing the next generation of concurrent and parallel programming models for .NET and Visual Studio. His team's blog can be found at http://blogs.msdn.com/pfxteamhttp://blogs.msdn.com/pfxteam.
This is a book of patterns that achieve potential parallelism. It is very important concept that all developers should have a decent grasp on. The patterns teach you how to write programs that run faster when parallel hardware is available and about the same as an equivalent sequential program when it is not.
The book starts with an introduction to potential parallelism, tasks, coordinating tasks, shared data, and the limits of parallelism. It then has a chapter on each pattern which include Parallel Loops, Parallel Tasks, Parallel Aggregation, Futures, Dynamic Task Parallelism, and Pipelines.
It continues with some awesome appendices- Adapting Object-Oriented Patterns, Debugging and Profiling Parallel Applications, and Technology Overview. It ends with a nice glossary, references, and indexes.
The book does a nice job of giving examples in PLINQ (Parallel LINQ) and TPL (Task Parallel Library).
There is a great companion site located on CodePlex. You can download Answers to end of chapter questions, C#, F#, and VB code samples, Appendix B Color Figures, and a nice demo application.
The book is very well written and the authors do a great job of making what would seem like a complex topic easy to understand.
The thing I like most about this book is that there is no fluff. The book is all about getting you up and running, but up and running the right way with the right tools.
This book is a must read for anyone considering moving into parallel programming with the .NET framework.
Was this review helpful to you?
This was a relatively short read, and packed with best practices, examples, and further reading. It's hard to imagine a quicker way to get up to speed on the basics of parallel programming using the .NET 4.0 features. This book was so good I thought I'd check out another "patterns and practices" book from MS; their Prism 4 book. The advice on AgggregateException handling alone is worth the read, but there is so much more. I've been writing software since the 80s, and I'll rate this as "Highly Recommended".
Was this review helpful to you?
I have to admit that I was disappointed in the book not covering .NET multi-threading outside of of the PCL library. It would have been nice to have some notion how to do parellel programming outside of the .NET 4.0 framework (which was why I bought the book). There were no design patterns to speak of that did not deal with PCL or PLINQ. It was, however, useful in understanding what is possible in .NET 4.0 and what the general layout should be used for various situations for parellism. I initially had troubles digesting the functional programming associated with PLINQ. It took me a bit to grasp what was going on. I must admit, however, that once I got an idea of the syntax of LINQ and PLINQ, the utility of PCL became clear, not just in the book's limited context but for parellism in .NET in general. Once I got over the hurdles, this quickly became a 4-star book. Once I get to .NET 4.0, I look forward to using PCL and PLINQ, and this book is a great introduction.
Parallel Programming with Microsoft.net: Design Patterns for Decomposition and Coordination on Multicore Architectures offers programmers using Microsoft.net a fine collection of proven patterns and practices for blending into any project. Quality source code and documentation are developed for software development teams using parallel programming and offers proven keys to frequently used patterns. Technical computer collections need this!
Ade Miller currently works for CenturyLink Cloud, formally Tier 3. He is a member of the agile development team which is responsible for all aspects of the cloud platform. CenturyLink Cloud offers a complete cloud management platform for mid-tier to large enterprises, as well as SaaS providers.
Prior to joining Tier 3 Ade worked at Microsoft for ten years. He had several roles including; Software Architect with Microsoft Studios, Program Manager with the Windows HPC Server 2008 R2 team working on LINQ to HPC and Development Lead for Microsoft's patterns & practices group. Before joining Microsoft, Ade worked on a variety of interesting projects including a web start-up, embedded languages, and High Performance Computing.
Ade's primary interests are parallel and distributed computing and improving the way teams develop software through engineering leadership. He is one of the authors of C++ AMP: Accelerated Massive Parallelism with Microsoft Visual C++, Parallel Programming with Microsoft Visual C++ and Parallel Programming with Microsoft .NET. Ade also writes and speaks about parallel computing and his experiences with agile software development at Microsoft and elsewhere. Ade received his BSc and PhD in Physics from the University of Southampton, UK.