110 likes | 198 Views
Explore the essence of parallel programming in .NET 4.0 through Threading, Task Parallel Library, and more. Understand the significance, implementation, and tools for efficient parallel computing. Join the virtual tech session with Parag Paithankar, Technology Advisor at Microsoft India. Discover imperative and declarative parallelism concepts to optimize computing tasks. Learn about Task Factories and Schedulers and their role in managing tasks effectively. Leverage Visual Studio 2010's diagnostics tools for enhanced development. Enhance your knowledge on parallel computing for better application performance. Don't miss this opportunity to delve into the world of concurrency and parallelism.
E N D
INDIA │ 9-11 February2011 virtual techdays Parallelism in .NET 4.0 Parag Paithankar│ Technology Advisor - Web, Microsoft India
INDIA │ 9-11 February2011 virtual techdays • 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 S E S S I O N A G E N D A
INDIA │ 9-11 February2011 virtual techdays • 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 What and Why of Parallelism
INDIA │ 9-11 February2011 virtual techdays • 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) Threading: From There to Now
INDIA │ 9-11 February2011 virtual techdays Parallel Programming Architecture
INDIA │ 9-11 February2011 virtual techdays • 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 Exploring the Task Parallel Library (TPL)
INDIA │ 9-11 February2011 virtual techdays • 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 Components of TPL
INDIA │ 9-11 February2011 virtual techdays • 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 Quick introduction Task Factories and Task Schedulers and why we need them?
INDIA │ 9-11 February2011 virtual techdays • New Windows in Debugger: • Parallel Tasks • Parallel Stacks Visual Studio 2010 support for Parallelism
INDIA │ 9-11 February2011 virtual techdays • Parallel Computing Resources on MSDN • http://msdn.microsoft.com/en-us/concurrency/default RESOURCES
THANKS│ 9-11 February2011 virtual techdays paragp@microsoft.com │ blogs.msdn.com/parag