Presentation is loading. Please wait.

Presentation is loading. Please wait.

Visual Studio 2010 and.NET Framework 4 Training Workshop.

Similar presentations


Presentation on theme: "Visual Studio 2010 and.NET Framework 4 Training Workshop."— Presentation transcript:

1 Visual Studio 2010 and.NET Framework 4 Training Workshop

2 Presentation Outline (hidden slide): Technical Level: 300 Intended Audience: Developers & Architects Objectives (what do you want the audience to take away): Understand the importance of the “parallel computing shift” Understand the technologies introduced in NETFX4 that are easing this transition Presentation Outline: Why worry about Parallel Computing? Microsoft’s Parallel Computing Initiative System.Threading Improvements Parallel Extensions to the.NET Framework New Unified Cancellation Model

3 Parallel Computing for Managed Developers Name Title Organization Email

4 Objectives Understand the importance of the “parallel computing shift” Understand the technologies introduced in the.NET Framework 4 that are easing this transition

5 “I used to think that cyberspace was fifty years away. What I thought was fifty years away, was only ten years away. And what I thought was ten years away... it was already here. I just wasn't aware of it yet.” - Bruce Sterling

6 Baby Names

7 “Moore’s Law scaling should easily let us hit the 80-core mark in mainstream processors within the next ten years and quite possibly even sooner.” - Justin Ratner, CTO, Intel

8 The Parallel Computing Initiative Letting the brightest developers solve business problems, not concurrency problems. “Concurrency for the masses”

9 Concurrency Landscape For Visual Studio 2010 and the.NET Framework 4… System.Threading Parallel Extensions Unified Cancellation Model

10 New System.Threading Primitives A Barrier is a synchronization primitive that enforces the stopping of execution between a number of threads or processes at a given point and prevents further execution until all threads or processors have reached the given point. A CountdownEvent is a synchronization primitive that enables ongoing tracking of a given workload in order to determine if processing of that workload is finished or not. YUCK!

11 Barrier “Let’s all caravan over to Seattle! We’ll meet at the gas station and leave from there.” - Charlie Mac Charlie Dennis Seattle Barrier Gas Station

12 Unified Cancellation “Sir, we are ready to seat you…” - Hostess Cancellation Token Source Cancellation Token

13 System.Threading and the new Unified Cancellation Model

14 Parallel Extensions is a.NET Library that supports declarative and imperative data parallelism, imperative task parallelism, and a set of data structures that make coordination easier. 1.Parallel LINQ (PLINQ) 2.Task Parallel Library (TPL) 3.Coordination Data Structures (CDS)

15 From Threads To Tasks

16 “Work Stealing” in Action Worker Thread 1 Worker Thread p Program Thread Task 1 Task 2 Task 3 Task 5 Task 4

17 Parallel Static Class When program statements are independent… …they can be parallelized StatementA(); StatementB(); StatementC(); StatementA(); StatementB(); StatementC(); Parallel.Invoke( () => StatementA(), () => StatementB(), () => StatementC() ); Parallel.Invoke( () => StatementA(), () => StatementB(), () => StatementC() );

18 Parallel Static Class

19 PLINQ Parallel LINQ (PLINQ) enables developers to easily leverage manycore with a minimal impact to existing LINQ programming model 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;

20 PLINQ

21 Recap For Visual Studio 2010 and the.NET Framework 4.0… System.Threading Parallel Extensions Unified Cancellation Model

22


Download ppt "Visual Studio 2010 and.NET Framework 4 Training Workshop."

Similar presentations


Ads by Google