Parallel Development in Visual Studio
Translate This Page
Translate this page
Data Collection Control
Jump to Code
Thread Ready Connector
Visible Timeline Profile
Visual Studio 2010
Visual Studio 2010 Release Candidate
Windows HPC Server
Browse by Tags
Parallel Development in Visual Studio
Tagged Content List
Visualizing Concurrency on Production Systems
As interesting as profiling applications on your development computer is, I’m sure you’ve wanted to see the behavior of applications when running in production systems. The ability to view remote traces with the Concurrency Visualizer first requires installing the Visual Studio 2010 profiler...
8 Mar 2011
Concurrency Visualizer as a Microscope for Execution Dynamics
This is the picture that Concurrency Visualizer team used on the title page of internal specs. It actually reveals how most of us think about our product: not as a profiler (though you can get decent sample profile from it by clicking the green “Execution” category in the legend), and not even as a performance...
23 Aug 2010
Where is my stack?
In an earlier post I explained why you may get stacks that do not look like what you were expecting when you have FPO optimizations, but even without FPO enabled there are some other scenarios that can cause your application stacks to look somehow “unexpected” in the Concurrency Visualizer...
2 Jul 2010
Mid-execution Profiling of a Multithreaded Process
In this entry, I will describe how to capture a trace in the middle of a process’ execution for the Concurrency Visualizer, allowing you to visualize the multithreaded behavior of your application during that period of time. This is accomplished by attaching to and detaching from the running process...
16 Mar 2010
Call stack gymnastics: Why is function Foo missing from my call stack?
Sometimes you expect to see a specific function on the stacks collected by the Concurrency Visualizer but to your surprise it is not there. To understand why this can sometimes happen, we have to start with some basic information: Event Tracing for Windows (ETW) is the system wide tracing mechanism shipped...
22 Feb 2010
Instantly Expanding Long Callstacks in the Concurrency Visualizer Reports
Did you notice that reports frequently show pretty long stacks? E.g. in the picture below it is 12 frames deep, but sometimes it can be a hundred… and very frequently you need the deepest one to see what is going on. Are you supposed to click on “+” hundred times? Happily, there is a shortcut – asterisk...
8 Feb 2010
Using the Concurrency Visualizer to Analyze MPI Communication Overheads
The Message Passing Interface (MPI) is a popular API for developing message-passing based parallel applications on clusters. Microsoft has a Windows HPC Server product that includes an implementation of MPI, among other things (visit http://www.microsoft.com/hpc) . In this post, I’d like to demonstrate...
1 Feb 2010
Tuning a Parallel LINQ File Search Application
This post explores the performance issues that arise when using PLINQ to parallelize queries, and illustrates how the Concurrency Visualizer in Visual Studio 2010 can be a valuable tool in identifying performance bottlenecks and making efficient and profitable parallelization choices. The subject of...
25 Jan 2010
Which Visual Studio 2010 Profiling Option Should I Select?
Ever wonder which of these profiling options to select? Find out here . James Rapp - Parallel Computing Platform
31 Dec 2009
Linking Visualization to Application Phases
It is often necessary to divide many real-world applications into multiple distinct phases. As a result, the search for performance problems can often be constrained to a particular phase of an application's execution. One of the most effective ways to narrow focus onto a specific region...
10 Dec 2009
GC Performance Patterns
Our “Rogues Gallery” is a collection of common, visual patterns exhibiting poorly-behaved multithreaded applications. In this post, I’ll introduce a new pattern: too much pressure on the garbage collector (GC). When an application creates too many objects, the GC will have to run...
7 Dec 2009
Learning to Write in Parallel
When I first join ed the Concurrency Visualizer team, I thought, “Wouldn’t it be cool to make an application that could write messages on the Threads view?” I wasn’t alone, many of us had thought about it. It turns out to be not so hard. James wrote about the threads view three weeks ago, so refresh...
23 Nov 2009
Green Isn’t Always Good
One reason to use the Concurrency Visualizer is to maximally utilize system resources. To aid in this effort, it displays the execution of the program as green segments in its timeline. However, the Visualizer does not distinguish between the user’s work and any other work in the process, so seeing a...
16 Nov 2009
Beginner's Guide to Profiling Parallel Apps Part IV
Welcome to fourth and final installment of the "beginner's guide" series. In my previous entry, I discussed the "Threads" view of the Concurrency Visualizer. In this entry, I will discuss the "Cores" view. Using the same set of results as the previous entries...
9 Nov 2009
Beginner's Guide to Profiling Parallel Apps Part III
Hello and welcome to the third installment of the "beginner's guide" series. While I discussed the "CPU Utilization" view last time, I will now discuss the "Threads" view in the profiler. Working with the same code as in my last post, I will now re-examine the performance...
2 Nov 2009
Beginner's Guide to Profiling Parallel Apps Part II
In my previous post, I described how to profile your multithreaded application using the Visual Studio Performance Wizard. As I mentioned, the summary report presented after profiling yielded three options. In this entry, I will discuss the "CPU Utilization" option. After...
27 Oct 2009
Beginner's Guide to Profiling Parallel Apps Part I
Hello world! This is the first of four "beginner's guide" installments. Though individiuals more familiar with concurrency issues may find it easier to get started with our tools, my team and I are interested in making it easier for a broader range of developers to quickly get started...
27 Oct 2009
Page 1 of 1 (17 items)
© 2014 Microsoft Corporation.
Privacy & Cookies