about me microsoft mvp intel blogger teched israel, teched europe expert c++ book

23
Visual Studio 2010 Beta 2

Upload: jerome-jesse-evans

Post on 02-Jan-2016

223 views

Category:

Documents


7 download

TRANSCRIPT

Page 1: About Me Microsoft MVP Intel Blogger TechEd Israel, TechEd Europe Expert C++ Book

Visual Studio 2010 Beta 2

Page 2: About Me Microsoft MVP Intel Blogger TechEd Israel, TechEd Europe Expert C++ Book

About Me

• Microsoft MVP• Intel Blogger• TechEd Israel, TechEd Europe• Expert C++ Book

• http://AsyncOp.com• http://Asaf.Shelly.co.il

Page 3: About Me Microsoft MVP Intel Blogger TechEd Israel, TechEd Europe Expert C++ Book

Task Parallel Library - TPL

• .Net Framework 3.5• See TechEd 2008• VS2010 with .Net 4.0• Language Extensions• Lambda Expressions• C#, VB, F#, C++

Page 4: About Me Microsoft MVP Intel Blogger TechEd Israel, TechEd Europe Expert C++ Book

From for to Parallel.For

for (int i=0; i<100; i++){ int x = i + i;}

Parallel.For(0, 100, i =>{ int x = i + i;});

Page 5: About Me Microsoft MVP Intel Blogger TechEd Israel, TechEd Europe Expert C++ Book

C++ parallel_for

parallel_for(0, 100, [&] i{ int x = i + i;});

Page 6: About Me Microsoft MVP Intel Blogger TechEd Israel, TechEd Europe Expert C++ Book

Visual Studio 2010

• Multi-Core Programming• Tasks• Agents• Parallel Loops• Parallel Algorithms• Parallel Replacement for STL• Seamless Task Usage

Page 7: About Me Microsoft MVP Intel Blogger TechEd Israel, TechEd Europe Expert C++ Book

Task Oriented Design

Modify

Write

Open

Modify

Scan ScanScanScan ScanScan

Page 8: About Me Microsoft MVP Intel Blogger TechEd Israel, TechEd Europe Expert C++ Book

PLINQ – Parallel LINQ

Page 9: About Me Microsoft MVP Intel Blogger TechEd Israel, TechEd Europe Expert C++ Book

VS2010 DemoC# Parallel.For

Page 10: About Me Microsoft MVP Intel Blogger TechEd Israel, TechEd Europe Expert C++ Book

Keep an eye for…

• Shared are Globals• Parallel Loops are not loops• Define data as Loop internal• Race Conditions are still here• Locks!!• I/O – Disk, Network, etc.

Page 11: About Me Microsoft MVP Intel Blogger TechEd Israel, TechEd Europe Expert C++ Book

VS2010 DemoC++ Parallel_For

Page 12: About Me Microsoft MVP Intel Blogger TechEd Israel, TechEd Europe Expert C++ Book

VS2010 DemoUnderstanding Lambda and parallel_for

Page 13: About Me Microsoft MVP Intel Blogger TechEd Israel, TechEd Europe Expert C++ Book

Visual Studio Parallel Debugger

• Parallel Task List• Parallel Task Stack• Built-in Profiler

Page 14: About Me Microsoft MVP Intel Blogger TechEd Israel, TechEd Europe Expert C++ Book

Parallel Pattern Library

Resource Manager

Task Scheduler

Task Parallel Library

PLINQ

Managed Library Native LibraryKey:

ThreadsOperating System

Concurrency Runtime

Programming Models

AgentsLibrary

ThreadPool

Task Scheduler

Resource Manager

Data Structures

Dat

a St

ruct

ures

Integrated Tooling

Tools

ParallelDebugger

Toolwindows

Profiler Concurrency

Analysis

Programming Models

Concurrency Runtime

Page 15: About Me Microsoft MVP Intel Blogger TechEd Israel, TechEd Europe Expert C++ Book

Advanced Parallel In VS2010

• Agents – Resource Owners• Task Groups• Task Cancellation• Task Cleanup (CancelIo)

Page 16: About Me Microsoft MVP Intel Blogger TechEd Israel, TechEd Europe Expert C++ Book

VS2010 DemoNew F# Application

Page 17: About Me Microsoft MVP Intel Blogger TechEd Israel, TechEd Europe Expert C++ Book

Hints for the future

• http://msdn.microsoft.com/en-us/devlabs/dd795202.aspx

• AXUM – Language for parallel computing• STM.Net - Software Transactional Memory for

concurrent memory separation• Spec Explorer – Graphical analysis of software

behavior• … and more

Page 18: About Me Microsoft MVP Intel Blogger TechEd Israel, TechEd Europe Expert C++ Book

A bit nostalgia

• TechEd 2008 Israel

Page 19: About Me Microsoft MVP Intel Blogger TechEd Israel, TechEd Europe Expert C++ Book

Do we really want Parallel Code?Do users even care?

2005 2007 2008 2010

Page 20: About Me Microsoft MVP Intel Blogger TechEd Israel, TechEd Europe Expert C++ Book

Change In MindsetEverything is stopped. Waiting for the photographer

Everyone is working independently

Page 21: About Me Microsoft MVP Intel Blogger TechEd Israel, TechEd Europe Expert C++ Book

Change In MindsetDevelopers are writing functions

Developers are managing tasks

Page 22: About Me Microsoft MVP Intel Blogger TechEd Israel, TechEd Europe Expert C++ Book

Change In MindsetDoing things the way we always have

Things are going to be different

Page 23: About Me Microsoft MVP Intel Blogger TechEd Israel, TechEd Europe Expert C++ Book

Thank You