Net meets multi core


Published on

Slide Deck from this session

Published in: Technology
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Net meets multi core

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