Skip to main content

Parallel Computing Videos

Get parallel computing videos designed for developers, from novice to professional.

Parallel Computing Videos

This feed, No Title, currently has no items to display.

Managed Visual C# How Do I Videos RSS

Parallel Computing Videos

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 direction of programming languages. Anders will talk about asynchronous programming and Windows 8 programming, coming in the next version of Visual Studio. He will also discuss the long-lead project “Roslyn”, including object models for code generation, analysis, and refactoring, and upcoming support for scripting and interactive use of C# and Visual Basic.
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 asynchronous programming in your programming language. Come learn about the async language innovations coming in C# and Visual Basic and how these new language features come together with new Windows Runtime APIs to simplify asynchronous programming. No more callbacks!
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 this async support enables development in a style very reminiscent of synchronous programming, the required mental model and run time costs involved are anything but. In this session, we’ll dive deep into how async works, examining key aspects of the design and implementation that result in overheads when compared to synchronous programming. With that knowledge, we’ll tour through best practices for using async to build high-performing, scalable and responsive apps and libraries.
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 client apps. But that’s only the beginning. In this code-intensive session, learn about what’s next for parallelization with .NET and Visual Studio, diving deep into performance enhancements, new Visual Studio tooling, and new libraries and language support for parallelization and asynchrony.
#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 the HTML content of that link, looking for changes using the TaskEx.Delay method. In addition, a CancellationToken will be passed through each method, allowing the user to cancel out of the process at any time.
#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 used to avoid unnecessary marshaling of data to the UI thread.
#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 thread.
#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 the returned content will then be appended to each item in the ListBox.
#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 will be pulled out and displayed in a ListBox. The application will be written the “old” way without any asynchronous calls, and will then be modified to use the Async CTP.
#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 the returned content will then be appended to each item in the ListBox.
#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 thread.
#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 used to avoid unnecessary marshaling of data to the UI thread.
#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 the HTML content of that link, looking for changes using the TaskEx.Delay method. In addition, a CancellationToken will be passed through each method, allowing the user to cancel out of the process at any time.
#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 will be pulled out and displayed in a ListBox. The application will be written the “old” way without any asynchronous calls, and will then be modified to use the Async CTP.
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 will be pulled out and displayed in a ListBox. The application will be written the “old” way without any asynchronous calls, and will then be modified to use the Async CTP.
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 making your own awaitable types has gotten easier in this release. As usual, Stephen covers a lot of technical ground and shares his knowledge and insights very clearly. Tune in.
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 be easily implemented using the .NET Framework 4 and technology like the Task Parallel Library.
TechEd Israel 2010: Parallel Programming in .NET Framework 4
.NET 4 and Visual Studio 2010 include new technologies for enabling parallelism in managed applications. In this session at TechEd Israel 2010, we explore key areas of support, including the Task Parallel Library, PLINQ, concurrency views in the Visual Studio profiler, and new debugger tool windows.
TPL Dataflow Tour
This 15-minute video provides a high-level tour through some of the functionality available in the new TPL Dataflow library (System.Threading.Tasks.Dataflow.dll), an early preview of which was released as part of the Visual Studio Async CTP, available for download at http://msdn.com/vstudio/async.
Visual Studio Async: Meet the team
Meet some of the key folks behind the Async CTP, which contains a preview version of C# and VB.NET that contain two new modifiers, async and await (and iterators for VB.NET!), that will make it much easier to compose asynchronous code for .NET. Great work, C#, VB and Parallel Platform teams (and Don Syme and the F# people)! Please play around with the CTP and let the teams know what you think.Enjoy!
ShowsGoing DeepMads Torgersen: Inside C# Async
Mads Torgersen, C# specification lead, describes the new C# features to improve asynchronous development. You can get an early look at this new async programming model, available as the Async CTP, today!
Stephen Toub: Task-Based Asynchrony with Async
Stephen Toub goes deep into the design and architecture of the new Async features in C# and VB.NET, which rely heavily on .NET’s Task Parallel Library. You can get an early look at this new async programming model, available as the Async CTP, today!
Anders Hejlsberg: Introducing Async – Simplifying asynchronous programming
Microsoft Technical Fellow and C# creator Anders Hejlsberg explains the new C# and VB.NET asynchronous programming model, available as Async CTP now, which makes async programming much easier for .NET developers.
Lucian Wischik: Inside VB.NET Async
Lucian Wischik digs into the new VB functions and iterators being developed for asynchronous development. You can get an early look at these new features, available as the Async CTP, today! Give VB.NETAsync a try.
Parallelise Your Microsoft .NET Framework-Based Applications with Parallel Extensions (NZ 2010)
Ivan talks about Microsoft .NET Framework-Based Applications with Parallel Extensions.
Stephen Toub - Implementing Parallel Patterns using .NET 4
Stephen Toub presents on implementing parallel patterns using .NET 4.
Task Parallel Library: Design Principles and Best Practices
In his presentation from TechEd Northamerica 2010, Shy Cohen discusses the principles that went into the design of the Task Parallel Library as well as best practices for parallelizing applications.
The Knowledge Chamber: Multi-Core and Parallel Programming Practices
In this episode of the knowledge chamber, Robert Hess meets with Stephen Toub, who shares some of the overarching concepts associated with parallelism, and some of the ways Microsoft is trying to empower developers to develop applications to take advantage of it.
Parallel LINQ with Code Samples
Stephen Toub walks through several sample applications that utilize Parallel LINQ (PLINQ). PLINQ, built into the .NET Framework 4, enables developers to parallelize LINQ to Objects queries with minimal coding effort. The sample applications explored are available for download at http://code.msdn.microsoft.com/ParExtSamples.
PDC09: Applying Patterns of Parallel Programming with Visual Studio 2010
A two-hour tutorial on how to apply patterns of parallel programming in .NET with Visual Studio 2010.
Parallel Computing for Managed Developers
This session from TechEd Europe 2009 discusses the new programming model and tools technologies in Visual Studio 2010 and .NET 4.0, including the Task Parallel Library (TPL), Parallel Language Integrated Query (PLINQ), and Concurrent Data Structures (CDS).
PDC09: Manycore and the Microsoft .NET Framework 4: A Match Made in Microsoft Visual Studio 2010
This presentation dives into key areas of support, including the new System.Threading.Tasks namespace, cutting-edge concurrency views in the Visual Studio profiler, and debugger tool windows for analyzing the state of concurrent code.
PDC09: F# for Parallel and Asynchronous Programming
In tis talk, learn the core concepts of the F# language, and see how ideas like immutability, functional design, async workflows, agents, and more can be used to meet the challenges of today’s real-world applications.
PDC09: PLINQ: LINQ, but Faster!
This presentation provides a deep dive into PLINQ via Microsoft Visual Studio 2010. See what it looks like from the perspective of LINQ developers, the debugging and profiling support, how it's implemented under the covers, and how to best incorporate it into your applications in order to reap the performance benefits of the manycore era.
PDC09: Future Directions for C# and Visual Basic
Come hear about the forces that influence and shape the future of programming languages and how C# and Visual Basic are evolving to meet future customer needs around extensibility and concurrency.
Wes Dyer and Stephen Toub: Rx and Px - Working Together
Reactive Extensions for .NET (Rx) released this week during PDC09. Rx uses Parallel Extensions for .NET for all of its concurrent and parallel computing needs. How is it using Px, specifically? What's going on here and why?
Task, Waiting, and Continuations
Join Danny Shih as he introduces the heart of the Task Parallel Library (TPL). He’ll talk about the Task type and two functionalities that it supports (waiting and continuations).
Refactoring "for" Loops to Run in Parallel
Join Danny Shih as he demonstrates how to use the Task Parallel Library (TPL) to refactor sequential "for" loops so that they execute in parallel. He’ll also cover breaking out of parallelized loops.Collections and related constructs are new with .NET4 and Visual Studio 2010.
TaskCompletionSource
Join Danny Shih as he introduces the TaskCompletionSource<TResult> type. He’ll cover basic usage and walk through a full scenario.
Speeding up Parallel.For using the Range Partitioner
Join Danny Shih as he demonstrates using the range partitioner feature. Parallel.For is great, but being a general solution, it does not perform optimally for certain specific scenarios, such as when there are a ton of iterations and very little work per iteration. In these cases, the range partitioner can be used to speed things up.
Parallel Programming with the .NET Framework 4 Concurrent Collections
Join Josh Phillips and Stephen Toub as they walk through some of the new thread-safe, scalable collection types added to the .NET Framework 4 in its new System.Collections.Concurrent namespace.
How to Cancel Work using the .NET Framework 4 CancellationToken
Join Josh Phillips and Stephen Toub as they demonstrate how to use the new .NET Framework 4 CancellationToken and CancelationTokenSource types to cancel large amounts of asynchronous and parallel work.
The .NET Framework 4 CountdownEvent Synchronization Primitive
Join Josh Phillips and Stephen Toub as they demonstrate how to use the new .NET Framework 4 CountdownEvent synchronization primitive in task coordination scenarios.
The .NET Framework 4 Lazy<T> Type
Join Josh Phillips and Stephen Toub as they demonstrate how to use the new .NET Framework 4 Lazy class in optimized, thread-safe object initialization scenarios. Lazy is one of many new concurrent data structures available with the .NET Framework 4 and Visual Studio 2010.
Using BlockingCollection in Producer-Consumer Scenarios
Join Josh Phillips and Stephen Toub as they demonstrate how to use the new .NET Framework 4 BlockingCollection class in producer/consumer scenarios. BlockingCollection is one of many new concurrent data structures available with the .NET Framework 4 and Visual Studio 2010.
Visual Studio 2010 Parallel Computing Features Tour
In Visual Studio 2010, the Parallel Computing team has delivered APIs and tools for developers wanting to build applications that take advantage of multiple cores. This video provides a glimpse on the managed APIs, debugging windows, and profiler support.
deCast - Introducing parallelism into your applications
In this screencast, Rob Bagby illustrates 3 approaches you can take when introducing parallelism to your applications: 1) Fine-grained parallelism, 2) Structured parallelism and 3) PLINQ. The approach Rob takes is to start with an a sequential application and parallelize it using each of the 3 approaches.
Concurrency and Parallelism: Native (C/C++) and Managed (.NET) Perspectives
Parallel Computing Platform team members Stephen Toub, Rick Molloy, Don McCrady and Dana Groff join me for a chat about the differences and similarities in their conceptual approach to designing and building concurrent programming abstractions targeting .NET developers and native (C/C++) developers.
10-4 Episode 6: Parallel Extensions
In this episode of 10-4, we start taking a look at Parallel Extensions to the .NET Framework.
Tech%C2%B7Ed EMEA TV - Parallel Programming for Managed developers with Visual Studio 2010 and .NET Framework 4.0 (Daniel Moth)
Come learn how Visual Studio 2010 and the .NET Framework 4.0 can help you write better performing and more scalable applications.
C9 Bytes: Parallel Fx using Ray Tracing with Stephen Toub
Stephen Toub, a Program Manager on the Parallel Fx team, demos how to get 400+% performance increase in a CPU intensive Ray Tracing program by switching one line of code from a regular for loop to using the Parallel.For command.
DevDays 2008: Parallel Extensions to the .NET Framework
Daniel Moth speaks on Parallel Extensions to the .NET Framework at DevDays in May 2008.
Joe Duffy, Huseyin Yildiz, Daan Leijen, Stephen Toub - Parallel Extensions: Inside the Task Parallel
Joe Duffy, Huseyin Yildiz, Daan Leijen, and Stephen Toub gathered in a conference room in building 122 to dig into the Task Parallel Library infrastructure.
Don Syme: What’s new in F# - Asynchronous Workflows (and welcome to the .NET family!)
Don Syme discusses what F# joining the .NET family means, what state the project is in, delves into concurrent programming and parallelism topics and looks into (and at) the latest F# features that make it easier to exploit multi-core hardware.

Native Visual C# How Do I Videos RSS

Parallel Computing Videos

Taming GPU compute with C++ AMP
Developers today inject parallelism into their compute-intensive apps in order to take advantage of multi-core CPU hardware. Beyond CPUs, however, compute accelerators such as general-purpose GPUs can provide orders of magnitude speed-ups for data parallel algorithms. How can you as a C++ developer fully utilize this heterogeneous hardware from your Visual Studio environment? How can you benefit from this tremendous performance boost in your Visual C++ solutions without sacrificing developer productivity? The answers will be presented in this session introducing C++ AMP.
Heterogeneous Computing and C++ AMP
Herb Sutter introduces the AMD Fusion Developer Summit 11 crowd to Microsoft's view on heterogeneous computing in the concurrency age and introduces one of Microsoft's upcoming technologies for democratizing GPGPU/APU/Multi-Core/Many-Core programming for native developers: C++ Accelerated Massive Parallelism, or C++ AMP. Look for C++ AMP and associated tooling in the next version of Visual C++.
Blazing-fast code using GPUs and more, with C++ AMP
In this session at the AMD Fusion conference in June 2011, Daniel Moth digs deep into C++ AMP, a new technology for harnessing the power of compute accelerators, such as GPUs.
Parallel Programming for C++ Developers: Tasks and Continuations, Part 1 of 2
The Parallel Computing Concurrency team writes tools for the C++ community that make it easier to write reliable, performant and scalable concurrent and parallel code. In this conversation, Mike Chu , Dana Groff, Artur Laksberg, and Vinod Koduvayoor Subramanian talk about their latest addition to the Parallel Pattern Library, which provides wait-free concurrency programming by specifying tasks, the ability to schedule tasks on events, and continuations that specify a task or tasks which are run after one or more tasks finish.
Parallel Programming for C++ Developers: Tasks and Continuations, Part 2 of 2
Vinod Koduvayoor Subramanian, a software engineer who pushes concurrency to the limit and is a champion of target customers (also known as software testing), explains chaining tasks and continuations at the whiteboard. It's fast-paced so pay attention! This is the second part of a recent conversation with the Parallel Computing Platform team about what's in their latest sample pack for native developers and the thinking behind it.
Parallelism in C++ Using the Concurrency Runtime
In this session, Don McCrady discusses how C++ programmers can fully utilize multicore in their applications using the Concurrency Runtime (ConcRT), the Parallel Pattern Library (PPL), and the Asynchronous Agents Library that ship with Visual Studio 2010.
PDC09: Lighting up Windows Server 2008 R2 Using the ConcRT on UMS
Learn how to use C++ and the new Concurrency Runtime (ConcRT) to take advantage of new technologies on Windows Server 2008 R2, such as the ability to scale beyond 64 cores and User-Mode Scheduling (UMS) of threads.
PDC09: C++ Forever: Interactive Applications in the Age of Manycore
This talk provides a deep dive into the power of task, actor and dataflow parallel programming in Microsoft Visual C++ 2010.
PDC09: Developing Applications for Scale-Up Servers Running Windows Server 2008 R2
Take a deep dive into Windows 2008 R2 features including enhanced support of Non-Uniform Memory Access (NUMA) computer architectures, along with User Mode Scheduling (UMS) and support for up to 256 logical processors (LPs).
The C++ Concurrency Runtime - Parallel Pattern Library
The Parallel Pattern Library (PPL) provides an imperative programming model that promotes scalability and ease-of-use for developing concurrent applications.
The C++ Concurrency Runtime - Asynchronous Agents Library
The Asynchronous Agents Library (or just Agents Library) provides a programming model that enables you to increase the robustness of concurrency-enabled application development.
Concurrency and Parallelism: Native (C/C++) and Managed (.NET) Perspectives
Parallel Computing Platform team members Stephen Toub, Rick Molloy, Don McCrady and Dana Groff join me for a chat about the differences and similarities in their conceptual approach to designing and building concurrent programming abstractions targeting .NET developers and native (C/C++) developers.
Native Parallelism with the Parallel Pattern Library
We catch up with Rick Molloy, Program Manager on the Parallel Computing Platform team. Rick takes us on a tour of the new parallelism features coming with Visual C++ 10 via the Parallel Pattern Library. Covered are features like task groups, structured task groups, and agents-based parallelism, among many others.
Parallel Computing Platform: Asynchronous Agents for Native Code
Here, we continue our focus on concurrency and parallelism with native (C++) Parallel Computing Platform team members Rick Malloy, Niklas Gustafsson, Mike Chu and Stephen Toub. This conversation covers native (C++) asynchronous agents (and agent programming, generally) and pipeline architectures for concurrency.
The Concurrency Runtime: Fine Grained Parallelism for C++
Here, native (C++ focused) Parallel Computing Platform team members Rick Malloy, Niklas Gustafsson, Don McCrady and Channel 9 veteran Stephen Toub join me in a conversation covering our concurrency platform tools and runtime specifically designed for C++ developers.

Debugging Visual C# How Do I Videos RSS

Parallel Computing Videos

Parallel Watch Visualizers for Visual Studio 11
CS undergrads Jen Solyanik, Wes Rupert and Stephen Grugett join us to discuss their experiences and accomplishments as summer 2011 interns at Microsoft. They were part of a team of engineering interns whose technical challenge was to design and implement parallel visualization technology for Visual Studio 11. Tune in to find out what they did.
Parallel Debugging in Visual Studio 2010 - MSDN Magazine Companion
This screencast covers the new Parallel Tasks and Parallel Stacks debugging windows in Visual Studio 2010. It demonstrates the sample code from the MSDN Magazine on this topic.
Parallel Stacks – New Visual Studio 2010 Debugger Window
As developers try to take advantage of more and more cores in their applications, ultimately more and more threads will execute their code at the same time. When debugging such applications, there is a need to visualize multiple call stacks of multiple threads in a single view. This scenario is supported in Visual Studio 2010 via a new debugger window that this short video explores: Parallel Stacks.
Hanselminutes on 9 - Debugging Crash Dumps with Tess Ferrandez and VS2010
Scott Hanselman got a chance to talk to legendary ASP.NET Debugger and Escalation Engineer Tess Ferrandez. In this video Tess shows Scott how to debug a dump of an ASP.NET Web Site with a pile of awesome and totally new features in Visual Studio 2010.
Parallel Tasks – New Visual Studio 2010 Debugger Window
In the next version of the .NET Framework and Visual C++ that ship with Visual Studio 2010, a new task-based programming model is introduced. In this short video you will learn about Parallel Tasks, a new debugger window that helps developers debug applications that use tasks. You will also get a glimpse at the task-specific features of the Parallel Stacks debugger window introduced in another video.
Visual Studio 2010 Parallel Computing Features Tour
In Visual Studio 2010, the Parallel Computing team has delivered APIs and tools for developers wanting to build applications that take advantage of multiple cores. This video provides a glimpse on the managed APIs, debugging windows, and profiler support.
VS2010 MPI Cluster Debugger Launch Integration
Developers using MPI to develop applications, have been experiencing severe productivity pains when it came to debugging those apps on the Windows HPC 2008 cluster. This video shows how easy "F5" now is for C++ MPI cluster applications.
Madan Musuvathi - Getting started with CHESS in Visual Studio 2008
Sit with Madan Musuvathi for a quick tutorial on writing concurrency unit tests, powered by CHESS in Visual Studio 2008.
Debugging Parallel Applications with Visual Studio 2010
Welcome back to another Visual Studio 2010 and .NET Framework 4.0 Week video. In this latest installment, we catch up with Daniel Moth, Senior Program Manager on the Parallel Computing Platform team. In this video, Daniel shows us what is being done in order to make debugging of parallel applications easier than it has been before. Covered are features like the new Parallel Tasks and Parallel Stacks windows, among others.
Research: Concurrency Analysis Platform and Tools for Finding Concurrency Bugs
Learn about the Concurrency Analysis Platform (CAP) from Microsoft Research and how it enables various concurrency bug-finding tools. See a demo of CHESS, a tool built on CAP for finding and reproducing Heisenbugs. Also hear about future tools from Microsoft Research, including a lightweight data-race detection engine and a tool for finding memory-model errors.
Parallel Computing Platform: An Integrated Approach to Tooling
Visual Studio 2010 will bring a new focus on profiling and debugging parallel applications. One of the primary issues they are trying to address is the black box between source code at design time and the code at runtime. To address this Microsoft wants to move the debugger's focus to a higher level of abstract, namely the task level.

Profiling Visual C# How Do I Videos RSS

Parallel Computing Videos

Profiling and Debugging Parallel Code with Microsoft Visual Studio 2010
This TechEd Northamerica 2010 session discusses what features are available in Visual Studio 2010 to make the process of profiling and debugging parallel code much easier than it was in the past.
Concurrency Visualizer High Speed Tour
This 75-second video provides a quick introduction to the Concurrency Visualizer, a new profiling tool available in Visual Studio 2010. The Concurrency Visualizer enables you to look under the hood of your parallel applications and quickly discover performance bottlenecks.
Thread Blocking Analysis in the Visual Studio 2010 Profiler
Join Bill Colburn once again as he demonstrates useful analysis techniques within the VS2010 Concurrency Visualizer. In this screencast, he demonstrates thread synchronization reports, unblocking stacks, and how to view crucial call sites. He also demonstrates how to get to the source code responsible for substantial thread blocking time.
Concurrency Visualization Techniques in the Visual Studio 2010 Profiler
Join Bill Colburn as he demonstrates useful features of the concurrency visualizer available in Visual Studio 2010. He discusses visualization of parallel for loops, I/O reports, sorting the display of threads, and viewing thread affinity.
Thread Visualization in the Visual Studio 2010 Profiler
Join James Rapp once again as he dives deeper into the new parallel performance analysis tools available in Visual Studio 2010. In this video, he discusses ways of managing the quantity of data presented by the profiler and how to obtain meaningful statistics about your parallel application.
Concurrency Visualization Capabilities of the Visual Studio 2010 Profiler
Visual Studio 2010 includes new concurrency visualization support in the profiler. This is a must-have tool for developers interested in designing new "manycore" parallel computing applications. Join James Rapp as he illustrates the profiler, profiling options, and concurrency visualization techniques.
Visualizing Concurrency: VS 2010 Beta 2 - Parallel Performance Profiling Advancements
From the Parallel Computing Platform team, architect Hazim Shafi, dev lead Sasha Dadiomov, and PM Bill Colburn tell us all about the Concurrency Visualizer Profiling Tool in Visual Studio 2010, including a demo.

Team Discussions Visual C# How Do I Videos RSS

Parallel Computing Videos

Parallel Watch Visualizers for Visual Studio 11
CS undergrads Jen Solyanik, Wes Rupert and Stephen Grugett join us to discuss their experiences and accomplishments as summer 2011 interns at Microsoft. They were part of a team of engineering interns whose technical challenge was to design and implement parallel visualization technology for Visual Studio 11. Tune in to find out what they did.
Parallel Programming for C++ Developers: Tasks and Continuations, Part 1 of 2
The Parallel Computing Concurrency team writes tools for the C++ community that make it easier to write reliable, performant and scalable concurrent and parallel code. In this conversation, Mike Chu , Dana Groff, Artur Laksberg, and Vinod Koduvayoor Subramanian talk about their latest addition to the Parallel Pattern Library, which provides wait-free concurrency programming by specifying tasks, the ability to schedule tasks on events, and continuations that specify a task or tasks which are run after one or more tasks finish.
Parallel Programming for C++ Developers: Tasks and Continuations, Part 2 of 2
Vinod Koduvayoor Subramanian, a software engineer who pushes concurrency to the limit and is a champion of target customers (also known as software testing), explains chaining tasks and continuations at the whiteboard. It's fast-paced so pay attention! This is the second part of a recent conversation with the Parallel Computing Platform team about what's in their latest sample pack for native developers and the thinking behind it.
Visual Studio Async: Meet the team
Meet some of the key folks behind the Async CTP, which contains a preview version of C# and VB.NET that contain two new modifiers, async and await (and iterators for VB.NET!), that will make it much easier to compose asynchronous code for .NET. Great work, C#, VB and Parallel Platform teams (and Don Syme and the F# people)! Please play around with the CTP and let the teams know what you think.Enjoy!
Ch9Live at VS2010 Launch - Stephen Toub on Parallelism
Stephen Toub and Charles Torre discuss Parallelism at DevConnections 2010 as part of the Visual Studio 2010 Launch in Las Vegas.
Steve Teixeira on Parallel Computing at Intel Software Conference 2010
Steve Teixeira speaks with Bruno Boucard at the Intel Software Conference 2010 about parallel computing with Visual Studio 2010.
Microsoft Research: Tools to Help Resolve Concurrency Problems
Robert Hess talks with MSR about some of the issues involved with tracking down concurrency problems, as well as how each of MSR's concurrency tools works.
The Knowledge Chamber: Multi-Core and Parallel Programming Practices
In this episode of the knowledge chamber, Robert Hess meets with Stephen Toub, who shares some of the overarching concepts associated with parallelism, and some of the ways Microsoft is trying to empower developers to develop applications to take advantage of it.
Channel 9 Live at PDC09: Stephen Toub
Stephen Toub discusses parallelism with Charles Torre, live at PDC09.
Interview at TechEd 2009 Berlin: Steve Teixeira
Christian Binder chats with Steve Teixeira at TechEd Europe 2009 about parallel computing and Visual Studio 2010.
Is the future of programming a parallel one?
Rumor has it that by next year this time, Intel will release an experimental processor with over 100 cores. The question is, are we ready for that? How do we cope with that? Is it our responsibility as programmers to do something, or like always Microsoft has to provide the tools, languages, and compilers to solve our problems?
TechEd Europe 2009: Is the Future of Programming a Parallel One?
Keith Yedlin, Steve Teixeira, and Don Syme discuss the future of parallel programming.
Wes Dyer and Stephen Toub: Rx and Px - Working Together
Reactive Extensions for .NET (Rx) released this week during PDC09. Rx uses Parallel Extensions for .NET for all of its concurrent and parallel computing needs. How is it using Px, specifically? What's going on here and why?
Videochat with Microsoft's Steve Teixeira about parallel programming with .NET 4
At Microsoft TechEd Europe 2009, Channel Intel spoke with Steve Teixeira about his TechEd sessions and on what developers can expect from the .NET Framework 4 and Visual Studio 2010 with regards to parallelism.
Visualizing Concurrency: VS 2010 Beta 2 - Parallel Performance Profiling Advancements
From the Parallel Computing Platform team, architect Hazim Shafi, dev lead Sasha Dadiomov, and PM Bill Colburn tell us all about the Concurrency Visualizer Profiling Tool in Visual Studio 2010, including a demo.
Ade Miller and Patterns of Parallel Programming
In this episode, Ade Miller stops by to share with us the importance of understanding parallelism and some of the issues which need to be considered and how it isn't just a "recompile" to make your applications ready.
STM.NET: Who. What. Why.
Here, we meet most of the team responsible for STM.NET: Chris Dern‎, Yossi Levanoni‎, Sasha Dadiomov‎, Weirong Zhu‎, Sukhdeep Sodhi‎ and Lingli Zhang.
Expert to Expert: Erik Meijer and Michael Isard - Inside Dryad
Erij Meijer and Michael Isard discuss Dryad and DryadLINQ and their implementation.
Expert to Expert: Erik Meijer and Roger Barga - Introduction to Dryad and DryadLINQ
Dryad is an infrastructure from Microsoft Research which allows a programmer to use the resources of a computer cluster or a data center for running data-parallel programs.
Concurrency and Parallelism: Native (C/C++) and Managed (.NET) Perspectives
Parallel Computing Platform team members Stephen Toub, Rick Molloy, Don McCrady and Dana Groff join me for a chat about the differences and similarities in their conceptual approach to designing and building concurrent programming abstractions targeting .NET developers and native (C/C++) developers.
Expert to Expert - Joe Duffy: Perspectives on Concurrent Programming and Parallelism
Joe Duffy spends a lot of time thinking about the future of concurrent programming and parallelism. In his role as Lead Developer in the Parallel Computing Platform team, Joe is the creator of PLINQ and a key contributor to many of the managed (.NET) concurrency incubations happening in and around his broader team. He's also an author (check out his latest book, Concurrent Programming on Windows).
Parallel Computing in Native Code: New Trends and Old Friends
We figured it would be fun to get a C++ player (Damien is a PM on the front-end native compiler team) and some Parallel People together in a room to discuss the native side of the Concurrency Problem (and possible solutions) and get a feel for the synergy between teams.
ARCast.TV - Pat Helland on the Drive to Many-Core Processors
Patrick Weikle interviews Pat Helland about the inevitability of ManyCore and parallel applications.
PDC 2008: Bringing out the Best in Multicore Systems
Learn how to prepare for the new challenges in developing and tuning concurrent applications. Hear about important steps in the creation of or conversion to parallel applications with demonstrations of the parallel performance analysis and optimization tools in the next release of Microsoft Visual Studio. See how to identify opportunities for parallelism and how to exploit those opportunities by choosing applicable coding patterns using existing or future programming models.
PDC 2008: Addressing the Hard Problems with Concurrency
Hear about the challenges of applying multi-core processors to general-purpose software and the key impacts this will have on developers and platforms. Learn about the hard problems that must be addressed to enable parallel software to be deployed with the same reliability and productivity of mainstream software. Hear about the key architectural changes Microsoft is making to Windows to enable the efficient execution of parallel software.
Parallel Computing Platform: An Integrated Approach to Tooling
Visual Studio 2010 will bring a new focus on profiling and debugging parallel applications. One of the primary issues they are trying to address is the black box between source code at design time and the code at runtime. To address this Microsoft wants to move the debugger's focus to a higher level of abstract, namely the task level.
Lynne Hill: Parallel Computing Platform - The Vision and Future
Here, we meet the leader of the Parallel Computing Platform team, General Manager Lynne Hill. Lynne is a veteran Microsoft leader, starting the Parallel Computing Team and builiding it into what it is today, a relatively large organization with many virtual members spread across the entire company.
The Concurrency Runtime: Fine Grained Parallelism for C++
Here, native (C++ focused) Parallel Computing Platform team members Rick Malloy, Niklas Gustafsson, Don McCrady and Channel 9 veteran Stephen Toub join me in a conversation covering our concurrency platform tools and runtime specifically designed for C++ developers.
Anders Hejlsberg and Guy Steele: Concurrency and Language Design
An interview recorded at JAOO, Anders Hejlsberg and Guy Steele talk about concurrency in language design. Anders Hejlsberg is the chief architect of C#, creator of Turbo Pascal, and former chief architect of Delphi. Guy Steele is the creator of Scheme and is currently working on Sun's Fortress, a programming language that focuses on parallelism and mathematics.
Joe Duffy and Igor Ostrovsky: Parallel LINQ under the hood
Continuing our exploration of the Parallel Computing Platform and the folks who think it up and build it, we sit down with software developers Joe Duffy (he wrote the original Parallel LINQ Think Week paper that Bill Gates read and obviously enjoyed!) and Igor Ostrovsky (he spends his time implementing PLINQ and associated technologies) to deeply dig into how PLINQ works and what makes it tick from a parallel processing point of view.
Joe Duffy, Huseyin Yildiz, Daan Leijen, Stephen Toub - Parallel Extensions: Inside the Task Parallel
Joe Duffy, Huseyin Yildiz, Daan Leijen, and Stephen Toub gathered in a conference room in building 122 to dig into the Task Parallel Library infrastructure.

Research and Incubation Visual C# How Do I Videos RSS

Parallel Computing Videos

Microsoft Research: Tools to Help Resolve Concurrency Problems
Robert Hess talks with MSR about some of the issues involved with tracking down concurrency problems, as well as how each of MSR's concurrency tools works.
PDC09: Data-Intensive Computing on Windows HPC Server with the DryadLINQ Framework
Come get an overview of the DryadLINQ features and runtime environment, and walk through some real-world examples of DryadLINQ programs based on the familiar declarative syntax of LINQ combined with the fault-tolerant distributed graph scheduling of the Dryad runtime. Hear how DryadLINQ provides a programming model and runtime for data-parallel programs running across large clusters and partitioned data sets.
PDC09: Concurrency Fuzzing and Data Races
Learn about two concurrency tools from Microsoft Research: "Cuzz" and "FeatherLite".
PDC09: Rx: Reactive Extensions for .NET
Hear how to model reactive applications using push-based, observable collections, and how to glue together complex event processing and asynchronous programs using declarative LINQ queries.
PDC09: Axum: A .NET Language for Safe and Scalable Concurrency
Learn about Axum and other advanced concepts Microsoft is exploring, including data flow networks, asynchronous methods, and protocol-based component interactions.
PDC09: Future Directions for C# and Visual Basic
Come hear about the forces that influence and shape the future of programming languages and how C# and Visual Basic are evolving to meet future customer needs around extensibility and concurrency.
Wes Dyer and Stephen Toub: Rx and Px - Working Together
Reactive Extensions for .NET (Rx) released this week during PDC09. Rx uses Parallel Extensions for .NET for all of its concurrent and parallel computing needs. How is it using Px, specifically? What's going on here and why?
STM.NET: Who. What. Why.
Software Transactional Memory is no longer a pipe dream or the stuff of academics. STM.NET, as it's called, is ready for your experimentation. The goal of STM.NET is to be able to exploit concurrency by using components written by experts and consumed by application programmers who can then compose together these components using STM. Transactional memory provides an easy-to-use mechanism to do this safely. STM.NET is of course not a concurrency silver bullet and this is an experimental rrelease of the .NET Framework that allows C# programmers to try out this technology, specifically a particular implementation of STM. The STM team really needs your feedback to understand if they're doing the right things to meet your needs. Traditionally, using STM for simple trasactional tasks didn't make sense. The overhead was too high. Is this still the case? What needed to change in the .NET Framework to enable STM.NET? Remember, this is a .NET Framework experiment to enable STM for managed code.Here, we meet most of the team responsible for STM.NET: Chris Dern‎, Yossi Levanoni‎, Sasha Dadiomov‎, Weirong Zhu‎, Sukhdeep Sodhi‎ and Lingli Zhang. Tune in, meet the team and get a good sense of what this very small team has accomplished with STM.NET and learn about some of the paths taken to get there. This represents really great engineering. Congratulations to the STM team! Now, Niners, go get the bits!Enjoy.
Expert to Expert: Erik Meijer and Michael Isard - Inside Dryad
Erij Meijer and Michael Isard discuss Dryad and DryadLINQ and their implementation.
Expert to Expert: Erik Meijer and Roger Barga - Introduction to Dryad and DryadLINQ
Dryad is an infrastructure from Microsoft Research which allows a programmer to use the resources of a computer cluster or a data center for running data-parallel programs.
Axum Published! Tutorial: Building your first Axum application
Not familiar with Axum? Here's a C9 interview with the Axum team to refresh your memory (it's a domain specific language for concurrent programming, formerly known as "Maestro", developed by the Parallel Computing Platform team). Here, Axum PM Josh Phillips walks us through building a simple Axum application in just over 5 minutes. Josh builds a simple “math library” on agents and shows how easy it is with Axum to focus on your code and get parallelism and safety implicitly.
Software Transactional Memory: The Current State of the Art
A few years ago I got the chance to learn about Software Transactional Memory for the first time while visiting MSR Cambridge. The great Simon Peyton-Jones and Tim Harris explained to me the thinking behind STM and how it might evolve. It was a tremendously interesting conversation. If you haven't watched that interview, I highly recommend it as a precursor to this one. Today, STM is no longer only a research project. The Parallel Computing Platform team is incubating and extending the technology, finding that it may in fact work in the real world...Of course, there is no silver bullet to solving the Concurrency Problem, but STM may be an important part of a larger solution (you've leraned a great deal about what Microsoft is up to in the concurrency and parallelism space here on Channel 9 and it should be somewhat clear by now that many of the technologies we've presented to you may end up as pieces of a broader solution...)Here, STM Program Manager Dana Groff and STM Principal Developer Lead Yossi Levanoni discuss the current state of STM and outline the work their team is doing to craft this incubation/research technology into a practical real-world solution (STM is not available yet for experimentation. It's in incubation. It's not known if or when STM will become a viable product.). So, how has STM evolved over the past two years, anyway? Tune in. Enjoy.
Axum: A Managed Domain Specific Language For Concurrent Programming
Josh Phillips(PM), Niklas Gustafsson(Architect), and Artur Laksberg(Developer) of the Parallel Computing Platform Team spend some time with me to discuss a managed (.NET-based) DSL (Domain Specific Language) for concurrent programming, Axum.
CHESS: An Automated Concurrency Testing Tool
CHESS is an automated tool from Microsoft Research for finding errors in multithreaded software by systematic exploration of thread schedules. It finds errors, such as data-races, deadlocks, hangs, and data-corruption induced access violations, that are extremely hard to find with current testing tools. Once CHESS locates an error, it provides a fully repeatable execution of the program leading to the error, thus greatly aiding the debugging process. In addition, CHESS provides a valuable and novel notion of test coverage suitable for multithreaded programs. CHESS can use existing concurrent test cases and is therefore easy to deploy. Both developers and testers should find CHESS useful. The CHESS architecture is described in this technical report.Here, we meet some of the researchers behind CHESS, Madan Musuvathi and Shaz Qadeer. Joining in the conversation are two software test engineers extraordinare, Chris Dern and Rahul Patil. Chris and Rahul use CHESS as part of their daily routine of finding bugs in the various technologies that power Microsoft's Parallel Computing Platform. Tune in and learn about this great technology from the folks who know it best.
Research: Concurrency Analysis Platform and Tools for Finding Concurrency Bugs
Learn about the Concurrency Analysis Platform (CAP) from Microsoft Research and how it enables various concurrency bug-finding tools. See a demo of CHESS, a tool built on CAP for finding and reproducing Heisenbugs. Also hear about future tools from Microsoft Research, including a lightweight data-race detection engine and a tool for finding memory-model errors.