Download presentation
Presentation is loading. Please wait.
Published byGwendolyn Johnson Modified over 9 years ago
1
Phil Pennington Sr. Developer Evangelist Microsoft Corporation SESSION CODE: WSV325
3
S = Area of square S = (2*r) * (2*r) = 4*r *r S = 4*r*r C = Area of Circle C = Pi*r*r Pi = 4 * (Area of Circle / Area of Square)
4
S = 4*r*r C = Pi*r*r Pi = 4*(C/S) For each Point (P), d(P) = SQRT((x * x) + (y * y)) if (d < r) then (x,y) in C
6
016 31 32-bit Idle Processor Mask Idle Busy
7
GROUP NUMA NODE SocketSocketSocketSocket Core LP NUMA = Non-Uniform Memory Access LP = Logical Processor
8
Group NUMA Node SocketSocket Core LP Core LP Core LP Core LP SocketSocket Core LP Core LP Core LP Core LP NUMA Node SocketSocket Core LP Core LP Core LP Core LP SocketSocket Core LP Core LP Core LP Core LP Group NUMA Node SocketSocket Core LP Core LP Core LP Core LP SocketSocket Core LP Core LP Core LP Core LP NUMA Node SocketSocket Core LP Core LP Core LP Core LP SocketSocket Core LP Core LP Core LP Core LP
9
CPU0CPU0CPU1CPU1CPU2CPU2CPU3CPU3 Dynamic scheduling improves performance by distributing work efficiently at runtime. CPU0CPU0CPU1CPU1CPU2CPU2CPU3CPU3
10
Your Scheduler Logic Wait Application Kernel S1S1 S1S1 S2S2 S2S2 Scheduler Threads CPU 1CPU 2 W1W1 W1W1 W2W2 W2W2 W3W3 W3W3 W4W4 W4W4 Blocked Worker Threads UMS Scheduler’s Ready List UMS Completion List
13
Visual C++ 10 (and many overloads for the above)
14
Tools Programming Models – Structured Parallelism.NET Parallel Extensions.NET Runtime Parallel LINQ (PLINQ) Parallel LINQ (PLINQ) Resource Manager Task Scheduler Managed Library Threads Pools Data Structures Tools Parallel Debugger Parallel Debugger Parallel Profiler Parallel Profiler Task Parallel Library
15
Tools Programming Models – Structured ParallelismC++ Concurrency Runtime Operating System Parallel Pattern Library Resource Manager Task Scheduler Native Library Key: Threads Data Structures Tools Parallel Debugger Parallel Profiler Agents Library Win7/R2: UMS Threads
16
Task Parallelism YYN+Y-NN Data Parallelism YYN+YYN Parallel Patterns YYNYN+N Fine-grained Parallelism (loops) YYYY-NN Work-Item Partitioning YYY-YN+N Dynamic Scheduling YYNYN+N
17
AffinityNNYNY-Y Concurrent Data Structures YYN+YNN Scalable Memory Allocator YYNYNN Optimized I/O Capability NNNNYY User-Mode Sync Primitives YYYYYN Automatically Collates Results NNNYNN
20
Control Parallelism Parallel.For (0, size, (i) => { Console.WriteLine(i); }); Data Parallelism IEnumerable numbers = Enumerable.Range(2, 100-3); var parallelQuery = from n in numbers.AsParallel() where Enumerable.Range(2, (int)Math.Sqrt(n)).All(i => n % i > 0) select n; int[] primes = parallelQuery.ToArray();
27
www.microsoft.com/teched www.microsoft.com/learning http://microsoft.com/technet http://microsoft.com/msdn
29
Sign up for Tech·Ed 2011 and save $500 starting June 8 – June 31 st http://northamerica.msteched.com/registration You can also register at the North America 2011 kiosk located at registration Join us in Atlanta next year
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.