Slide

advertisement
MOTIVATION
CONCURRENCY DEVELOPMENT CYCLE
PARALLELISM SUPPORT IN VISUAL STUDIO 2010
Programming models
Parallel Pattern
Library
Data structures
Parallel
Debugger
Concurrency runtimes
Concurrency
Visualizer
Agents
Library
Data structures
Tools
Task Scheduler
Resource manager
Resource Manager
Operating system
Threads
Key:
Managed library
Native library
Tools
PARALLEL PROFILING
execution
blocking
execution
preemption
execution
I/O
CUSTOM MARKERS FOR APPLICATION PHASES
#include "Scenario.h"
int _tmain(int argc, _TCHAR* argv[])
{
...
myScenario = new Scenario(0, L"Scenario Marker Example", (LONG) 0);
myScenario->Begin(0, TEXT(“PHASE1"));
// Do actual work for phase 1 here
myScenario->End(0, TEXT(“PHASE1"));
...
}
http://code.msdn.microsoft.com/Scenario
PARALLEL DEBUGGING
PARALLEL DEBUGGER OVERVIEW
Goal: Help navigate pending and active tasks in the debugger for TPL and
PPL applications
Zoom
control
Bird’s eye view
http://msdn.microsoft.com/en-us/concurrency/default.aspx
http://blogs.msdn.com/b/visualizeparallel/
http://blogs.msdn.com/b/hshafi/
http://msdn.microsoft.com/en-us/magazine/ee336027.aspx
http://code.msdn.microsoft.com/Scenario
http://www.microsoft.com/visualstudio/en-us/
http://blogs.msdn.com/b/somasegar/
http://msdn.com/data
http://blogs.msdn.com/adonet
http://blogs.msdn.com/astoriateam
http://blogs.msdn.com/efdesign
www.microsoft.com/teched
www.microsoft.com/learning
http://microsoft.com/technet
http://microsoft.com/msdn
Sign up for Tech·Ed 2011 and save $500
starting June 8 – June 31st
http://northamerica.msteched.com/registration
You can also register at the
North America 2011 kiosk located at registration
Join us in Atlanta next year
Number
of cores
CPU Utilization
of other
processes
CPU
Utilization
of the target
process
Idle time
Zoom control and
time axis
Ruler tool for custom
time measurements
One lane per thread
Thread activity (color
coded execution states)
Usage
Hints
Activity
Legend
Call Stacks
available for
each “sample”
Who
unblocked
this thread?
Execution on each
core
One lane per
logical core
Cross-core migration
statistics
One color per
thread
Download