Parallel Tasks window

Wed, October 1, 2008, 02:31 PM under ParallelComputing
Previously I asked about properties of Tasks that you'd like to see when debugging and suggested some:
[...]which ones are not scheduled yet [...], which ones are Running and which ones have run a bit and now are Waiting [...]. [...]quickly see the call stack of each Task and also which thread it is executing on. [...]parent-child relationship between Tasks.
Rather than talk about it in totally abstract terms, how about having a few mock up pictures.

After hitting a breakpoint, below are 2 Tasks running and 4 that are waiting (in our example there aren't any Tasks that are scheduled in a queue and not run yet). Then on the picture on the right, we switch to parent child view, we can see that four Tasks are actually waiting for their child tasks to complete:

In this different example below, we grouped by the Location column so we can see that 3 Tasks are running in method H of class P, and 1 task has at the top of its stack the method C of the same class. We also see the IDs of the underlying threads running those Tasks:

I can't wait for you to start working with the Task-based APIs, so you can provide feedback on what supporting tools you'd like to see. Hopefully the Parallel Tasks debugger toolwindow is a good start.
Sunday, October 5, 2008 11:10:00 PM (Pacific Daylight Time, UTC-07:00)
Here's my wishlist which could actually become a rockstar feature:

1. Allow to break as soon as Thread/Task gets contention. For instance, as soon as, Thread encounters lock(obj) for more than 10ms, break in debugger! This will solve TONS of pain that goes in to finding contentions.

2. Allow Thread/Task to raise events or callbacks when they get blocked.
Monday, November 3, 2008 8:45:29 PM (Pacific Standard Time, UTC-08:00)
Shital: Thanks for the feedback.
Monday, December 15, 2008 11:16:00 AM (Pacific Standard Time, UTC-08:00)

Is the Parallel Tasks already available in the VS10 CTP VPC? I have tried many things but it seems that I can not access this window.
Monday, December 15, 2008 12:31:16 PM (Pacific Standard Time, UTC-08:00)
batswirl: Yes, it is. Hit a breakpoint and then go to the Debug menu and open the submenu "Tasks". Let me know if you have any questions.
Comments are closed.