Virtual techdays INDIA │ 9-11 February 2011 Parallelism in.NET 4.0 Parag Paithankar │ Technology Advisor - Web, Microsoft India.

Slides:



Advertisements
Similar presentations
Windows Workflow Foundation
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
Virtual techdays INDIA │ September 2011 Integrating SSIS with external applications Nauzad Kapadia
CHESS: A Systematic Testing Tool for Concurrent Software CSCI6900 George.
Silberschatz, Galvin and Gagne ©2013 Operating System Concepts Essentials – 2 nd Edition Chapter 4: Threads.
Chapter 5 Processes and Threads Copyright © 2008.
Threads Section 2.2. Introduction to threads A thread (of execution) is a light-weight process –Threads reside within processes. –They share one address.
490dp Synchronous vs. Asynchronous Invocation Robert Grimm.
Parallel Programming in Visual Studio 2010 Sasha Goldshtein Senior Consultant, Sela Group
Parallel Programming Models and Paradigms
An introduction to F# (part 2) Bogdan Brinzarea-Iamandi Banca Romaneasca 25 February 2010.
Daniel Moth  Parallel Computing Platform Microsoft Corporation TL26.
Virtual techdays INDIA │ November 2010 SQL Azure Data Sync Shilpa Nirmale │ Associate Manager, Accenture.
Parallel Programming in.NET Kevin Luty.  History of Parallelism  Benefits of Parallel Programming and Designs  What to Consider  Defining Types of.
 Lynne Hill General Manager Parallel Computing Platform Visual Studio.
Parallel Extensions A glimpse into the parallel universe By Eric De Carufel Microsoft.NET Solution Architect at Orckestra
Parallel Programming in.NET 4.0 Tasks and Threading Ingo Rammer, thinktecture
Parallel Extensions A glimpse into the parallel universe Eric De Carufel
Parallel Programming: Responsiveness vs. Performance Joe Hummel, PhD Microsoft MVP Visual C++ Technical Staff: Pluralsight, LLC Professor: U. of Illinois,
About Me Microsoft MVP Intel Blogger TechEd Israel, TechEd Europe Expert C++ Book
Robert Vitolo CS474.  Branched off of ML (metalanguage)  Developed at Microsoft, available as part of the Visual Studio 2010 software package, integrated.
Lecture 21 Parallel Programming Richard Gesick. Parallel Computing Parallel computing is a form of computation in which many operations are carried out.
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
1 Programming Environment and Tools VS.Net 2012 First project MSDN Library.
Multithreaded Programing. Outline Overview of threads Threads Multithreaded Models  Many-to-One  One-to-One  Many-to-Many Thread Libraries  Pthread.
Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9 th Edition, Chapter 4: Multithreaded Programming.
Module 8 Enhancing User Interface Responsiveness.
LINQ & PLINQ (Parallel) Language Integrated Query.
Plinq Presentation Steen L. Knudsen
Managing and Monitoring the Microsoft Application Platform Damir Bersinic Ruth Morton IT Pro Advisor Microsoft Canada
DEV303. Tiny Functions Why Does It Need a Name?
Visual Studio 2010 and.NET Framework 4 Training Workshop.
Chapter 4: Threads.
Advanced Windows Store App Development with HTML5 Refresh / Exam Prep M6: Tools and Asynchronous Programming Jeremy Foster Microsoft Technical.
Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9 th Edition Chapter 4: Threads.
3/12/2013Computer Engg, IIT(BHU)1 OpenMP-1. OpenMP is a portable, multiprocessing API for shared memory computers OpenMP is not a “language” Instead,
MapReduce. Google and MapReduce Google searches billions of web pages very, very quickly How? It uses a technique called “MapReduce” to distribute the.
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.
DEPARTMENT OF COMPUTER SCIENCE Introduction to Visual Basic BCA 3 RD YR PRESENTED BY HASHIR UN NABI Dated:01/07/
 Cloud Computing technology basics Platform Evolution Advantages  Microsoft Windows Azure technology basics Windows Azure – A Lap around the platform.
Contents 1.Overview 2.Multithreading Model 3.Thread Libraries 4.Threading Issues 5.Operating-system Example 2 OS Lab Sun Suk Kim.
Chapter 4: Threads Modified by Dr. Neerja Mhaskar for CS 3SH3.
Introduction to threads
Chapter 1 Introduction to Visual Basic
Chapter 4: Multithreaded Programming
Chapter 4: Threads.
Async or Parallel? No they aren’t the same thing!
Lighting Up Windows Server 2008 R2 Using the ConcRT on UMS
Computer Engg, IIT(BHU)
Task Parallel Library: Design Principles and Best Practices
Staying Afloat in the .NET Async Ocean
C++ Forever: Interactive Applications in the Age of Manycore
Intel® Parallel Studio and Advisor
Chapter 4: Threads.
F# for Parallel and Asynchronous Programming
Tech·Ed North America /8/ :16 PM
Visual Studio 2010 and .NET Framework 4 Training Workshop
Multithreaded Programming
Threads.
Building and running HPC apps in Windows Azure
Chapter 4: Threads & Concurrency
Chapter 4: Threads.
virtual techdays INDIA │ November 2010
Chapter 4: Threads.
Lecture 20 Parallel Programming CSE /8/2019.
Presentation transcript:

virtual techdays INDIA │ 9-11 February 2011 Parallelism in.NET 4.0 Parag Paithankar │ Technology Advisor - Web, Microsoft India

 What and Why of Parallelism  Threading: From There to Now  Exploring The Task Parallel Library (TPL)  Quick introduction Task Factories and Task Schedulers and why we need them?  Diagnostics tools in Visual Studio 2010  Summary  Q&A virtual techdays INDIA │ 9-11 February 2011 S E S S I O N A G E N D A

 What is Parallelism?  The ability to run multiple tasks in Parallel without really worrying about the underlying synchronization and management of threads  Why do we need it?  Computers have evolved from single core to multiple cores  Software needs to take advantage of this  Splitting larger jobs in smaller chunks (across cores) increasing performance and scalability together virtual techdays INDIA │ 9-11 February 2011 What and Why of Parallelism

 Scenario 1:  There: Threading but not Threading  Windows Messaging technique  Scenario 2:  There: Threading for Performance  Scenario 3:  Now: Threading with managed synchronization  ThreadPool  Scenario 4:  Now! Tasks across cores!  Imperative Task Parallelism: System.Threading.Tasks  Imperative Data Parallelism: Parallel.For, Parallel.ForEach  Declarative Data Parallelism: PLINQ (AsParallel) virtual techdays INDIA │ 9-11 February 2011 Threading: From There to Now

virtual techdays INDIA │ 9-11 February 2011 Parallel Programming Architecture

 Set of Public Types and APIs in  System.Threading  System.Threading.Tasks  Enables scalability by leveraging multiple cores  TPL:  Handles work partitioning  Thread Scheduling (ThreadPool)  Cancellation support  State Management virtual techdays INDIA │ 9-11 February 2011 Exploring the Task Parallel Library (TPL)

 Imperative Task Parallelism  Create and run tasks implicitly using Parallel.Invoke  Explicitly using Tasks objects  Imperative Data Parallelism  Parallel.For and Parallel.ForEach loops  Declarative Data Parallelism  PLINQ virtual techdays INDIA │ 9-11 February 2011 Components of TPL

 Task Factories  Exists in Task.TaskFactory in System.Threading  Creates Task Objects which can be started immediately  Manage Task Waits– Task continuation  Use for TPL with classic Async Programming models  Task Schedulers  Exists in Task.TaskScheduler in System.Threading  Ensures that Tasks complete  Based on ThreadPool virtual techdays INDIA │ 9-11 February 2011 Quick introduction Task Factories and Task Schedulers and why we need them?

 New Windows in Debugger:  Parallel Tasks  Parallel Stacks virtual techdays INDIA │ 9-11 February 2011 Visual Studio 2010 support for Parallelism

virtual techdays INDIA │ 9-11 February 2011 RESOURCES  Parallel Computing Resources on MSDN 

virtual techdays THANKS │ 9-11 February 2011 │ blogs.msdn.com/parag