Parallel Extensions A glimpse into the parallel universe Eric De Carufel

Slides:



Advertisements
Similar presentations
The Ward Group 31 December Agenda Introduction The business problem Sharepoint Q&A.
Advertisements

Unit 1: Overview of the Microsoft.NET Platform
Microsoft Office SharePoint Portal Server 2007 Introduction to InfoPath Forms Services Daryl L. Rudolph.
The What, Why and How Answers of Microsoft Dynamics AX Amer Atiyah Microsoft Dynamics AX Solution Architect
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.
MICROSOFT PLATFORM  Microsoft is a platform company is committed to providing a rich ecosystem for building and managing connected systems.  Microsoft.
Rapid Application Development for Line of Business Applications using Microsoft CRM 2011 Chet Kloss CRM Customizations Architect
Microsoft Ignite /16/2017 5:20 PM
Virtual techdays INDIA │ 9-11 February 2011 Parallelism in.NET 4.0 Parag Paithankar │ Technology Advisor - Web, Microsoft India.
Parallel Programming in Visual Studio 2010 Sasha Goldshtein Senior Consultant, Sela Group
Client Solution Collaborative application for employees Transparent communication w/ anonymous questions Technology SharePoint 2010, using ratings and.
1 © 2008 Venable LLP Silverlight and SharePoint – Venable LLP Darrin Dyson Director of Development and Systems Integration Venable LLP June 16, 2011.
Daniel Moth  Parallel Computing Platform Microsoft Corporation TL26.
GPPC Connections 2011 | November 6-8 | Las Vegas, NV SharePoint 101: An Introduction to Microsoft SharePoint 2010 Joseph Tews, MCITP, MCT Summit Group.
Microsoft SharePoint 2013 SharePoint 2013 as a Developer Platform
Microsoft Office Business Scorecard Manager 2005 : Programming Business Intelligence Features John Hooper Service Line Architect Microsoft Corporation.
Building solutions with Improving solution governance on SharePoint 2010 Rico Ho Chief Dreaming Officer
Enterprise Project Management (EPM)
SharePoint Portal Server 2003 JAMES WEIMHOLT WEIDER HAO JUAN TURCIOS BILL HUERTA BRANDON BROWN JAMES WEIMHOLT INTRODUCTION OVERVIEW IMPLEMENTATION CASE.
Parallel Programming in.NET Kevin Luty.  History of Parallelism  Benefits of Parallel Programming and Designs  What to Consider  Defining Types of.
Corporate Efficiency Meeting Improving Your Business Processes Using SharePoint and Beyond.
DYNAMICS CRM AS AN xRM DEVELOPMENT PLATFORM Jim Novak Solution Architect Celedon Partners, LLC
Microsoft.NET Platform Adam Seligman Strategy Advisor and.NET Agitator
February 28, 2007 Pamela Williams. Windows SharePoint Services is an enabling technology that is included in Microsoft Windows Server It provides.
SharePoint 2007 Overview and Solution Examples Inetium.
2007 Microsoft Office System Overview 2007 Microsoft Office System Overview Elizabeth Caley Senior Product Manager Microsoft Canada.
Todd Kitta  Covenant Technology Partners  Professional Windows Workflow Foundation.
EKOBIT An Enterprise Application Lifecycle Management Company.
The Team About Me Microsoft MVP Intel Blogger TechEd Israel, TechEd Europe HPC NT, CE, DDK, C#, Asp.Net, DirectShow, 8051, …
Microsoft Enterprise Search Strategy and Solutions Denise Holehouse Business Productivity Solution Specialist Microsoft Public Sector, Australia.
Parallel Extensions A glimpse into the parallel universe By Eric De Carufel Microsoft.NET Solution Architect at Orckestra
DEV 303 Visual Studio "Whidbey" Enterprise Tools: Source Control and Work Item Tracking Brian Harry Product Unit Manager Microsoft Visual Studio.
About Me Microsoft MVP Intel Blogger TechEd Israel, TechEd Europe Expert C++ Book
SharePoint Portal Server Office XP Launch Tour Breakout Presentation nametitle Microsoft Corporation.
Perforce Software Version Everything.. Visual Studio Industry Partner Perforce Software NEXT STEPS Contact us at: Perforce products.
Lecture 21 Parallel Programming Richard Gesick. Parallel Computing Parallel computing is a form of computation in which many operations are carried out.
Parallel Extensions A glimpse into the parallel universe By Eric De Carufel Microsoft.NET Solution Architect at Orckestra
Virtual techdays INDIA │ august 2010 ENTERPRISE CONTENT MANAGEMENT WITH SHAREPOINT 2010 Naresh K Satapathy │ Solution Specialist, Microsoft Corporation.
Huseyin YILDIZ Software Design Engineer Microsoft Corporation SESSION CODE: DEV314.
Module 8 Enhancing User Interface Responsiveness.
You are Here! Navigating SharePoint 1. Sharon Weaver 15 years designing, developing, and managing software 10 years SharePoint experience Six Sigma Black.
Data Parallelism Task Parallel Library (TPL) The use of lambdas Map-Reduce Pattern FEN 20141UCN Teknologi/act2learn.
Current Trends in Web-Enablement June The “Real-Time” Enterprise  Extending business processes and operations  To the end-user via the web 
Module 1: Overview of Microsoft Office SharePoint Server 2007.
Microsoft Partner Conference Integrated Innovation Don Kerr Partner Technology Specialist.
Copyright c 2004 OSIsoft Inc. All rights reserved. Visualizing Performance Management Managing Information with RtPortal Gregg Le Blanc - OSIsoft Brian.
Microsoft Office System 2007: Records Management Wes Preston Inetium.
Introduction to SharePoint 2007 Brendon Schwartz
SharePoint 2007 Business Intelligence
Microsoft Office SharePoint Server 2007 Enterprise Search
Building Custom Workflows
What is SharePoint and why you should care
Async or Parallel? No they aren’t the same thing!
Lighting Up Windows Server 2008 R2 Using the ConcRT on UMS
Did your feature got in, out or planned?
Introduction to SharePoint 2007
Task Parallel Library: Design Principles and Best Practices
Introduction to Team Foundation Server 2010
Visual Studio 2005 “Personalized productivity”
Staying Afloat in the .NET Async Ocean
.NET 3.0, 3.5, 4.0 WCF, WPF, WF, CardSpace, LINQ, Task Parallel
Author: Joe ‘The CRM Chap’ Griffin Website: crmchap.co.uk
DAT381 Team Development with SQL Server 2005
Office 365 Development July 2014.
Lecture 20 Parallel Programming CSE /8/2019.
FUNDAMENTALS OF DOT NET TRAINING BY SURBHI KALE. INDEX 1.Dot net training Framework Fundamentals 2.CLR Features 3.Class Library Features 4.The Common.
Presentation transcript:

Parallel Extensions A glimpse into the parallel universe Eric De Carufel

Core Expertise Online retail and distribution –Overture Solutions Enterprise Portals and ECM –Content Management, Collaboration, (Intranet) –Office Business Solutions –Partners Service Portals (Extranet) –Customer Service Portals (Internet) Business Process Automation –EAI, SOA, ESB Search –Fast ESP (A Microsoft Subsidiary) –SharePoint Server 2007 Search –Endeca IAP (Information Access Platform) Dynamics CRM 4.0 –Sales Force Automation –xRM applications Search platforms E-Commerce platform Enterprise platform Integration platform Business platforms

Partners Strategic Partners Technology Partners Consulting Partners

Clients

Who am’I? Eric De Carufel is solution architect at Orckestra Over 15 years experience in software development –Bell Canada, Centre de Recherceh d’emploi St-Denis, Fédération Québécoise de Karaté, AXA Canada Tech, Provigo (5 projects), Metro-Richelieu (2 projects), Imagina, Unipage, APLC, Viasystems, Montreal Jewish Hospital, AGTI, CCQ, Ogilvy Renault, Ivanhoé Cambridge, Microcell (Fido), Cirque du Soleil, TELUS, PSP Investment, CGI, Deutsche Bank, Orckestra, Sobeys, Jean-Coutu, Xtranormal Started with an ADAM computer by Coleco Working with.NET since version 1.0

Agenda Introduction Overview Library Core TPL (Task Parallel Library) Parallel Linq (PLINQ) Parallel Data Structures Questions

Introduction Why do we have to bother? –Moore’s law is over, no more free lunch The Power Wall The Complexity Wall (Instruction-Level Parallelism) The Memory Wall The Reliability Wall –Multi cores systems will be more and more available

Introduction Type of Parallelism –Asynchronous operation (better user experience) –Data parallelism –Task parallelism Options –Manual treading Thread, ThreadPool, BackgroundWorkerThread –Asynchronous calls –Event driven Problems –Resource sharing –Locking –Non-deterministic sequence of execution –Hard to debug

Overview

Task Parallel Library (TPL) Lightweight task framework (Task) –Create(Action ) factory method –Wait, WaitAll, WaitAny to catch exception –ContinueWith to chain Tasks together Lazy function call –Future Task scheduler and manager –TaskManager

DEMO Task Parallel Library (Task, Future, TaskManager)

Parallel API Parallel Loops –Parallel.For –Parallel.ForEach Lazy Initialisation –LazyInit Locking –SpinWait –SpinLock CountdownEvent

Parallel API Standard for loop – for (int i = 0; i < N; i++) { a[i] = Compute(i); } Parallel for loop – Parallel.For(0, N, i => { a[i] = Compute(i); });

DEMO Parallel API (Parallel.For, Parallel.ForEach)

Parallel Linq (PLINQ) Parallel Query –AsParallel() Return to sequential execution –AsSequential() Preserve order –AsOrdered() Order doesn’t matter –AsUnordered()

Parallel Linq (PLINQ) var query = from c in Customers where c.Name = “Smith” select c; var query = from c in Customers.AsParallel() where c.Name = “Smith” select c;

DEMO Parallel Linq (PLINQ)

Parallel Data Structures IConcurrent Collection –Add(T item) –Remove(out T item) ConcurrentStack –Push(T item) –TryPop(out T item) ConcurrentQueue –Enqueue(T item) –TryDequeue(out T item) BlockingCollection –Add(T item), –Remove(out T item) –TryAdd(T item), –TryRemove(out T item)

DEMO Parallel Structure (IConcurrentCllection, BlockingCollection, …)

CLR Thread Pool: Work-Stealing Worker Thread 1 Worker Thread p Program Thread User Mode Scheduler For Tasks Global Queue Global Queue Local Queue Local Queue Local Queue Local Queue Task 1 Task 2 Task 3 Task 5 Task 4 Task 6

MORE DEMO ContinueWith, Lambda, LazyInit

What’s next Visual Studio 2010.NET Framework 4.0 New multi cores computer (4, 16, 32, 64, …) Think parallel! –Thread safety will save your life

Call to action Parallel FX Team blog – Visual Studio 2010 –Look for the next release Eric De Carufel –

Ideas Task stealing Integration into language maybe for later Potentially in parallel Exception Handling Garbage collection Shift from threads to tasks (more than needed) Divide and conquer leads to more parallelism opportunities Use of CPU, GPU or Scale out To get another 100x performance –The Power Wall –The Complexity Wall –The Memory Wall