Phil Pennington
Niner since 2007
-
Windows PowerShell : A Brief Introduction to using WPF Containers in WPK
Avg Rating: 1
(1)Join James Brundage, Software Tester from the Windows PowerShell team as he introduces how you can use WPK (the WPF PowerShell Kit) to work with common UI containers in WPF. WPK is available as part of the Windows PowerShell Pack.
Continue your video tour of Windows PowerShell V2 via... -
Speeding up Parallel.For using the Range Partitioner
Avg Rating: 5
(1)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, th...
-
TaskCompletionSource
Avg Rating: 5
(5)Join Danny Shih as he introduces the TaskCompletionSource<TResult> type. He’ll cover basic usage and walk through a full scenario
Learn more about the .NET Framework 4 and keep abreast of Parallel Computing tools and techniques via the Concurrency Dev Center.
See all vide... -
Task and Task<TResult>, Waiting and Continuations
Avg Rating: 5
(1)Join Danny Shih as he introduces the heart of the Task Parallel Library (TPL). He’ll talk about two core types (Task and Task<TResult>) and two functionalities that they support (waiting and continuations).
Learn more about the .NET Framework 4 and keep abreast of Paralle... -
Refactoring "for" Loops to Run in Parallel
Avg Rating: 5
(1)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.
L... -
Concurrent Programming with .NET4 Collections
Avg Rating: 5
(7)Join Josh and Steve as they demonstrate how to use various concurrency-safe Collections classes.
Collections and related constructs are new with .NET4 and Visual Studio 2010.
Learn more about the System.Collections.Concurrent namespace and keep abreast of Parallel Computing tools and techn... -
How to Cancel Work using .NET4 CancellationToken
Avg Rating: 5
(1)Join Josh and Steve as they demonstrate how to safely cancel tasks in a parallel task execution scenario.
CancellationToken and related constructs are new with .NET4 and Visual Studio 2010.
Learn more about the System.Collections.Concurrent namespace and keep abreast of Parallel Computing tools... -
Thread Blocking Analysis in the VS2010 Profiler
Avg Rating: 5
(2)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 sourc...
-
The .NET4 Countdown Synchronization Primitive
Avg Rating: 1
(1)Join Josh and Steve as they demonstrate how to use the new .NET4 Countdown event synchronization primitive in task coordination scenarios.
Countdown and related constructs are new with .NET4 and Visual Studio 2010.
Learn more about the System.Collections.Concurrent namespace and keep abrea... -
Lazy<T> Optimized Resource Initialization
Avg Rating: 5
(2)Join Josh and Steve as they demonstrate how to use the new .NET4 Lazy<T> class in optimized object initialization scenarios.
Lazy<T> is one of many new thread-safe data-structures available with .NET4 and Visual Studio 2010.
Learn more about the System.Collections.Concurrent na...
Staff
Here is a list of Channel 9 staff members.
New Parallel Capabilities of the Visual Studio 2010 Profiler
Oct 22, 2009 at 9:14 AMThanks for identifying this incorrect link... fixed.
Windows PowerShell V2 Sessions and Debugging
Aug 13, 2009 at 5:22 AMthanks Jonvate! Argh! I'll take care of that soon.
- phil
The C++ Concurrency Runtime - Parallel Patterns Library
Aug 13, 2009 at 5:15 AMHi Corrector,
Thanks for the comment! I apologize that I just noticed this on the blog.
I suppose that's part of what the industry, not just Microsoft, intends to solve... making the expression of parallelism easier and safer for every developer.
Of course, this demo is just introductory and not intended to address solution domain complexities in-depth.
Parallel_for is simply a mechanism to allow the programmer to express concurrency more easily. It frees them from writing the plumbing-code that so often goes with concurrent code and maintaining it. So yes, it does lower the barrier to writing parallel code. We see this as a good thing.
Does that mean that some programmers will write parallel code who should not be writing that code? Perhaps, but this is not the fault of the runtime system. This is a skill-development-problem and falls to development teams to solve, maybe through code inspection and design guidelines, for example. Potentially, tools can help with best practices (e.g. see the new VS2010 parallel performance profiler).
Our other option is simply to stop developing new features in existing applications or ask the users to put up with slower applications.
The question of multi-process concurrency is interesting and there are tools and techniques that can be used to accomplish this (e.g. Windows HPC Server and the MSMPI SDK). We recommend starting with domain decomposition and implementing execution partitioning techniques that map onto the scope of the parallel computing problem. As you know, some computations simply can't be solved without multi-process or multi-computer parallel processing. However, the C++ Concurrency Runtime or .NET Parallel Extensions may still be significant components of even a distributed process solution. These technologies are specifically designed to express concurrency at the application scope and with an implementation that is highly optimized for resource management, shared state, and thread-level scalability. Even if multi-process scheduling and synchronization designs were added, the existing mechanisms would still apply and be necessary.
- phil
New File Classfication Infrastructure - Part 1, How to Manage Stale Data
Aug 05, 2009 at 10:35 AMYou got me there! It's really hard to achieve 5 minute videos... We're still reaching for the goal and it pains me each time I post anything more than 10 minutes long. Maybe we should use a 5, 10, 15... minute concept logo instead?
Thanks for the comment, Josh!
How To Develop C++ Applications for Windows 2008 R2, Server Core
Mar 11, 2009 at 4:03 PMYou are correct... the preferred method of installing application dependencies is via install merge modules. There are numerous considerations. Consequently, we've added a "Notes On Manifests" document to the Code Gallery project associated with this topic. Viewers may find it within the "Downloads" tab of the page at http://code.msdn.microsoft.com/R2CoreApps.
Thanks,
Phil
How To Develop .NET Applications for Windows Server 2008 R2, Server Core
Mar 11, 2009 at 3:57 PMFive Minute Intro to the HPC Server 2008 Management Console
Mar 05, 2008 at 11:13 PM