Presentation is loading. Please wait.

Presentation is loading. Please wait.

Parallel Programming in Visual Studio 2010 Sasha Goldshtein Senior Consultant, Sela Group

Similar presentations


Presentation on theme: "Parallel Programming in Visual Studio 2010 Sasha Goldshtein Senior Consultant, Sela Group"— Presentation transcript:

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

4 Architecture Pipeline Partitioning Grid

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

10 Concurrency Design Patterns Worker patterns – Producer-consumer (BlockingCollection ) – 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


Download ppt "Parallel Programming in Visual Studio 2010 Sasha Goldshtein Senior Consultant, Sela Group"

Similar presentations


Ads by Google