SlideShare a Scribd company logo
Parallel Programming in Visual Studio 2010 Sasha Goldshtein Senior Consultant, Sela Group http://blogs.microsoft.co.il/blogs/sasha
Agenda Overview and Roadmap Architecture, Design Patterns Explicit and Implicit Parallelism Synchronization Mechanisms Coordination Data Structures Debugging and Profiling Other Technologies
Overview and Roadmap Shipping in .NET 4.0 Task Parallel Library Parallel LINQ Task Scheduler Shipping in Visual Studio 2010 Debugging and profiling enhancements Don’t forget the native tools (ConcRT) Disclaimer: This is Beta software Visual Studio 2010  & Framework 4.0
Architecture Pipeline Partitioning Grid
Explicit Parallelism Task.Factory.StartNew Parent-child relationships Continuations Futures Exception handling Cancellation
Implicit Parallelism Parallel.For, Parallel.ForEach Parallel.Invoke Custom partitioner
Very Implicit Parallelism Parallel LINQ Ordered vs. Unordered foreach vs. ForAll Cancellation
Synchronization Mechanisms Barrier CountdownEvent ManualResetEventSlim SemaphoreSlim SpinLock SpinWait Lazy initialization
Coordination Data Structures Lock-free data structures Concurrent queue Concurrent stack, dictionary Concurrent bag (work-stealing) ThreadLocal<T>
Concurrency Design Patterns Worker patterns Producer-consumer (BlockingCollection<T>) Completion port / thread pool (Task) Automatic pipelining / partitioning APM coordination (Task.Factory.FromAsync) Smart collections patterns Safe/unsafe, read/write Cyclic buffer
Debugging in Visual Studio 2010 Parallel Stacks Parallel Tasks
Profiling in Visual Studio 2010 Core utilization Thread blocking, Thread migration
Incubation and Other Technologies STM.NET Axum (ex. Maestro) CHESS Windows 7 256-core support Windows 7 User-Mode Scheduler
Summary The next generation parallel technologies and tools are here Download Visual Studio 2010 Beta 1
Additional Resources msdn.com/concurrency code.msdn.microsoft.com/ParExtSamples msdn.microsoft.com/en-us/library/dd460693(VS.100).aspx channel9.msdn.com/tags/Parallel+Extensions/
Thank You! Sasha Goldshtein Senior Consultant, Sela Group http://blogs.microsoft.co.il/blogs/sasha

More Related Content

Similar to Parallel Programming In Visual Studio 2010 (20)

PPTX
Using Parallel Computing Platform - NHDNUG
North Houston .NET Users Group
 
PPT
Overview Of Parallel Development - Ericnel
ukdpe
 
PPTX
Overview of VS2010 and .NET 4.0
Bruce Johnson
 
PPT
Parallel Extentions to the .NET Framework
ukdpe
 
PPTX
Multi core programming 1
Robin Aggarwal
 
PPT
MTaulty_DevWeek_Parallel
ukdpe
 
PPTX
Dot net parallelism and multicore computing
Aravindhan Gnanam
 
PPT
The Pillars Of Concurrency
aviade
 
PPTX
Net meets multi core
Steve Mylroie
 
PPTX
Parallel extensions in .Net 4.0
Dima Maleev
 
PPTX
Parallel Computing in .NET
meghantaylor
 
PPTX
MSDN Presents: Visual Studio 2010, .NET 4, SharePoint 2010 for Developers
Dave Bost
 
PPTX
Toub parallelism tour_oct2009
nkaluva
 
PPTX
Coding For Cores - C# Way
Bishnu Rawal
 
PPT
Parallel Programming and F#
llangit
 
PPTX
Perf by design
Tess Ferrandez
 
PPT
Task and Data Parallelism
Sasha Goldshtein
 
PPTX
Parallel Programming
Mindfire Solutions
 
PPTX
.NET Multithreading/Multitasking
Sasha Kravchuk
 
PDF
Parallel Programming With Microsoft Net Design Patterns For Decomposition And...
foegeartemfz
 
Using Parallel Computing Platform - NHDNUG
North Houston .NET Users Group
 
Overview Of Parallel Development - Ericnel
ukdpe
 
Overview of VS2010 and .NET 4.0
Bruce Johnson
 
Parallel Extentions to the .NET Framework
ukdpe
 
Multi core programming 1
Robin Aggarwal
 
MTaulty_DevWeek_Parallel
ukdpe
 
Dot net parallelism and multicore computing
Aravindhan Gnanam
 
The Pillars Of Concurrency
aviade
 
Net meets multi core
Steve Mylroie
 
Parallel extensions in .Net 4.0
Dima Maleev
 
Parallel Computing in .NET
meghantaylor
 
MSDN Presents: Visual Studio 2010, .NET 4, SharePoint 2010 for Developers
Dave Bost
 
Toub parallelism tour_oct2009
nkaluva
 
Coding For Cores - C# Way
Bishnu Rawal
 
Parallel Programming and F#
llangit
 
Perf by design
Tess Ferrandez
 
Task and Data Parallelism
Sasha Goldshtein
 
Parallel Programming
Mindfire Solutions
 
.NET Multithreading/Multitasking
Sasha Kravchuk
 
Parallel Programming With Microsoft Net Design Patterns For Decomposition And...
foegeartemfz
 

Parallel Programming In Visual Studio 2010

  • 1. Parallel Programming in Visual Studio 2010 Sasha Goldshtein Senior Consultant, Sela Group http://blogs.microsoft.co.il/blogs/sasha
  • 2. Agenda Overview and Roadmap Architecture, Design Patterns Explicit and Implicit Parallelism Synchronization Mechanisms Coordination Data Structures Debugging and Profiling Other Technologies
  • 3. Overview and Roadmap Shipping in .NET 4.0 Task Parallel Library Parallel LINQ Task Scheduler Shipping in Visual Studio 2010 Debugging and profiling enhancements Don’t forget the native tools (ConcRT) Disclaimer: This is Beta software Visual Studio 2010 & Framework 4.0
  • 5. Explicit Parallelism Task.Factory.StartNew Parent-child relationships Continuations Futures Exception handling Cancellation
  • 6. Implicit Parallelism Parallel.For, Parallel.ForEach Parallel.Invoke Custom partitioner
  • 7. Very Implicit Parallelism Parallel LINQ Ordered vs. Unordered foreach vs. ForAll Cancellation
  • 8. Synchronization Mechanisms Barrier CountdownEvent ManualResetEventSlim SemaphoreSlim SpinLock SpinWait Lazy initialization
  • 9. Coordination Data Structures Lock-free data structures Concurrent queue Concurrent stack, dictionary Concurrent bag (work-stealing) ThreadLocal<T>
  • 10. Concurrency Design Patterns Worker patterns Producer-consumer (BlockingCollection<T>) Completion port / thread pool (Task) Automatic pipelining / partitioning APM coordination (Task.Factory.FromAsync) Smart collections patterns Safe/unsafe, read/write Cyclic buffer
  • 11. Debugging in Visual Studio 2010 Parallel Stacks Parallel Tasks
  • 12. Profiling in Visual Studio 2010 Core utilization Thread blocking, Thread migration
  • 13. Incubation and Other Technologies STM.NET Axum (ex. Maestro) CHESS Windows 7 256-core support Windows 7 User-Mode Scheduler
  • 14. Summary The next generation parallel technologies and tools are here Download Visual Studio 2010 Beta 1
  • 15. Additional Resources msdn.com/concurrency code.msdn.microsoft.com/ParExtSamples msdn.microsoft.com/en-us/library/dd460693(VS.100).aspx channel9.msdn.com/tags/Parallel+Extensions/
  • 16. Thank You! Sasha Goldshtein Senior Consultant, Sela Group http://blogs.microsoft.co.il/blogs/sasha