Presentation is loading. Please wait.

Presentation is loading. Please wait.

Daniel Moth  Parallel Computing Platform Microsoft Corporation TL26.

Similar presentations


Presentation on theme: "Daniel Moth  Parallel Computing Platform Microsoft Corporation TL26."— Presentation transcript:

1 Daniel Moth  Parallel Computing Platform Microsoft Corporation http://www.danielmoth.com/Blog TL26

2 Parallel Pattern Library Resource Manager Task Scheduler Task Parallel Library Task Parallel Library PLINQ Managed Library Native Library Key: Threads Operating System Concurrency Runtime Programming Models Agents Library Agents Library ThreadPool Task Scheduler Resource Manager Data Structures Integrated Tooling Tools Parallel Debugger Toolwindows Parallel Debugger Toolwindows Profiler Concurrency Analysis Profiler Concurrency Analysis Programming Models Concurrency Runtime

3

4

5

6

7 Program Thread CLR Thread Pool Global Queue Global Queue Worker Thread 1 Worker Thread p

8 CLR Thread Pool: Work-Stealing Worker Thread 1 Worker Thread p Program Thread Global Queue Global Queue Local Queue Local Queue Local Queue Local Queue Task 1 Task 2 Task 3 Task 5 Task 4 Task 6

9

10 ThreadPool ThreadPool.QueueUserWorkItem(…); System.Threading.Tasks Task.StartNew(…); Starting var p = Task.StartNew(() => { var t = Task.StartNew(…); }); Parent/Child var f = Future.StartNew(() => C()); … int result = f.Value; Tasks with results Task t = Task.StartNew(…); Task p = t.ContinueWith(…); t.Wait(2000); t.Cancel(); Continue/Wait/Cancel

11

12

13

14

15

16

17

18 var q = from p in people where p.Name == queryInfo.Name && p.State == queryInfo.State && p.Year >= yearStart && p.Year <= yearEnd orderby p.Year ascending select p; var q = from p in people where p.Name == queryInfo.Name && p.State == queryInfo.State && p.Year >= yearStart && p.Year <= yearEnd orderby p.Year ascending select p;

19

20

21

22 Visual Studio 2010 & Framework 4.0

23

24 http://msdn.com/concurrency

25 Please fill out your evaluation for this session at: This session will be available as a recording at: www.microsoftpdc.com

26

27 © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

28 Task Concurrency Data Parallelism Distributed/ Cloud Computing Local Computing Robotics-based manufacturing assembly line Silverlight Olympics viewer Enterprise search, OLTP, collab Animation / CGI rendering Weather forecasting Seismic monitoring Oil exploration Automotive control system Internet –based photo services Ultrasound imaging equipment Media encode/decode Image processing/ enhancement Data visualization IFx / CCR Maestro TPL / PPL D-TPL D-PLINQ MPI / MPI.Net WCF Cluster SOA WF PLINQ TPL / PPL CDS OpenMP

29 AreaDescriptionsExample Scenarios Imperative Data Parallelism Apply the same operation to common collections/sets in parallel. Looping, data partitioning, reductions, scans, etc. Medical imaging Bond pricing Task ParallelismSimultaneously perform multiple independent operations. Divide-and-conquer, tasks, threads, fork/join, futures, etc. Process control automation Shared ResourcesBuilding blocks for implementing concurrent components. Scalable and thread-safe collections, locks, etc. Middle-tier configuration/state management Declarative Data Parallelism Define what computation needs to be done, without the how. Selections, filters, joins, aggregations, groupings, etc. Statistical modeling CoordinationExploit latent operations by doing work while waiting for data. Asynch I/O, async interaction points, message passing, etc. Streaming audio Task Parallel Library Parallel Pattern Library OpenMP, Cluster SOA Task Parallel Library Parallel Pattern Library OpenMP, Cluster SOA Coordination Data Structures Transactional Memory Coordination Data Structures Transactional Memory MPI, MPI.net, CCR Native Agents and Messaging Maestro MPI, MPI.net, CCR Native Agents and Messaging Maestro PLINQPLINQ

30


Download ppt "Daniel Moth  Parallel Computing Platform Microsoft Corporation TL26."

Similar presentations


Ads by Google