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.
Everyone seems to have a favorite story about a parallel program that did not behave as expected because of a mysterious bug. These stories should inspire a healthy respect for the difficulty of the problems you face in writing your own parallel programs. Fortunately, help has arrived. Microsoft Visual Studio® 2010 introduces a new programming model for parallelism that significantly simplifies the job. Behind the scenes are supporting libraries with sophisticated algorithms that dynamically distribute computations on multicore architectures. Proven design patterns are another source of help. A Guide to Parallel Programming introduces you to the most important and frequently used patterns of parallel programming and gives executable code samples for them, using the Task Parallel Library (TPL) and Parallel LINQ (PLINQ).
Parallel Programming with Microsoft® .NET: Design Patterns for Decomposition and Coordination on Multicore Architectures (Patterns & Practices)
📄 Viewing lite version
Full site ›
Book Details
PublisherMicrosoft Press
ISBN / ASIN0735651590
ISBN-139780735651593
Sales Rank729,082
MarketplaceUnited States 🇺🇸
Description ▲
Similar Products ▼
- Async in C# 5.0: Unleash the Power of Async
- Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation (Addison-Wesley Signature Series (Fowler))
- Building Microservices: Designing Fine-Grained Systems
- Continuous Integration: Improving Software Quality and Reducing Risk
- Structured Parallel Programming: Patterns for Efficient Computation
- Design Patterns: Elements of Reusable Object-Oriented Software
- Writing High-Performance .NET Code
- Functional Programming in C#: How to write better C# code
- Professional Parallel Programming with C#: Master Parallel Extensions with .NET 4
- Pro Asynchronous Programming with .NET