Giter VIP home page Giter VIP logo

parallelpatternsnet's Introduction

Parallel Programming with Microsoft .NET

Design Patterns for Decomposition and Coordination on Multicore Architectures
Colin Campbell, Ralph Johnson, Ade Miller and Stephen Toub. Foreword by Tony Hey

A book that introduces .NET programmers to patterns for including parallelism in their applications. 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. On this site you will find; a preliminary draft of the book, the accompanying code samples and answers to the end of chapter questions.

Order the hardcopy book or buy the eBook from O’Reilly 

Read the book online in the MSDN Library

  • Read the book content for free on MSDN!

Download the samples for each chapter in C#, Visual Basic and F#

The samples are written in C#, F#  and Visual Basic and use the new parallel programming model  that shipped with Visual Studio 2010. The samples use the parallel features of the .NET Framework version 4, which includes the Task Parallel Library (TPL) and Parallel LINQ (PLINQ).

Demos and Talks

The demo that does along with the TechEd 2010 parallel patterns talk is also available. This is essentially the sample from Chapter 5 of “Parallel Programming with Microsoft .NET” with additional work to show additional patterns used within the same sample to enhance performance of the individual steps within the overall workflow. It also has a much nicer UI and checkboxes that allow the user to select parallel and sequential versions of different parts of the application.

Watch a video of Patterns of Parallel Programming talk at TechEd 2010

Talk source code and screenshots

What about C++?

Interested in parallel programming but prefer C++? We have also produced a companion book for C++ developers using the Parallel Patterns Library (PPL) and Asynchronous Agents Library. You can find out more about it on our other CodePlex site Parallel Programming with Microsoft Visual C++.

System Requirements

You will need .NET 4 and at least Visual Studio 2010 Professional to run the samples. However, you will need Visual Studio 2010 Ultimate to use some the parallel diagnostic tools such as the Concurrency Visualizer.

Relevant Blogs

Here are some blogs that will keep you up to date with what’s happening with this guide and with parallel programming at Microsoft.

Ade Miller: #2782 - patterns & practices development manager and book author.

Stephen Toub: .NET, MSDN Magazine, and other Adventures in Life Parallel Extensions for .NET team Program Manager and book author.

TomasP.NET - F# programming, including a series of blog posts on the F# versions of the book samples.

Parallel Programming with .NET – The Parallel Extensions for .NET Team blog.

Patterns for Parallel Programming: Understanding and Applying Parallel Patterns with the .NET Framework 4 - Stephen Toub – A white paper from one of the book’s authors. 

Samples for Parallel Programming with the .NET Framework 4 – Additional samples provided by the Parallel Extensions for .NET team.

parallelpatternsnet's People

Contributors

ademiller avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Forkers

is3not4

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.