Visual Studio 2010 Beta 2

abashedwhimsicalΛογισμικό & κατασκευή λογ/κού

2 Νοε 2013 (πριν από 3 χρόνια και 9 μήνες)

92 εμφανίσεις

Visual Studio
2010
Beta
2

About Me


Microsoft MVP


Intel Blogger


TechEd Israel, TechEd Europe


Expert C++ Book



http://AsyncOp.com


http://Asaf.Shelly.co.il

Task Parallel Library
-

TPL


.Net

Framework 3.5


See TechEd 2008


VS2010 with
.Net

4.0


Language Extensions


Lambda Expressions


C#, VB, F#, C++

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
;

});

C++
parallel_for

parallel_for
(
0
,
100
, [&]
i

{


int

x =
i

+
i
;

});

Visual Studio
2010


Multi
-
Core Programming


Tasks


Agents


Parallel Loops


Parallel Algorithms


Parallel Replacement for STL


Seamless Task Usage

Task Oriented Design

Modify

Write

Open

Modify

Scan

Scan

Scan

Scan

Scan

Scan

PLINQ


Parallel LINQ


VS
2010
Demo

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.


VS
2010
Demo

VS
2010
Demo

Visual Studio Parallel Debugger


Parallel Task List


Parallel Task Stack


Built
-
in Profiler



Parallel Pattern
Library

Resource Manager

Task Scheduler

Task Parallel

Library

PLINQ

Managed Library

Native Library

Key:
Threads

Operating System

Concurrency Runtime

Programming Models

Agents

Library

ThreadPool

Task Scheduler

Resource Manager

Data Structures

Data Structures

Integrated
Tooling

Tools

Parallel

Debugger
Toolwindows

Profiler
Concurrency

Analysis

Programming Models

Concurrency Runtime

Advanced Parallel In VS
2010


Agents


Resource Owners


Task Groups


Task Cancellation


Task Cleanup (
CancelIo
)

VS
2010
Demo

Hints for the future


http://msdn.microsoft.com/en
-
us/devlabs/dd
795202
.aspx


AXUM


Language for parallel computing


STM.Net

-

Software Transactional Memory for
concurrent memory separation


Spec Explorer


Graphical analysis of software
behavior


… and more


A bit nostalgia


TechEd
2008
Israel

Do we really want Parallel Code?

Do users even care?

2005

2007

2008

2010

Change In Mindset

Everything is stopped. Waiting for the photographer

Everyone is working independently

Change In Mindset

Developers are writing functions

Developers are managing tasks

Change In Mindset

Doing things the way we always have

Things are going to be different