Upload
mehran-davoudi
View
172
Download
0
Embed Size (px)
Citation preview
Parallel ProgrammingTowards Efficient Cloud Computing
Mehran Davoudi
Head of Development Department,
Carane Resource Planning Systems
http://ir.linkedin.com/in/mehrandvd/
Presentation Overview
?
• Why to move towards parallel programming?
• What’s the most concerns successful applications to implement parallel?
• How to handle challenges using new coming technologies
The Moore’s Law
The number of transistors on integrated
circuits doubles approximately every two
years.
2x every 2 year!
Shared Memory
The most famous problem in parallel computing
Makes everything very complicated
Heard about them at the university
Very important but not the topic of this presentation
Error Management
100 threads are working
In the middle, 3 of them fail
What to do now!?
Continue?Throw
Exception?
What about remained threads?
Cancellation
100 threads are working
30 done, 20 doing, 50 waiting
User cancels! What to do now!?
Finish doings?
Cut the doings?
Don’t allow to cancel!?
How the technology helps to manage
Threads
Tasks
LambdasImmutable
collections
Async/Await
Aggregated Exceptions
Isolated Types
Task instead of Thread
A better abstraction
•Task hides most of unnecessary complicated details of threads
Managed by .NET
•Thread pooling, resource management and many others are controlled by the framework
A well shaped API
• It has a Fluent API
•Well integrated with Lambdas
TPL, PLINQ
TPL (Task Parallel Library)
Cancellation
Cancellation Token
Continuation
Next line is not the next!
Error Management
Aggregate Exception
PLINQ
High level parallelizing
tools
Parallel.For()
Based on the famous LINQ
Enumerable
.AsParallel()
A totally different thinking style
A totally different terminology for developers
Next statement ≠ Next Line
It takes about 6 months to teach and prepare a professional development team
Resources
Andres Heijlsberg conference on BUILD
Patterns of Parallel Programming, Stephen Toub, 2010
Erik Meyer and Joe Duffy talk on Chanel 9
Eric Lippert weblog on Parallel Programming
Joseph Albahari weblog on Parallel Programming
Wikipedia page of Moore’s Law
Thanks
QUESTIONS!?
Also you can contact me at:
Mail: [email protected]
LinkedIn: http://ir.linkedin.com/in/mehrandvd
Facebook: www.facebook.com/mehrandvd