|Categories||Download eBook: Parallel Programming with Microsoft .NET|
This book introduces design patterns for Decomposition and Coordination on Multicore Architectures. It describes parallelism within a single multicore node with shared memory instead of the cluster, High Performance Computing (HPC) Server approach that uses networked nodes with distributed memory.
It shows C# and VB.NET programmers how to effectively take advantage of the multicore capabilities of modern PCs using the Microsoft platform. The CPU meter shows the problem. One core is running at 100 percent, but all the other cores are idle. Your application is CPU-bound, but you are using only a fraction of the computing power of your multicore system. What next?
The answer, in a nutshell, is parallel programming. Where you once would have written the kind of sequential code that is familiar to all programmers, you now find that this no longer meets your performance goals. To use your system�s CPU resources efficiently, you need to split your application into pieces that can run at the same time. This is easier said than done. Parallel programming has a reputation for being the domain of experts and a minefield of subtle, hard-to-reproduce software defects.
Examples of these patterns are parallel loops, parallel tasks and data aggregation with map-reduce. Each pattern has its own chapter. Each chapter includes a description of the problem, an example of where the pattern is applicable, and code that implements the solution.
This book focuses more on processor-bound workloads than on I/O-bound workloads. The goal is to make computationally intensive applications run faster by making better use of the computer's available cores.
More .NET eBooks:
.NET Technology Guide for Business Applications
Under the Hood of .NET Memory Management
Practical Performance Profiling: Improving the Efficiency of .NET Code
Shove It, FizzBuzz: How to Find and Land a .NET Development Job
Microsoft Application Architecture Guide, 2nd Edition: Designing Applications on the .NET Platform