Parallel Programming with Microsoft Visual C++: Design Patterns for Decomposition and Coordination on Multicore Architectures (Colin Campbell, et al)

 
0.0 (0)
Parallel Programming with Microsoft Visual C++: Design Patterns for Decomposition and Coordination on Multicore Architectures (Colin Campbell, et al)

Your CPU meter indicates an issue. All except one core are idle while the other cores are operating at full capacity. Despite the fact that your application is CPU-bound, you are only using a small portion of the multicore system's processing capability. Is it possible to improve performance?

Parallel programming, in a nutshell, is the solution. Where earlier you would have written the familiar to all programmers sequential code, you now discover that this does not fulfil your performance objectives. You must divide your application into concurrently running components in order to make effective use of the CPU resources on your machine. This is obviously easier said than done. The practice of parallel programming has a reputation for being a minefield of subtle, difficult-to-reproduce software flaws and the purview of experts. Everyone appears to have a favourite tale of a parallel programme that behaved strangely due to an unknown bug.

These tales ought to instil a healthy appreciation for the challenges you will encounter when creating your own parallel systems. Thankfully, assistance has arrived. A new parallel programming methodology is introduced by the Parallel Patterns Library (PPL) and the Asynchronous Agents Library, greatly simplifying the process. Complex algorithms are used in the background to dynamically distribute computations across multicore architectures. Debugging and analysis capabilities are also included in the Microsoft Visual Studio development system to support the new parallel programming approach.

Another resource is tested design patterns. The most significant and popular parallel programming patterns are covered in this tutorial, along with executable code examples written in PPL for each one. Reviewing the patterns in this book is a smart place to start when deciding where to start. Check to see whether any of the characteristics of your issue fit one of the six patterns described in the following chapters. If it does, examine the sample code and the pertinent pattern(s) in greater detail.

Ebook Details

About the Authors
  • 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.
  • 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.
Published
Published Date / Year
1 edition (April 12, 2011)
Hardcover
208 pages
eBook Format
HTML and PDF
ISBN-10
0735651752
ISBN-13
978-0735651753

Similar Programming & Computer Books

Guide pour la programmation réseaux de Beej's - Utilisation des sockets Internet - Beej's Network Programming Guide - Using Internet Sockets (Brian Hall)
Any normal C programmer should be able to understand the basics of networking after reading this free programming document.  
Cours de C/C++ - C/C++ courses (Christian Casteyde)
One of the most popular programming languages nowadays is C++. It is incredibly efficient and simple to use. But it has a rep for being difficult to read and...
Integration and Automation of Manufacturing Systems (Hugh Jack)
Since 1993, the author has used extra resources to teach laboratory-based integrated manufacturing courses, which have grown into this book. It is intended to avoid research-oriented themes and concentrate...
Automating Manufacturing Systems with PLCs (Hugh Jack)
This is the draft of a book on control systems based on programmable logic controllers (PLCs), which is now being used to teach an undergraduate controls course called Manufacturing...
PIC Microcontrollers (Milan Verle)
It's time to educate yourself on microcontrollers and how they work if you haven't before. You will love working with PIC microcontrollers because of the many pictures and real-world...
Programming dsPIC (Digital Signal Controllers) Microcontroller in PASCAL (Zoran Milivojevic, et al)
Learn how to create your own programs, how to debug them, and how to launch a microcontroller using them.
Creating Games in C++: A Step-by-Step Guide (David Conger, et al)
Love playing video games? Ever wished you could design your own, complete with bells and whistles? It's not as difficult as you may imagine, and you don't need to...
MonoGame Succinctly (Jim Perry)
The market for video games is enormous, but in order to reach consumers, several platforms must be supported.  
MonoGame Role-Playing Game Development Succinctly (Jim Perry, et al.)
This ebook is a crucial resource for MonoGame developers who want to create their own role-playing games (RPG). To help you create a playable game, authors Jim Perry and...
Language Translation Using PCCTS and C++: A Reference Guide (Terence John Parr)
This free programming book serves as a reference for the source-to-source parser generator SORCERER and the tree-parser generator ANTLR, Another Tool for Language Recognition. It is not meant to...

Others Programming Books by Colin Campbell, Ade Miller

Parallel Programming with Microsoft .NET: Design Patterns for Decomposition and Coordination on Multicore Architectures (Colin Campbell, et al)
Design patterns for Decomposition and Coordination on Multicore Architectures are introduced in this book. Instead of the cluster, High Performance Computing (HPC) Server technique that uses networked nodes with...

Others Programming Books by Microsoft Press

Upgrading Microsoft Visual Basic 6.0 to Microsoft Visual Basic .NET (Ed Robinson, et al)
This free programming book is a thorough technical manual for converting Microsoft Visual Basic 6 applications to Microsoft Visual Basic.NET; it covers all facets of moving from APIs to...
Microsoft Azure Essentials: Fundamentals of Azure, 2nd Edition (Michael Collier, et al.)
Microsoft Azure is a platform for cloud services that have been developed for developing, testing, deploying, and managing services and applications. You will delve deeply into Azure's basic and...
Introduction to Windows Containers (John McCabe, et al)
Containers are a stepping stone that can assist IT organizations in understanding what key components of contemporary IT environments, including DevOps, Agile, Scrum, Infrastructure as Code, Continuous Integration, and...
Code: The Hidden Language of Computer Hardware and Software (Charles Petzold)
What do seesaws, black cats, the British invasion, and flashlights have to do with computers? In CODE, they demonstrate the clever ways we play with words and create new...
Windows 10 IT Pro Essentials: Top 10 Tools (Ed Bott)
This book offers explanations and practical guidance to help IT professionals perform more effectively and quickly.
The Security Development Lifecycle: A Process for Developing Demonstrably More Secure Software (Michael Howard, et al)
Better security and privacy in your clients' software is a right that they have come to expect. This book is the first to explain the Security Development Lifecycle, a...
Introducing Windows 10 for IT Professionals, Technical Overview (Ed Bott)
The PC landscape has undergone a significant transition thanks to Windows 10. This edition has a shocking amount of new features for IT professionals who have become accustomed to...
Managing Agile Open-Source Software Projects with Microsoft Visual Studio Online (Brian Blackman, et al)
The ALM Rangers share their best practices for handling solution requirements and delivering solutions in an agile setting, where openness, clarity, and trust are valued.
Creating Mobile Apps with Xamarin.Forms (Charles Petzold)
Writing applications for Xamarin is covered in this third edition, which now has 27 chapters. In May 2014, Xamarin announced Forms, a new mobile development platform for iOS, Android,...
Building Cloud Apps with Microsoft Azure: Best Practices for DevOps, Data Storage, High Availability, and More (Scott Guthrie, et al)
This ebook explains how to design practical cloud solutions using a patterns-based methodology. The patterns are applicable to coding, architecture, and the development process.
Introducing Microsoft Azure HDInsight - Technical Overview (JA. Chauhan, et al)
We discuss what big data actually entails, how to leverage it to your advantage in your business or organization, and one of the services you can use to achieve...
Introducing Microsoft SQL Server 2014: Technical Overview (Ross Mistry, et al)
The authors of this book detail how SQL Server 2014 uses in-memory computing to improve the performance of online transaction processing (OLTP) and data-warehouse applications. They go on to...
Microsoft System Center: Building a Virtualized Network Solution (Mitch Tulloch, et al)
A virtualized network solution based on Windows Server and System Center is what this book is aimed at private and hybrid cloud builders. This book, which focuses on architecture...
Introducing Microsoft Visual Basic 2005 for Developers (Sean Campbell, et al)
Examine Microsoft Visual Basic 2005, Visual Studio 2005, and the.NET Framework 2.0 in detail for the first time.
Microsoft System Center: Troubleshooting Configuration Manager (Rushi Faldu, et al.)
This book, which is a part of a collection of specialized System Center guides, focuses on troubleshooting Configuration Manager, which is used to manage a variety of Microsoft client...
.NET Technology Guide for Business Applications (Cesar de la Torre, et al)
The technologies and application paradigms used in.NET programming are covered in-depth in this book. It describes the latest technologies available for.NET to expand these core applications into developing patterns...
Introducing Windows Server 2012 R2: Technical Overview (Mitch Tulloch)
Get a head start on assessing Windows Server 2012 R2 by taking advantage of the technical advice provided by a Microsoft MVP and the Windows Server product team. ...
Introducing Windows 8.1 for IT Professionals (Ed Bott)
Get a head start on assessing Windows 8.1 with Ed Bott, an award-winning journalist and Windows authority, on early technical insights.
Microsoft System Center: Designing Orchestrator Runbooks (David Ziembicki, et al.)
This book provides a concentrated drill down into developing run books for Orchestrator workflow management systems.
Rethinking Enterprise Storage: A Hybrid Cloud Model (Marc Farley)
The annual IT expenditure is largely devoted to storage. It is the biggest portion of the IT budget for many clients.

User reviews

There are no user reviews for this listing.
Ratings
Rate this Book
Comments