SlideShare a Scribd company logo
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 Building blocks for implementing concurrent components.  Scalable and thread-safe collections, locks, etc. 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 Exploit latent operations by doing work while waiting for data.  Asynch I/O, async interaction points, message passing, etc. 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 http://msdn.com/concurrency 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
Fewer side effects More opportunities for parallelism Used for advanced computation, math, data mining, financial More concise, fewer bugs
 
Improvements to the F# research release April 2008 Microsoft Research refresh release  Broadly improved VS 2008 integration Simplifications in language and libraries Just Released September 2008 CTP Full product-quality release Fully stable and supported language Aligned with future VS releases 2009 Supported Release
F# tutorials  F# MSDN Developer Center F# for Windows Azure F# Samples Expert F# book and code samples
On the Web: http://fsharp.net Books:
Thanks vets!

More Related Content

PPTX
Spark Pitfalls meetup UnderscoreIL
PPTX
Spring batch
PDF
Apache Airflow
PPT
Wikilims Road4
PPTX
Grokking TechTalk #24: Thiết kế hệ thống Background Job Queue bằng Ruby & Pos...
PPTX
Parallel Development in VS10
PDF
Effect systems in scala: beyond flatmap
PDF
Sql Server Machine Learning Services - Sql Saturday Prague 2018 #SqlSatPrague
Spark Pitfalls meetup UnderscoreIL
Spring batch
Apache Airflow
Wikilims Road4
Grokking TechTalk #24: Thiết kế hệ thống Background Job Queue bằng Ruby & Pos...
Parallel Development in VS10
Effect systems in scala: beyond flatmap
Sql Server Machine Learning Services - Sql Saturday Prague 2018 #SqlSatPrague

Viewers also liked (7)

PPTX
5 Digigirlz Xna
PPTX
2 Win7 For Devs Ux Touch Sensors
PPTX
1 Win7 For Devs Fund Search
PPTX
3 Kodu
PPTX
3 App Compat Win7
PPTX
4 Making Movies
DOCX
Ensayo
5 Digigirlz Xna
2 Win7 For Devs Ux Touch Sensors
1 Win7 For Devs Fund Search
3 Kodu
3 App Compat Win7
4 Making Movies
Ensayo
Ad

Similar to Parallel Programming and F# (20)

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

More from llangit (20)

PPTX
2 Digi Girlz Small Basic
PPTX
1 Digi Girlz So Cal Databases Kims Final
PPT
SQL Server 2008 Data Mining
PPT
SQL Server 2008 Data Mining
PPT
SQL Server 2008 for Developers
PPT
SQL Server 2008 for .NET Developers
PPT
Tech Days09 Sqldev
PPT
Windows Azure for .NET Developers
PPT
Introduction To Sql Services
PPT
Making of GirlGamer
PPT
Kodu
PPT
DigiGirlz_SoCal_Databases
PPT
DigiGirlzSmallBasic
PPT
Bi2008 Plus Cloud Preview
PPT
The Role Of An Architect
PPT
SQL Server 2008 for Developers
PPT
BI in SQL Server 2008 for Architects
PPT
BI2008newFeatures
PPT
BI 2008 Simple
PPT
Data Mining 2008
2 Digi Girlz Small Basic
1 Digi Girlz So Cal Databases Kims Final
SQL Server 2008 Data Mining
SQL Server 2008 Data Mining
SQL Server 2008 for Developers
SQL Server 2008 for .NET Developers
Tech Days09 Sqldev
Windows Azure for .NET Developers
Introduction To Sql Services
Making of GirlGamer
Kodu
DigiGirlz_SoCal_Databases
DigiGirlzSmallBasic
Bi2008 Plus Cloud Preview
The Role Of An Architect
SQL Server 2008 for Developers
BI in SQL Server 2008 for Architects
BI2008newFeatures
BI 2008 Simple
Data Mining 2008

Recently uploaded (20)

PDF
Modernizing your data center with Dell and AMD
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Electronic commerce courselecture one. Pdf
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Approach and Philosophy of On baking technology
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
cuic standard and advanced reporting.pdf
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPTX
MYSQL Presentation for SQL database connectivity
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Machine learning based COVID-19 study performance prediction
PDF
Empathic Computing: Creating Shared Understanding
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
Big Data Technologies - Introduction.pptx
Modernizing your data center with Dell and AMD
Network Security Unit 5.pdf for BCA BBA.
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Electronic commerce courselecture one. Pdf
Spectral efficient network and resource selection model in 5G networks
Approach and Philosophy of On baking technology
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Diabetes mellitus diagnosis method based random forest with bat algorithm
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
cuic standard and advanced reporting.pdf
“AI and Expert System Decision Support & Business Intelligence Systems”
Chapter 3 Spatial Domain Image Processing.pdf
MYSQL Presentation for SQL database connectivity
NewMind AI Weekly Chronicles - August'25 Week I
Machine learning based COVID-19 study performance prediction
Empathic Computing: Creating Shared Understanding
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Review of recent advances in non-invasive hemoglobin estimation
Reach Out and Touch Someone: Haptics and Empathic Computing
Big Data Technologies - Introduction.pptx

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. 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 Building blocks for implementing concurrent components. Scalable and thread-safe collections, locks, etc. 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 Exploit latent operations by doing work while waiting for data. Asynch I/O, async interaction points, message passing, etc. 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
  • 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. Fewer side effects More opportunities for parallelism Used for advanced computation, math, data mining, financial More concise, fewer bugs
  • 19.  
  • 20. Improvements to the F# research release April 2008 Microsoft Research refresh release Broadly improved VS 2008 integration Simplifications in language and libraries Just Released September 2008 CTP Full product-quality release Fully stable and supported language Aligned with future VS releases 2009 Supported Release
  • 21. F# tutorials F# MSDN Developer Center F# for Windows Azure F# Samples Expert F# book and code samples
  • 22. On the Web: http://fsharp.net Books:

Editor's Notes

  • #2: 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.