Your SlideShare is downloading. ×
0
Net meets multi core
Net meets multi core
Net meets multi core
Net meets multi core
Net meets multi core
Net meets multi core
Net meets multi core
Net meets multi core
Net meets multi core
Net meets multi core
Net meets multi core
Net meets multi core
Net meets multi core
Net meets multi core
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Net meets multi core

397

Published on

Slide Deck from this session

Slide Deck from this session

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
397
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
10
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. .Net meets Multi-Core
    Steve Mylroie
    smylroie@ix.netcom.com
  • 2. Bio Steve Mylroie
    • Current Status
    • 3. Semi Retired – 1099 Consultant (Microsoft Stack)
    • 4. Baynet Roles:
    • 5. Co-Chair South Bay Chapter, Treasurer, Board Member
    • 6. Employment History – 40 + years
    • 7. Semiconductor Industry
    • 8. Signetic, NV Philips, Monolithic Memories, AMD, KLA-Tencor, Promise System(Samsung)
    • 9. Process Development, TCAD, Metrology Tools, Factory Management Software, Shop Floor Control systems
    • 10. Medical Startups
    • 11. QuickSilver Systems Lummisys (Ultrasound Image Management) (NT)
    • 12. 5 Degree Bios (Cancer Treatment Planning) (Dotnet Nuke)
    • 13. Education
    • 14. BSEE U of W MS and PhD EE Stanford
  • Why Parallel Programming ?
    Why was it hard and what has improved ?
    Should be hard ?
    Prof. Guy Blelloch, Carnegie Mellon Univeristy
    http://software.intel.com/en-us/articles/is-parallel-programming-hard/Intel Threading Building Blocks
    and other works
    Parallel Extension to .Net(.Net 4.0 and Visual Studio 2010)
  • 15. Resources
    Parallel Programming with Microsoft .Nethttp://my.safaribooksonline.com/9780735651821
    Codplex Sample programs http://parallelpatterns.codeplex.com
    Concurrent Programming on Windows http://my.safaribooksonline.com/9780321434821
    MSDN Web sitehttp://msdn.microsoft.com/concurrency
    Intel Web sitehttp://software.intel.com/en-us/intel-sdp-home/
    Dr. Jobs go parallelhttp://drdobbs.com/go-parallel/
  • 16. What was added in .Net 4.0 and Visual Studio 2010 to make Parallel Programming easier ?
    Task Parallel Library(System.Threading.Tasks)
    Parallel Class
    Task Class
    Parallel Extension to LINQ
    Debugging Support
    Parallel Task Window
    Parallel Stack Window
    Concurrency Visualizer
  • 17. What will not be covered
    Database Access limited tasks
    UI limited tasks
    IIS Application
    I/O bound tasks (Asynchronous i/O)
    Some discussion related to I/O limited tasks and a MVVM Uis can be found in theParallel Programming Bookand CodePlex Code Samples
  • 18. What left ?Compute Bound Tasks
    Two general sets of patternsData Parallel and Task Parallel
    DataParallel
    Simple Loops
    Parallel.For
    Parallel.ForEach
    PLINQ
    Parallel Aggregation
  • 19. What left ?Compute Bound Tasks (Continued)
    Task Parallel
    Basic Task
    Parallel.Invoke
    Futures
    Dynamic Task Parallelism
    Pipe Lines
  • 20. What left ?Compute Bound Tasks (Other Topics)
    Cancelling Tasks
    Shared Data Containers
    Default Thread/Task Scheduler
    Long Running task
    Work Steeling
    Exception Handling
    Unobserved Exceptions
    AggregateException
  • 21. Enough PowerPointTime forSome Code
  • 22. Continuing Issues 1/2
    Non Thread Safe Library, Classes and Functions
    Random
    DBConnection
    Third Party Libraries
    Shared state and variables
    Hidden Shared state
    Deadlocks
    Closures
    Singletons
    Service Locators
    Instantiations use Lazy<T>
  • 23. Continuing Issues 2/2
    Database connections
    Closues
    Using statements
    Over subscription
    Under subscription
    Cache Coherency
  • 24. Cache Coherency Issue
    Core 1
    Core 1
    Cache
    Main Memory
    Core 2
    Core 2 Cache
  • 25. Summary
    • Parallel Programming is here to stay
    • 26. It harder than Sequential Programming but Getting Easier
    • 27. . Net 4.0 and Visual Studio 2010 Add lots of functionality to make it easier
    • 28. Parallel Architecture Require a Mind Set Change
    • 29. There are lots of Resource Available
    • 30. Welcome to a brave New World

×