Parallel Programming in Visual Studio 2010 Sasha Goldshtein Senior Consultant, Sela Group

Slides:



Advertisements
Similar presentations
Ofir Aspis 1/2010 VS 2010 Targets High Level - IDE New Features VS 2010 As Editor and Platform Demo Editor features Extending.
Advertisements

Hazim Shafi Principal Architect Microsoft Corporation TL19.
Parallel Performance Tools in Visual Studio 2010.
An overview of… Luis Guerrero Plain Concepts
James Kolpack, InRAD LLC popcyclical.com. CodeStock is proudly partnered with: Send instant feedback on this session via Twitter: Send a direct message.
Parallel Extensions to the.NET Framework Daniel Moth Microsoft
FUTURE OF.NET PARALLEL PROGRAMMING Joseph Albahari SESSION CODE: DEV308 (c) 2011 Microsoft. All rights reserved.
System.Threading.Tasks Task Represents an asynchronous operation Supports waiting, cancellation, continuations, … Parent/child relationships 1 st -class.
 Niklas Gustafsson Software Architect Microsoft Corporation TL22.
Threads. Objectives To introduce the notion of a thread — a fundamental unit of CPU utilization that forms the basis of multithreaded computer systems.
490dp Synchronous vs. Asynchronous Invocation Robert Grimm.
Virtual techdays INDIA │ 9-11 February 2011 Parallelism in.NET 4.0 Parag Paithankar │ Technology Advisor - Web, Microsoft India.
Threads CSCI 444/544 Operating Systems Fall 2008.
Daniel Moth  Parallel Computing Platform Microsoft Corporation TL26.
Chapter 4: Threads READ 4.1 & 4.2 NOT RESPONSIBLE FOR 4.3 &
PARALLEL PROGRAMMING ABSTRACTIONS 6/16/2010 Parallel Programming Abstractions 1.
Connect with life Bijoy Singhal Developer Evangelist | Microsoft India.
Parallel Programming in.NET Kevin Luty.  History of Parallelism  Benefits of Parallel Programming and Designs  What to Consider  Defining Types of.
A Top Level Overview of Parallelism from Microsoft's Point of View in 15 minutes IDC HPC User’s Forum April 2010 David Rich Director Strategic Business.
Phil Pennington Sr. Developer Evangelist Microsoft Corporation SESSION CODE: WSV325.
Thinking in Parallel Adopting the TCPP Core Curriculum in Computer Systems Principles Tim Richards University of Massachusetts Amherst.
What’s New In Visual Studio 2010 Denys Kholod Technology Expert Hmarasoft.com.
國立台灣大學 資訊工程學系 Chapter 4: Threads. 資工系網媒所 NEWS 實驗室 Objectives To introduce the notion of a thread — a fundamental unit of CPU utilization that forms the.
Chapter 4: Threads. 4.2CSCI 380 Operating Systems Chapter 4: Threads Overview Multithreading Models Threading Issues Pthreads Windows XP Threads Linux.
14.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts with Java – 8 th Edition Chapter 4: Threads.
POSTSHARP TECHNOLOGIES Better software through simpler code.
Parallel Extensions A glimpse into the parallel universe By Eric De Carufel Microsoft.NET Solution Architect at Orckestra
Visual Studio 2010 and.NET Framework 4 Training Workshop.
Parallel Programming in.NET 4.0 Tasks and Threading Ingo Rammer, thinktecture
Parallel Extensions A glimpse into the parallel universe Eric De Carufel
About Me Microsoft MVP Intel Blogger TechEd Israel, TechEd Europe Expert C++ Book
Expressing Parallel Patterns in Modern C++ Rahul V. Patil Microsoft C++ Parallel Computing Team Note: this is a simplified version of the deck used in.
Parallel Extensions A glimpse into the parallel universe By Eric De Carufel Microsoft.NET Solution Architect at Orckestra
Barry Wimlett Technical Specialist BSc MBCS blackmarble.com.
Huseyin YILDIZ Software Design Engineer Microsoft Corporation SESSION CODE: DEV314.
CSC Multiprocessor Programming, Spring, 2012 Chapter 11 – Performance and Scalability Dr. Dale E. Parson, week 12.
Module 8 Enhancing User Interface Responsiveness.
Parallel Pattern Library Resource Manager Task Scheduler Task Parallel Library Task Parallel Library Parallel LINQ Managed Native Key: Threads Operating.
LINQ & PLINQ (Parallel) Language Integrated Query.
Plinq Presentation Steen L. Knudsen
Application Lifecycle Management Tools for C++ in Visual Studio 2012 Rong Lu Program Manager Visual C++ Microsoft Corporation DEV316.
DEV303. Tiny Functions Why Does It Need a Name?
TAP into async programming
Visual Studio 2010 and.NET Framework 4 Training Workshop.
Microsoft TechDayshttp:// Сычев Игорь Microsoft Student Partner.
TOPICS WHAT YOU’LL LEAVE WITH WHO WILL BENEFIT FROM THIS TALK.NET developers: familiar with parallel programming support in Visual Studio 2010 and.NET.
Rong Lu Senior Program Manager Building Unity games in Visual Studio.
What's New in Visual Studio 2010 Debugging Brian Peek Senior Consultant, ASPSOFT, Inc. Microsoft MVP - C#
@gfraiteur a deep investigation on how.NET multithreading primitives map to hardware and Windows Kernel You Thought You Understood Multithreading Gaël.
Task and Data Parallelism: Real-World Examples Sasha Goldshtein | SELA Group.
.NET Garbage Collection Performance Tips Sasha Goldshtein | SELA Group.
Enterprise Library 3.0 Memi Lavi Solution Architect Microsoft Consulting Services Guy Burstein Senior Consultant Advantech – Microsoft Division.
Visual Studio 2010 and .NET Framework 4 Training Workshop
Tech Ed North America /20/2018 7:07 AM Required Slide
Lighting Up Windows Server 2008 R2 Using the ConcRT on UMS
The Parallel Patterns Library in Visual Studio 2010
Chapter 4: Threads.
Staying Afloat in the .NET Async Ocean
C++ Forever: Interactive Applications in the Age of Manycore
Chapter 4: Threads.
PerfView Measure and Improve Your App’s Performance for Free
Modified by H. Schulzrinne 02/15/10 Chapter 4: Threads.
F# for Parallel and Asynchronous Programming
Build /2/2019 © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
Visual Studio 2010 and .NET Framework 4 Training Workshop
Patterns for Programming Shared Memory
Visual Studio Tools for Unity 2.0 Preview
Patterns for Programming Shared Memory
CSC Multiprocessor Programming, Spring, 2011
Presentation transcript:

Parallel Programming in Visual Studio 2010 Sasha Goldshtein Senior Consultant, Sela Group

Agenda Overview and Roadmap Architecture, Design Patterns Explicit and Implicit Parallelism Synchronization Mechanisms Coordination Data Structures Debugging and Profiling Other Technologies

Overview and Roadmap Shipping in.NET 4.0 – Task Parallel Library – Parallel LINQ – Task Scheduler Shipping in Visual Studio 2010 – Debugging and profiling enhancements – Don’t forget the native tools (ConcRT) Disclaimer: This is Beta software Visual Studio 2010 & Framework 4.0

Architecture Pipeline Partitioning Grid

Explicit Parallelism Task.Factory.StartNew Parent-child relationships Continuations Futures Exception handling Cancellation

Implicit Parallelism Parallel.For, Parallel.ForEach Parallel.Invoke Custom partitioner

Very Implicit Parallelism Parallel LINQ Ordered vs. Unordered foreach vs. ForAll Cancellation

Synchronization Mechanisms Barrier CountdownEvent ManualResetEventSlim SemaphoreSlim SpinLock SpinWait Lazy initialization

Coordination Data Structures Lock-free data structures Concurrent queue Concurrent stack, dictionary Concurrent bag (work-stealing) ThreadLocal

Concurrency Design Patterns Worker patterns – Producer-consumer (BlockingCollection ) – Completion port / thread pool (Task) – Automatic pipelining / partitioning – APM coordination (Task.Factory.FromAsync) Smart collections patterns – Safe/unsafe, read/write – Cyclic buffer

Debugging in Visual Studio 2010 Parallel Stacks Parallel Tasks

Profiling in Visual Studio 2010 Core utilization Thread blocking, Thread migration

Incubation and Other Technologies STM.NET Axum (ex. Maestro) CHESS Windows core support Windows 7 User-Mode Scheduler

Summary The next generation parallel technologies and tools are here Download Visual Studio 2010 Beta 1

Additional Resources msdn.com/concurrency code.msdn.microsoft.com/ParExtSamples msdn.microsoft.com/en- us/library/dd460693(VS.100).aspx channel9.msdn.com/tags/Parallel+Extensions/

Thank You! Sasha Goldshtein Senior Consultant, Sela Group