Skip to main content

Parallel Computing with Managed Code

Videos

Parallel Computing with Managed Code

Future directions for C# and Visual Basic
In this talk, Technical Fellow Anders Hejlsberg will share project plans for the future directions of C# and Visual Basic, including a discussion of what trends are influencing and shaping the directi... more
Async made simple in Windows 8, with C# and Visual Basic
The new Windows Runtime is adopting a heavily asynchronous programming model to ensure the responsiveness of Windows 8 client apps. This makes it more critical than ever to have great support for asyn... more
The zen of async: Best practices for best performance
The new async support in C# and Visual Basic dramatically simplifies the process of building scalable and responsive apps for the client and cloud. However, while the programming model provided by thi... more
Building parallelized apps with .NET 4.5 and Visual Studio 11
The Task Parallel Library (TPL), PLINQ, and Visual Studio 2010 provide managed code developers with a solid foundation for parallelizing loops, queries, and other common constructs in both server and ... more
#4 | Polling and Cancellation (C#)
In this video, the existing application will be modified to add cancellation support. For each HREF link found, a method will be called which will enter into an infinite loop, periodically downloading... more
#5 | Refactoring Functionality into a Library (C#)
In this video, the existing application will be modified to move functionality into a separate assembly. Proper naming conventions will be discussed, as well as the ConfigureAwait method, which can be... more
#3 | Offloading Work with TaskEx.Run (C#)
In this video, the existing application will once again be modified to offload the work of searching through the HTML using the TaskEx.Run method. This will allow that work to be done on a background ... more
#2 | Concurrent Downloading with TaskEx.WhenAll (C#)
In this video, the application created in the first segment will be modified to download the content of each HREF link concurrently using the TaskEx.WhenAll method and the await keyword. The length of... more
#1 | Introduction to the Async CTP (C#)
In this video, we will create a simple application to download the HTML content of the MSDN home page, and then use a regular expression to search through that HTML, looking for any HREF links. They w... more
#4 | Concurrent Downloading with TaskEx.WhenAll (VB)
In this video, the application created in the first segment will be modified to download the content of each HREF link concurrently using the TaskEx.WhenAll method and the await keyword. The length of... more
#3 | Offloading Work with TaskEx.Run (VB)
In this video, the existing application will once again be modified to offload the work of searching through the HTML using the TaskEx.Run method. This will allow that work to be done on a background ... more
#5 | Refactoring Functionality into a Library (VB)
In this video, the existing application will be modified to move functionality into a separate assembly. Proper naming conventions will be discussed, as well as the ConfigureAwait method, which can be... more
#2 | Polling and Cancellation (VB)
In this video, the existing application will be modified to add cancellation support. For each HREF link found, a method will be called which will enter into an infinite loop, periodically downloading... more
#1 | Introduction to the Async CTP (VB)
In this video, we will create a simple application to download the HTML content of the MSDN home page, and then use a regular expression to search through that HTML, looking for any HREF links. They w... more
Introduction to the Async CTP Video (VB)
In this video, we will create a simple application to download the HTML content of the MSDN home page, and then use a regular expression to search through that HTML, looking for any HREF links. They w... more
Asynchronous Programming in .NET
Mads Torgersen discusses the new asynchronous language features of C# at the JVM Language Summit in July 2011.
dnrTV: Stephen Toub on the Visual Studio Async CTP
Stephen Toub of Microsoft demonstrates the new normal in parallel programming in .NET. Steve goes through numerous examples and also drops some hints about the next version of .NET.
Stephen Toub: Async Update - Technical Overview and Building Awaitable Types
The recent Visual Studio Async CTP SP1 refresh includes many core improvements, bug fixes and new support for WP7 and VS Express. Architect Stephen Toub digs into some of the updates and explains how ... more
Stephen Toub: Inside TPL Dataflow
Stephen Toub discusses TPL Dataflow with Charles Torre on Channel9.
TechEd Israel 2010: Patterns of Parallel Programming with .NET 4
Understanding common patterns of parallelism is one of the best ways to successfully parallelize your code. In this session from TechEd Israel 2010, we learn common parallel patterns and how they can ... more

Articles

Parallel Computing with Managed Code

Async Performance: Understanding the Costs of Async and Await
It’s easy to get started writing asynchronous methods in C# and Visual Basic, but there can be hidden performance costs.
Asynchronous Programming: Pause and Play with Await
Mads Torgersen takes a closer look at what the new await keyword actually does.
Asynchronous Programming: Easier Asynchronous Programming with the New Visual Studio Async CTP
The next version of C# and Visual Basic will include a form of asynchronous control flow that avoids both the dangers of multithreading and the pain of writing callback methods.
The Past, Present and Future of Parallelizing .NET Applications
In the world of multi-core and manycore everywhere, parallelism is now something every developer must at least consider, and something that the millions of developers that use managed languages must b... more
Task-based Asynchronous Pattern
This document provides an in-depth look at the new Task-based Asynchronous Pattern (TAP) for the .NET Framework.
Introduction to TPL Dataflow
This document provides an introduction to a new .NET library for building parallel and concurrent applications.
Asynchrony in .NET
Get an overview of the new asynchronous features being developed for C#, Visual Basic and the .NET Framework.
Throttling Concurrency in the CLR 4.0 ThreadPool
Erika Fuentes details the approach taken toward automating concurrency control in the ThreadPool in .NET 4.
Simplify Asynchronous Programming with Tasks
Igor Ostrovsky details various patterns in the .NET Framework for handling asynchronous operations, including how Task forms a standard representation for any asynchronous operation.
Cutting Edge: Don't Worry, Be Lazy
Dino Esposito explores laziness in .NET 4 and its relevance to parallel programming.
Custom Parallel Partitioning With .NET 4
Partitioning is fundamental to parallel computing.
Parallel Computing with the .NET Framework 4
In coordination with the launch of the Visual Studio 2010 and the .NET Framework 4, Stephen Toub provides an overview of what's new for developers with regards to parallel programming with managed cod... more
Parallel Programming in .NET 4: Coding Guidelines
Patterns, techniques and tips on writing reliable, maintainable, and performing multi-core programs and reusable libraries with .NET Framework 4.
Performance Characteristics of New Synchronization Primitives in the .NET Framework 4
The .NET Framework 4 introduces a set of new synchronization primitives. This document provides discussion and analysis of the performance of these new types.
PLINQ and Office Add-ins
Building Office add-ins that take advantage of parallelism is in many cases straightforward. This document demonstrates this through two Office add-in implementations.
Integrating Parallelism with Windows Workflow Foundation in the .NET Framework 4
Despite the similarity in naming, the System.Threading.Tasks.Parallel class and the System.Activities.Statements.Parallel* activities in WF4 are largely orthogonal in the scenarios they address. Howev... more
Using Cancellation Support in .NET Framework 4
This document explores the new cancellation types in the .NET Framework 4, highlighting common usage and patterns
PLINQ’s Ordering Model
Parallel LINQ (PLINQ) provides special behaviors around the ordering of elements in queries. This article discusses the ins-and-outs of PLINQ's ordering semantics.
Thread-safe Collections in .NET Framework 4 and Their Performance Characteristics
The .NET Framework 4 introduces the new System.Collections.Concurrent namespace, replete with new thread-safe collections for use in developing parallel applications. This article discusses performanc... more
Optimizing Parallel Applications Using Concurrency Visualizer: A Case Study
This article captures the triumphs and tribulations of implementing a console-based spell checker application, and delineates how the new Concurrency Visualizer in Visual Studio 2010 was used to detec... more