Wintersalen Sale
 
 

Special Offers see all

Enter to WIN a $100 Credit

Subscribe to PowellsBooks.news
for a chance to win.
Privacy Policy

Tour our stores


    Recently Viewed clear list


    Original Essays | September 17, 2014

    Merritt Tierce: IMG Has My Husband Read It?



    My first novel, Love Me Back, was published on September 16. Writing the book took seven years, and along the way three chapters were published in... Continue »

    spacer

This item may be
out of stock.

Click on the button below to search for this title in other formats.


Check for Availability
Add to Wishlist

Parallel Programming with Microsoft Visual C++: Design Patterns for Decomposition and Coordination on Multicore Architectures

Parallel Programming with Microsoft Visual C++: Design Patterns for Decomposition and Coordination on Multicore Architectures Cover

 

Synopses & Reviews

Publisher Comments:

Your CPU meter shows a 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. Is there a way to get better performance?

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 systems CPU resources efficiently, you need to split your application into pieces that can run at the same time. Of course, 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 will face in writing your own parallel programs. Fortunately, help has arrived. The Parallel Patterns Library (PPL) and the Asynchronous Agents Library introduce a new programming model for parallelism that significantly simplifies the job. Behind the scenes are sophisticated algorithms that dynamically distribute computations on multicore architectures. In addition, Microsoft® Visual Studio® 2010 development system includes debugging and analysis tools to support the new parallel programming model.

Proven design patterns are another source of help. This guide introduces you to the most important and frequently used patterns of parallel programming and provides executable code samples for them, using PPL. When thinking about where to begin, a good place to start is to review the patterns in this book. See if your problem has any attributes that match the six patterns presented in the following chapters. If it does, delve more deeply into the relevant pattern or patterns and study the sample code.

Book News Annotation:

Intended for experienced C++ programmers interested in implementing new parallel programming technologies available in the latest versions of Microsoft's Visual C++, this guide provides practical instruction for implementing contemporary multi-core processor capabilities in new or existing software. The work covers parallel loops, tasks and aggregation as well as futures, dynamic task parallelism and pipelines. Chapters include numerous code samples and example projects and access to additional online resources is provided. This volume is an official Microsoft guide. Annotation ©2011 Book News, Inc., Portland, OR (booknews.com)

About the Author

The patterns & practices team consists of experienced architects, developers, writers, and testers. We work openly with the developer community and industry experts, on every project, to ensure that some of the best minds in the industry have contributed to and reviewed the guidance as it is being developed.

The patterns & practices team consists of experienced architects, developers, writers, and testers. We work openly with the developer community and industry experts, on every project, to ensure that some of the best minds in the industry have contributed to and reviewed the guidance as it is being developed.

The patterns & practices team consists of experienced architects, developers, writers, and testers. We work openly with the developer community and industry experts, on every project, to ensure that some of the best minds in the industry have contributed to and reviewed the guidance as it is being developed.

The patterns & practices team consists of experienced architects, developers, writers, and testers. We work openly with the developer community and industry experts, on every project, to ensure that some of the best minds in the industry have contributed to and reviewed the guidance as it is being developed.

Table of Contents

Foreword; Preface; Who This Book Is For; Why This Book Is Pertinent Now; What You Need to Use the Code; How to Use This Book; What Is Not Covered; Goals; Acknowledgments; Chapter 1: Introduction; 1.1 The Importance of Potential Parallelism; 1.2 Decomposition, Coordination, and Scalable Sharing; 1.3 Selecting the Right Pattern; 1.4 A Word about Terminology; 1.5 The Limits of Parallelism; 1.6 A Few Tips; 1.7 Exercises; 1.8 For More Information; Chapter 2: Parallel Loops; 2.1 The Basics; 2.2 An Example; 2.3 Variations; 2.4 Anti-Patterns; 2.5 Related Patterns; 2.6 Exercises; 2.7 Further Reading; Chapter 3: Parallel Tasks; 3.1 The Basics; 3.2 An Example; 3.3 Variations; 3.4 Anti-Patterns; 3.5 Design Notes; 3.6 Exercises; 3.7 Further Reading; Chapter 4: Parallel Aggregation; 4.1 The Basics; 4.2 An Example; 4.3 Variations; 4.4 Design Notes; 4.5 Related Patterns; 4.6 Exercises; 4.7 Further Reading; Chapter 5: Futures; 5.1 The Basics; 5.2 Example: The Adatum Financial Dashboard; 5.3 Variations; 5.4 Design Notes; 5.5 Related Patterns; 5.6 Exercises; Chapter 6: Dynamic Task Parallelism; 6.1 The Basics; 6.2 An Example; 6.3 Variations; 6.4 Exercises; 6.5 Further Reading; Chapter 7: Pipelines; 7.1 Types of Messaging Blocks; 7.2 The Basics; 7.3 An Example; 7.4 Variations; 7.5 Anti-Patterns; 7.6 Design Notes; 7.7 Related Patterns; 7.8 Exercises; 7.9 Further Reading; The Task Scheduler and Resource Manager; Resource Manager; Kinds of Tasks; Task Schedulers; Anti-Patterns; References; Debugging and Profiling Parallel Applications; The Parallel Tasks and Parallel Stacks Windows; Breakpoints and Memory Allocation; The Concurrency Visualizer; Visual Patterns; Further Reading; Technology Overview; Further Reading; Glossary;

Product Details

ISBN:
9780735651753
Publisher:
Microsoft Press
Subject:
General-General
Author:
Campbell, Colin
Author:
Miller, Ade
Author:
Toub, Stephen
Author:
Johnson, Ralph
Subject:
.NET Framework; Visual Studio
Edition Description:
Trade Paper
Publication Date:
20110431
Binding:
TRADE PAPER
Language:
English
Pages:
208
Dimensions:
9 x 7.38 in

Related Subjects

Computers and Internet » Computer Architecture » Parallel
Computers and Internet » Computer Languages » C++
Computers and Internet » Programming » Microsoft Programming
Computers and Internet » Software Engineering » Programming and Languages
Science and Mathematics » Mathematics » General

Parallel Programming with Microsoft Visual C++: Design Patterns for Decomposition and Coordination on Multicore Architectures
0 stars - 0 reviews
$ In Stock
Product details 208 pages Microsoft Press - English 9780735651753 Reviews:
spacer
spacer
  • back to top

FOLLOW US ON...

     
Powell's City of Books is an independent bookstore in Portland, Oregon, that fills a whole city block with more than a million new, used, and out of print books. Shop those shelves — plus literally millions more books, DVDs, and gifts — here at Powells.com.