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, 05 October 2008 23:10:00 (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, 03 November 2008 20:45:29 (Pacific Standard Time, UTC-08:00)
Shital: Thanks for the feedback.
Monday, 15 December 2008 11:16:00 (Pacific Standard Time, UTC-08:00)
Daniel,

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.
batswirl
Monday, 15 December 2008 12:31:16 (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.