SlideShare une entreprise Scribd logo
1  sur  23
Lynn Langit – Developer Evangelist http://blogs.msdn.com/SoCalDevGal Daniel Moth - Parallel Computing Platform http://www.danielmoth.com/Blog   Luca Bolognese http://blogs.msdn.com/lucabol/
Threads Operating System Concurrency Runtime Programming Models Task Scheduler Resource Manager Integrated Tooling Programming Models Concurrency Runtime Parallel Pattern Library Resource Manager Task Scheduler Task Parallel  Library PLINQ Managed Library Native Library Agents Library ThreadPool Data Structures Data Structures Tools Parallel Debugger Toolwindows Profiler Concurrency Analysis
 
 
Program Thread CLR Thread Pool  Global Queue Worker Thread 1 Worker Thread p
Program Thread Task 1 Task 2 Task 3 Task 5 Task 4 Task 6 CLR Thread Pool: Work-Stealing Worker Thread 1 Worker Thread p Global Queue Local Queue Local Queue
 
ThreadPool ThreadPool .QueueUserWorkItem(…); System.Threading.Tasks Task .StartNew(…); Starting var  p =  Task .StartNew(() => { var  t =  Task .StartNew(…); }); Parent/Child var  f =  Future .StartNew(() => C()); … int  result = f.Value; Tasks with results Task  t =  Task .StartNew(…); Task  p = t.ContinueWith(…); t.Wait(2000); t.Cancel(); Continue/Wait/Cancel
 
 
 
 
var q = from p in people          where p.Name == queryInfo.Name &&  p.State == queryInfo.State && p.Year >= yearStart && p.Year <= yearEnd          orderby p.Year ascending          select p;
 
Area Descriptions Example Scenarios Imperative Data Parallelism Apply the same operation to common collections/sets in parallel.  Looping, data partitioning, reductions, scans, etc.  Medical imaging Bond pricing Task Parallelism Simultaneously perform multiple independent operations.  Divide-and-conquer, tasks, threads, fork/join, futures, etc. Process control automation Shared Resources ,[object Object],Middle-tier configuration/state management Declarative Data Parallelism Define what computation needs to be done, without the how.  Selections, filters, joins, aggregations, groupings, etc. Statistical modeling Coordination ,[object Object],Streaming audio Task Parallel Library Parallel Pattern Library OpenMP, Cluster SOA Coordination Data Structures Transactional Memory MPI, MPI.net, CCR Native Agents and Messaging Maestro PLINQ
www.microsoftpdc.com ,[object Object],Visual Studio 2010  & Framework 4.0
all PDC sessions Overview - why and how parallelism PLINQ screencast Other Ch9 PLINQ screencasts PLINQ MSDN article MSDN concurrency VS 2010 on Ch9 VS 2010 week Parallel Computing - Vision Daniel Moth blog
[object Object],[object Object],[object Object],[object Object]
 
[object Object],April 2008 Microsoft Research refresh release  ,[object Object],[object Object],Just Released September 2008 CTP ,[object Object],[object Object],[object Object],2009 Supported Release
F# tutorials  F# MSDN Developer Center F# for Windows Azure F# Samples Expert F# book and code samples
[object Object],[object Object],[object Object]
Thanks vets!

Contenu connexe

En vedette (7)

5 Digigirlz Xna
5 Digigirlz Xna5 Digigirlz Xna
5 Digigirlz Xna
 
2 Win7 For Devs Ux Touch Sensors
2 Win7 For Devs Ux Touch Sensors2 Win7 For Devs Ux Touch Sensors
2 Win7 For Devs Ux Touch Sensors
 
1 Win7 For Devs Fund Search
1 Win7 For Devs Fund Search1 Win7 For Devs Fund Search
1 Win7 For Devs Fund Search
 
3 Kodu
3 Kodu3 Kodu
3 Kodu
 
3 App Compat Win7
3 App Compat Win73 App Compat Win7
3 App Compat Win7
 
4 Making Movies
4 Making Movies4 Making Movies
4 Making Movies
 
Ensayo
EnsayoEnsayo
Ensayo
 

Similaire à Parallel Programming and F#

PowerPoint
PowerPointPowerPoint
PowerPoint
Videoguy
 
MLFlow: Platform for Complete Machine Learning Lifecycle
MLFlow: Platform for Complete Machine Learning Lifecycle MLFlow: Platform for Complete Machine Learning Lifecycle
MLFlow: Platform for Complete Machine Learning Lifecycle
Databricks
 

Similaire à Parallel Programming and F# (20)

Building and deploying LLM applications with Apache Airflow
Building and deploying LLM applications with Apache AirflowBuilding and deploying LLM applications with Apache Airflow
Building and deploying LLM applications with Apache Airflow
 
Overview of VS2010 and .NET 4.0
Overview of VS2010 and .NET 4.0Overview of VS2010 and .NET 4.0
Overview of VS2010 and .NET 4.0
 
Overview Of Parallel Development - Ericnel
Overview Of Parallel Development -  EricnelOverview Of Parallel Development -  Ericnel
Overview Of Parallel Development - Ericnel
 
Why apache Flink is the 4G of Big Data Analytics Frameworks
Why apache Flink is the 4G of Big Data Analytics FrameworksWhy apache Flink is the 4G of Big Data Analytics Frameworks
Why apache Flink is the 4G of Big Data Analytics Frameworks
 
Flink in action
Flink in actionFlink in action
Flink in action
 
Apache Beam: A unified model for batch and stream processing data
Apache Beam: A unified model for batch and stream processing dataApache Beam: A unified model for batch and stream processing data
Apache Beam: A unified model for batch and stream processing data
 
PowerPoint
PowerPointPowerPoint
PowerPoint
 
Near real-time anomaly detection at Lyft
Near real-time anomaly detection at LyftNear real-time anomaly detection at Lyft
Near real-time anomaly detection at Lyft
 
Metaflow: The ML Infrastructure at Netflix
Metaflow: The ML Infrastructure at NetflixMetaflow: The ML Infrastructure at Netflix
Metaflow: The ML Infrastructure at Netflix
 
Exploiting Web Technologies to connect business process management and engine...
Exploiting Web Technologies to connect business process management and engine...Exploiting Web Technologies to connect business process management and engine...
Exploiting Web Technologies to connect business process management and engine...
 
H2O World - Benchmarking Open Source ML Platforms - Szilard Pafka
H2O World - Benchmarking Open Source ML Platforms - Szilard PafkaH2O World - Benchmarking Open Source ML Platforms - Szilard Pafka
H2O World - Benchmarking Open Source ML Platforms - Szilard Pafka
 
Data Applications and Infrastructure at LinkedIn__HadoopSummit2010
Data Applications and Infrastructure at LinkedIn__HadoopSummit2010Data Applications and Infrastructure at LinkedIn__HadoopSummit2010
Data Applications and Infrastructure at LinkedIn__HadoopSummit2010
 
Thinking in parallel ab tuladev
Thinking in parallel ab tuladevThinking in parallel ab tuladev
Thinking in parallel ab tuladev
 
AI Library - An Open Source Machine Learning Framework
AI Library - An Open Source Machine Learning FrameworkAI Library - An Open Source Machine Learning Framework
AI Library - An Open Source Machine Learning Framework
 
MLFlow: Platform for Complete Machine Learning Lifecycle
MLFlow: Platform for Complete Machine Learning Lifecycle MLFlow: Platform for Complete Machine Learning Lifecycle
MLFlow: Platform for Complete Machine Learning Lifecycle
 
Natural Laws of Software Performance
Natural Laws of Software PerformanceNatural Laws of Software Performance
Natural Laws of Software Performance
 
Ztech Connect '19, IBM PureApplication
Ztech Connect '19, IBM PureApplicationZtech Connect '19, IBM PureApplication
Ztech Connect '19, IBM PureApplication
 
Overview of Apache Flink: Next-Gen Big Data Analytics Framework
Overview of Apache Flink: Next-Gen Big Data Analytics FrameworkOverview of Apache Flink: Next-Gen Big Data Analytics Framework
Overview of Apache Flink: Next-Gen Big Data Analytics Framework
 
Clustered PHP - DC PHP 2009
Clustered PHP - DC PHP 2009Clustered PHP - DC PHP 2009
Clustered PHP - DC PHP 2009
 
Apache Flink Training: System Overview
Apache Flink Training: System OverviewApache Flink Training: System Overview
Apache Flink Training: System Overview
 

Plus de llangit

Plus de llangit (20)

2 Digi Girlz Small Basic
2 Digi Girlz Small Basic2 Digi Girlz Small Basic
2 Digi Girlz Small Basic
 
1 Digi Girlz So Cal Databases Kims Final
1 Digi Girlz So Cal Databases Kims Final1 Digi Girlz So Cal Databases Kims Final
1 Digi Girlz So Cal Databases Kims Final
 
SQL Server 2008 Data Mining
SQL Server 2008 Data MiningSQL Server 2008 Data Mining
SQL Server 2008 Data Mining
 
SQL Server 2008 Data Mining
SQL Server 2008 Data MiningSQL Server 2008 Data Mining
SQL Server 2008 Data Mining
 
SQL Server 2008 for Developers
SQL Server 2008 for DevelopersSQL Server 2008 for Developers
SQL Server 2008 for Developers
 
SQL Server 2008 for .NET Developers
SQL Server 2008 for .NET DevelopersSQL Server 2008 for .NET Developers
SQL Server 2008 for .NET Developers
 
Tech Days09 Sqldev
Tech Days09 SqldevTech Days09 Sqldev
Tech Days09 Sqldev
 
Windows Azure for .NET Developers
Windows Azure for .NET DevelopersWindows Azure for .NET Developers
Windows Azure for .NET Developers
 
Introduction To Sql Services
Introduction To Sql ServicesIntroduction To Sql Services
Introduction To Sql Services
 
Making of GirlGamer
Making of GirlGamerMaking of GirlGamer
Making of GirlGamer
 
Kodu
KoduKodu
Kodu
 
DigiGirlz_SoCal_Databases
DigiGirlz_SoCal_DatabasesDigiGirlz_SoCal_Databases
DigiGirlz_SoCal_Databases
 
DigiGirlzSmallBasic
DigiGirlzSmallBasicDigiGirlzSmallBasic
DigiGirlzSmallBasic
 
Bi2008 Plus Cloud Preview
Bi2008 Plus Cloud PreviewBi2008 Plus Cloud Preview
Bi2008 Plus Cloud Preview
 
The Role Of An Architect
The Role Of An ArchitectThe Role Of An Architect
The Role Of An Architect
 
SQL Server 2008 for Developers
SQL Server 2008 for DevelopersSQL Server 2008 for Developers
SQL Server 2008 for Developers
 
BI in SQL Server 2008 for Architects
BI in SQL Server 2008 for ArchitectsBI in SQL Server 2008 for Architects
BI in SQL Server 2008 for Architects
 
BI2008newFeatures
BI2008newFeaturesBI2008newFeatures
BI2008newFeatures
 
BI 2008 Simple
BI 2008 SimpleBI 2008 Simple
BI 2008 Simple
 
Data Mining 2008
Data Mining 2008Data Mining 2008
Data Mining 2008
 

Dernier

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Dernier (20)

Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 

Parallel Programming and F#

  • 1. Lynn Langit – Developer Evangelist http://blogs.msdn.com/SoCalDevGal Daniel Moth - Parallel Computing Platform http://www.danielmoth.com/Blog Luca Bolognese http://blogs.msdn.com/lucabol/
  • 2. Threads Operating System Concurrency Runtime Programming Models Task Scheduler Resource Manager Integrated Tooling Programming Models Concurrency Runtime Parallel Pattern Library Resource Manager Task Scheduler Task Parallel Library PLINQ Managed Library Native Library Agents Library ThreadPool Data Structures Data Structures Tools Parallel Debugger Toolwindows Profiler Concurrency Analysis
  • 3.  
  • 4.  
  • 5. Program Thread CLR Thread Pool Global Queue Worker Thread 1 Worker Thread p
  • 6. Program Thread Task 1 Task 2 Task 3 Task 5 Task 4 Task 6 CLR Thread Pool: Work-Stealing Worker Thread 1 Worker Thread p Global Queue Local Queue Local Queue
  • 7.  
  • 8. ThreadPool ThreadPool .QueueUserWorkItem(…); System.Threading.Tasks Task .StartNew(…); Starting var p = Task .StartNew(() => { var t = Task .StartNew(…); }); Parent/Child var f = Future .StartNew(() => C()); … int result = f.Value; Tasks with results Task t = Task .StartNew(…); Task p = t.ContinueWith(…); t.Wait(2000); t.Cancel(); Continue/Wait/Cancel
  • 9.  
  • 10.  
  • 11.  
  • 12.  
  • 13. var q = from p in people          where p.Name == queryInfo.Name && p.State == queryInfo.State && p.Year >= yearStart && p.Year <= yearEnd         orderby p.Year ascending          select p;
  • 14.  
  • 15.
  • 16.
  • 17. all PDC sessions Overview - why and how parallelism PLINQ screencast Other Ch9 PLINQ screencasts PLINQ MSDN article MSDN concurrency VS 2010 on Ch9 VS 2010 week Parallel Computing - Vision Daniel Moth blog
  • 18.
  • 19.  
  • 20.
  • 21. F# tutorials F# MSDN Developer Center F# for Windows Azure F# Samples Expert F# book and code samples
  • 22.

Notes de l'éditeur

  1. 06/06/09 06:24 © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.