A Day of Multicore Programming on the .NET Platform
Friday March 4th, 2011
8:00 am Welcome
8:30 – 5:00 pm Sessions
Microsoft San Francisco Office
835 Market St
San Francisco California 94103
Cores, cores, cores — so much opportunity, so little guidance. Until now. Microsoft’s recently released parallel programming support in .NET Framework 4 represents years of research in the area of parallel software development, offering .NET developers a much improved path into the world of parallel programming. The result? Faster, more responsive apps that make your end users more productive.
This 1-day workshop will introduce parallel programming support in .NET 4, and move rapidly from concepts to concrete examples. Topics include the new task-oriented programming model, exploiting data & task parallelism in your applications, design patterns for exposing parallelism, Task Parallel Library (TPL), Parallel LINQ, new concurrent data structures for more efficient parallel access, and proper exception handling in the presence of parallelism. We’ll also discuss cutting-edge Visual Studio 2010 tools for debugging and profiling of parallel apps, as well as tool support from Microsoft Research. The workshop will be demo-rich, with complete source code provided.
Attendees will learn how performance is measured, and discover that multicore programming is not just about parallelism, but also data locality. Finally, attendees will see that multicore programming does not come without a cost — in terms of code complexity, correctness testing, and the danger of race conditions, starvation, and deadlock. The good news is that .NET Framework 4 helps mitigate these costs, and offers tried-and-true techniques for dealing with the dangers of parallel programming, including barriers, semaphores, locking, interlocking, and support for lock-free solutions. The course will be concluded with a brief overview of the latest support for asynchrony and tasks provided in a future .NET Framework release.
About the speaker… Joe Hummel’s co-authored two books on software development, delivered over 60 webcasts for MSDN, and taught hundreds of courses world-wide. He holds a PhD in the field of parallel computing, and is currently a trainer for Pluralsight, LLC as well as a visiting professor at the University of California, Irvine.