<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" media="screen" href="/App_Themes/default/rss.xslt"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:evnet="http://www.mscommunities.com/rssmodule/"><channel><title>Entries tagged with concurrency - Channel 9</title><atom:link rel="self" type="application/rss+xml" href="http://channel9.msdn.com/tags/concurrency/rss/default.aspx" /><image><url>http://mschnlnine.vo.llnwd.net/d1/Dev/App_Themes/C9/images/feedimage.png</url><title>Entries tagged with concurrency - Channel 9</title><link>http://channel9.msdn.com/tags/Concurrency/</link></image><description>concurrency</description><link>http://channel9.msdn.com/tags/Concurrency/</link><language>en-us</language><pubDate>Thu, 05 Nov 2009 17:48:48 GMT</pubDate><lastBuildDate>Thu, 05 Nov 2009 17:48:48 GMT</lastBuildDate><generator>EvNet (EvNet, Version=1.0.3608.3122, Culture=neutral, PublicKeyToken=null)</generator><item><title>Wes Dyer and Stephen Toub: Rx and Px - Working Together</title><description>&lt;img src="http://ecn.channel9.msdn.com/o9/ch9/3/0/5/4/0/5/DyerToubRxPFx_85_ch9.png" border="0" /&gt;&lt;a href="http://msdn.microsoft.com/en-us/devlabs/ee794896.aspx" target="_blank"&gt;Reactive Extensions for .NET (Rx)&lt;/a&gt; released this week during PDC09. Rx uses Parallel Extensions for .NET (Px) for all of it's concurrent and parallel computing needs. How is it using Px, specifically? What's going on here and why? &lt;br /&gt;
&lt;br /&gt;
Stephen Toub, PM on the Px team, and Wes Dyer, developer on the Rx team, tell us all about this partnership the experience of collaborating on two very compatible technologies that, taken together, create something beautiful. Some many xs, so little time.&lt;br /&gt;
&lt;br /&gt;
Enjoy.&lt;img src="http://channel9.msdn.com/504503/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/posts/Charles/Wes-Dyer-and-Stephen-Toub-Rx-and-Px-Working-Together/</comments><link>http://channel9.msdn.com/posts/Charles/Wes-Dyer-and-Stephen-Toub-Rx-and-Px-Working-Together/</link><pubDate>Thu, 19 Nov 2009 21:56:00 GMT</pubDate><guid isPermaLink="false">http://ecn.channel9.msdn.com/o9/ch9/3/0/5/4/0/5/DyerToubRxPFx_ch9.wmv</guid><evnet:views>34259</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/504503/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>&lt;a href="http://msdn.microsoft.com/en-us/devlabs/ee794896.aspx" target="_blank"&gt;Reactive Extensions for .NET (Rx)&lt;/a&gt; released this week during PDC09. Rx uses Parallel Extensions for .NET (Px) for all of it's concurrent and parallel computing needs. How is it using Px, specifically? What's going on here and why? &lt;br /&gt;
&lt;br /&gt;
Stephen Toub, PM on the Px team, and Wes Dyer, developer on the Rx team, tell us all about this partnership the experience of collaborating on two very compatible technologies that, taken together, create something beautiful. Some many xs, so little time.&lt;br /&gt;
&lt;br /&gt;
Enjoy.</evnet:previewtext><media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/3/0/5/4/0/5/DyerToubRxPFx_320_ch9.png" height="240" width="320" /><media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/3/0/5/4/0/5/DyerToubRxPFx_85_ch9.png" height="64" width="85" /><media:group><media:content url="http://ecn.channel9.msdn.com/o9/ch9/3/0/5/4/0/5/DyerToubRxPFx_ch9.mp4" expression="full" duration="1248" fileSize="224297365" type="video/mp4" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/3/0/5/4/0/5/DyerToubRxPFx_ch9.mp3" expression="full" duration="1248" fileSize="9987090" type="audio/mp3" medium="audio" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/3/0/5/4/0/5/DyerToubRxPFx_ch9.mp4" expression="full" duration="1248" fileSize="224297365" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://ecn.channel9.msdn.com/o9/ch9/3/0/5/4/0/5/DyerToubRxPFx_ch9.wma" expression="full" duration="1248" fileSize="10101415" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://ecn.channel9.msdn.com/o9/ch9/3/0/5/4/0/5/DyerToubRxPFx_ch9.wmv" expression="full" duration="1248" fileSize="275958999" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/3/0/5/4/0/5/DyerToubRxPFx_2MB_ch9.wmv" expression="full" duration="1248" fileSize="391460925" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/3/0/5/4/0/5/DyerToubRxPFx_Zune_ch9.wmv" expression="full" duration="1248" fileSize="176903051" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/3/0/5/4/0/5/DyerToubRxPFx_512_ch9.png" expression="full" duration="1248" type="image/jpeg" medium="image" /><media:content url="http://ss.channel9.msdn.com/ch9/3/0/5/4/0/5/DyerToubRxPFx.ism/Manifest" expression="full" duration="1248" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://ecn.channel9.msdn.com/o9/ch9/3/0/5/4/0/5/DyerToubRxPFx_ch9.wmv" length="275958999" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>4</slash:comments><wfw:commentRss>http://channel9.msdn.com/posts/Charles/Wes-Dyer-and-Stephen-Toub-Rx-and-Px-Working-Together/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/504503/Trackback.aspx</trackback:ping><category>Concurrency</category><category>Parallel Computing Platform</category><category>Parallel Extensions</category><category>Parallelism</category><category>Px</category><category>Reactive Extensions</category><category>Rx</category></item><item><title>E2E: Erik Meijer and Burton Smith - Concurrency, Parallelism and Programming</title><description>&lt;img src="http://ecn.channel9.msdn.com/o9/ch9/5/9/4/1/0/5/E2EMeijerSmithConcurrency_85_ch9.png" border="0" /&gt;The great &lt;a href="http://www.microsoft.com/presspass/exec/techfellow/Smith/default.mspx" target="_blank"&gt;Burton Smith&lt;/a&gt;, Microsoft Technical Fellow and an international leader in high-performance computer architecture and programming languages for parallel computing joins functional programming purist and language design guru Erik Meijer to discuss several major themes of parallel computing and distributed programming. As always, you will get a lesson in history, present trends and future possibilities. This is simply an awesome and deeply wonderful conversation. Burton is a treasure. &lt;br /&gt;
&lt;br /&gt;
Erik shows up for the conversation only after Burton begins to talk about a potential definition for functional programming. Right on queue, Erik arrives! &lt;br /&gt;
&lt;br /&gt;
Burton will be presenting his thinking on parallel and concurrent programming at &lt;a href="http://microsoftpdc.com" target="_blank"&gt;PDC09&lt;/a&gt;. He will also be a panelist on the &lt;a href="http://microsoftpdc.com/Sessions/FT52" target="_blank"&gt;Future of Programming panel&lt;/a&gt; (and Erik will be the panel moderator - you won't want to miss the panel if you are attending PDC!).&lt;img src="http://channel9.msdn.com/501495/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/shows/Going+Deep/E2E-Erik-Meijer-and-Burton-Smith-Concurrency-Parallelism-and-Programming/</comments><link>http://channel9.msdn.com/shows/Going+Deep/E2E-Erik-Meijer-and-Burton-Smith-Concurrency-Parallelism-and-Programming/</link><pubDate>Tue, 03 Nov 2009 16:19:00 GMT</pubDate><guid isPermaLink="false">http://ecn.channel9.msdn.com/o9/ch9/5/9/4/1/0/5/E2EMeijerSmithConcurrency_ch9.wmv</guid><evnet:views>24803</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/501495/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>The great &lt;a href="http://www.microsoft.com/presspass/exec/techfellow/Smith/default.mspx" target="_blank"&gt;Burton Smith&lt;/a&gt;, Microsoft Technical Fellow and an international leader in high-performance computer architecture and programming languages for parallel computing joins functional programming purist and language design guru Erik Meijer to discuss several major themes of parallel computing and distributed programming. As always, you will get a lesson in history, present trends and future possibilities. This is simply an awesome and deeply wonderful conversation. Burton is a treasure. &lt;br /&gt;
&lt;br /&gt;
Erik shows up for the conversation only after Burton begins to talk about a potential definition for functional programming. Right on queue, Erik arrives! &lt;br /&gt;
&lt;br /&gt;</evnet:previewtext><media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/5/9/4/1/0/5/E2EMeijerSmithConcurrency_320_ch9.png" height="240" width="320" /><media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/5/9/4/1/0/5/E2EMeijerSmithConcurrency_85_ch9.png" height="64" width="85" /><media:group><media:content url="http://ecn.channel9.msdn.com/o9/ch9/5/9/4/1/0/5/E2EMeijerSmithConcurrency_ch9.mp4" expression="full" duration="3854" fileSize="693585425" type="video/mp4" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/5/9/4/1/0/5/E2EMeijerSmithConcurrency_ch9.mp3" expression="full" duration="3854" fileSize="30835344" type="audio/mp3" medium="audio" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/5/9/4/1/0/5/E2EMeijerSmithConcurrency_ch9.mp4" expression="full" duration="3854" fileSize="693585425" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://ecn.channel9.msdn.com/o9/ch9/5/9/4/1/0/5/E2EMeijerSmithConcurrency_ch9.wma" expression="full" duration="3854" fileSize="31177479" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://ecn.channel9.msdn.com/o9/ch9/5/9/4/1/0/5/E2EMeijerSmithConcurrency_ch9.wmv" expression="full" duration="3854" fileSize="832395483" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/5/9/4/1/0/5/E2EMeijerSmithConcurrency_2MB_ch9.wmv" expression="full" duration="3854" fileSize="1181412561" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/5/9/4/1/0/5/E2EMeijerSmithConcurrency_Zune_ch9.wmv" expression="full" duration="3854" fileSize="639564180" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/5/9/4/1/0/5/E2EMeijerSmithConcurrency_512_ch9.png" expression="full" duration="3854" type="image/jpeg" medium="image" /><media:content url="http://ss.channel9.msdn.com/ch9/5/9/4/1/0/5/E2EMeijerSmithConcurrency.ism/Manifest" expression="full" duration="3854" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://ecn.channel9.msdn.com/o9/ch9/5/9/4/1/0/5/E2EMeijerSmithConcurrency_ch9.wmv" length="832395483" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>17</slash:comments><wfw:commentRss>http://channel9.msdn.com/shows/Going+Deep/E2E-Erik-Meijer-and-Burton-Smith-Concurrency-Parallelism-and-Programming/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/501495/Trackback.aspx</trackback:ping><category>Burton Smith</category><category>Computer Hardware</category><category>Concurrency</category><category>Erik Meijer</category><category>Expert to Expert</category><category>Functional Programming</category><category>Parallel Computing</category><category>PDC09</category></item><item><title>Visualizing Concurrency: VS 2010 Beta 2 - Parallel Performance Profiling Advancements</title><description>&lt;img src="http://ecn.channel9.msdn.com/o9/ch9/2/8/0/7/9/4/ParallelProfilerBeta2_85_ch9.png" border="0" /&gt;&lt;p&gt;In Visual Studio 2010 Beta 1, you were introduced to new analysis and profiling capabilities (Parallel Profiling and Performance Tools) designed to make concurrency understandable and, ultimately, debuggable. Today, with the release of &lt;a href="http://go.microsoft.com/fwlink/?LinkID=151797"&gt;Visual Studio 2010 Beta 2&lt;/a&gt;, we introduce an updated and significantly more capable concurrency visualization and profiling tool which is available with other profiling features in Visual Studio 2010 Premium and Ultimate. What does it do, exactly? How does it work?&lt;br /&gt;
What's new?&lt;br /&gt;
&lt;br /&gt;
Here, Architect Hazim Shafi, Dev Lead Sasha Dadiomov and PM Bill Colburn tell us all about the Concurrency Visualizer Profiling Tool, including a demo. So, fire up Beta 2, spin up some threads and visualize concurrency. You should profile an already-existing application that employs concurrency and, perhaps for the first time, get to see what your concurrent code is &lt;em&gt;actually&lt;/em&gt; doing at run time.&lt;/p&gt;
&lt;p&gt;Parallel visualization tools team blog: &lt;a href="http://blogs.msdn.com/visualizeparallel/"&gt;http://blogs.msdn.com/visualizeparallel/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
The parallel computing dev center: &lt;a href="http://msdn.microsoft.com/en-us/concurrency/default.aspx"&gt;http://msdn.microsoft.com/en-us/concurrency/default.aspx&lt;/a&gt; &lt;/p&gt;
&lt;p&gt; &lt;br /&gt;
Hazim's blog: &lt;a href="http://blogs.msdn.com/hshafi/default.aspx"&gt;http://blogs.msdn.com/hshafi/default.aspx&lt;/a&gt;&lt;/p&gt;&lt;img src="http://channel9.msdn.com/497082/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/shows/Going+Deep/Visualizing-Concurrency-Inside-the-Concurrency-Visualizer-Profiling-Tool/</comments><link>http://channel9.msdn.com/shows/Going+Deep/Visualizing-Concurrency-Inside-the-Concurrency-Visualizer-Profiling-Tool/</link><pubDate>Mon, 19 Oct 2009 17:21:00 GMT</pubDate><guid isPermaLink="false">http://ecn.channel9.msdn.com/o9/ch9/2/8/0/7/9/4/ParallelProfilerBeta2_ch9.wmv</guid><evnet:views>27522</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/497082/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>&lt;p&gt;In Visual Studio 2010 Beta 1, you were introduced to new analysis and profiling capabilities (Parallel Profiling and Performance Tools) designed to make concurrency understandable and, ultimately, debuggable. Today, with the release of &lt;a href="http://go.microsoft.com/fwlink/?LinkID=151797"&gt;Visual Studio 2010 Beta 2&lt;/a&gt;, we introduce an updated and significantly more capable concurrency visualization and profiling tool which is available with other profiling features in Visual Studio 2010 Premium and Ultimate. What does it do, exactly? How does it work?&lt;br /&gt;
What's new?&lt;/p&gt;</evnet:previewtext><media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/2/8/0/7/9/4/ParallelProfilerBeta2_320_ch9.png" height="240" width="320" /><media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/2/8/0/7/9/4/ParallelProfilerBeta2_85_ch9.png" height="64" width="85" /><media:group><media:content url="http://ecn.channel9.msdn.com/o9/ch9/2/8/0/7/9/4/ParallelProfilerBeta2_ch9.mp4" expression="full" duration="2807" fileSize="504055017" type="video/mp4" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/2/8/0/7/9/4/ParallelProfilerBeta2_ch9.mp3" expression="full" duration="2807" fileSize="22459322" type="audio/mp3" medium="audio" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/2/8/0/7/9/4/ParallelProfilerBeta2_ch9.mp4" expression="full" duration="2807" fileSize="504055017" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://ecn.channel9.msdn.com/o9/ch9/2/8/0/7/9/4/ParallelProfilerBeta2_ch9.wma" expression="full" duration="2807" fileSize="22709203" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://ecn.channel9.msdn.com/o9/ch9/2/8/0/7/9/4/ParallelProfilerBeta2_ch9.wmv" expression="full" duration="2807" fileSize="598860825" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/2/8/0/7/9/4/ParallelProfilerBeta2_2MB_ch9.wmv" expression="full" duration="2807" fileSize="855926279" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/2/8/0/7/9/4/ParallelProfilerBeta2_Zune_ch9.wmv" expression="full" duration="2807" fileSize="398620805" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/2/8/0/7/9/4/ParallelProfilerBeta2_512_ch9.png" expression="full" duration="2807" type="image/jpeg" medium="image" /><media:content url="http://ss.channel9.msdn.com/ch9/2/8/0/7/9/4/ParallelProfilerBeta2.ism/Manifest" expression="full" duration="2807" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://ecn.channel9.msdn.com/o9/ch9/2/8/0/7/9/4/ParallelProfilerBeta2_ch9.wmv" length="598860825" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>6</slash:comments><wfw:commentRss>http://channel9.msdn.com/shows/Going+Deep/Visualizing-Concurrency-Inside-the-Concurrency-Visualizer-Profiling-Tool/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/497082/Trackback.aspx</trackback:ping><category>Concurrency</category><category>Parallel Computing</category><category>Parallel Computing Platform</category><category>Visual Studio 2010</category></item><item><title>Parallel Performance Tuning for Haskell</title><description>&lt;p&gt;&lt;a href="http://research.microsoft.com/apps/pubs/default.aspx?id=80976" target="_blank"&gt;Very interesting work&lt;/a&gt; with implications for integration into more mainstream runtimes... In general, runtime support for parallel tuning is necessary going forward. The Many Core age has only just begun... This paper is a great read.&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;Parallel Haskell programming has entered the mainstream with support now included in GHC for multiple parallel programming models, along with multicore execution support in the runtime. However, tuning programs for parallelism is still something of a black art. Without much in the way of feedback provided by the runtime system, it is a matter of trial and error combined with experience to achieve good parallel speedups.&lt;/em&gt; &lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;This paper describes an early prototype of a parallel profiling system for multicore programming with GHC. The system comprises three parts: fast event tracing in the runtime, a Haskell library for reading the resulting trace files, and a number of tools built on this library for presenting the information to the programmer. We focus on one tool in particular, a graphical timeline browser called ThreadScope.&lt;/em&gt;&lt;/p&gt;&lt;img src="http://channel9.msdn.com/491222/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/posts/Charles/Parallel-Performance-Tuning-for-Haskell/</comments><link>http://channel9.msdn.com/posts/Charles/Parallel-Performance-Tuning-for-Haskell/</link><pubDate>Sat, 12 Sep 2009 19:30:00 GMT</pubDate><guid isPermaLink="false">http://channel9.msdn.com/posts/Charles/Parallel-Performance-Tuning-for-Haskell/</guid><evnet:views>36516</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/491222/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>&lt;p&gt;&lt;a href="http://research.microsoft.com/apps/pubs/default.aspx?id=80976" target="_blank"&gt;Very interesting work&lt;/a&gt; with implications, as usual, for integration into more mainstream runtimes...&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;Parallel Haskell programming has entered the mainstream with support now included in GHC for multiple parallel programming models, along with multicore execution support in the runtime. However, tuning programs for parallelism is still something of a black art. Without much in the way of feedback provided by the runtime system, it is a matter of trial and error combined with experience to achieve good parallel speedups.&lt;/em&gt; &lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;This paper describes an early prototype of a parallel profiling system for multicore programming with GHC. The system comprises three parts: fast event tracing in the runtime, a Haskell library for reading the resulting trace files, and a number of tools built on this library for presenting the information to the programmer. We focus on one tool in particular, a graphical timeline browser called ThreadScope.&lt;/em&gt;&lt;/p&gt;</evnet:previewtext><dc:creator>Charles</dc:creator><slash:comments>5</slash:comments><wfw:commentRss>http://channel9.msdn.com/posts/Charles/Parallel-Performance-Tuning-for-Haskell/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/491222/Trackback.aspx</trackback:ping><category>Concurrency</category><category>Haskell</category><category>Parallel Computing</category><category>Parallelism</category><category>Programming</category></item><item><title>STM.NET: Who. What. Why.</title><description>&lt;img src="http://ecn.channel9.msdn.com/o9/ch9/9/3/2/3/8/4/STMNETWhoWhatWhy_small_ch9.png" border="0" /&gt;&lt;a href="http://channel9.msdn.com/shows/Going+Deep/Software-Transactional-Memory-The-Current-State-of-the-Art/" target="_blank"&gt;Software Transactional Memory&lt;/a&gt; is no longer a pipe dream or the stuff of academics. &lt;a href="http://msdn.microsoft.com/en-us/devlabs/ee334183.aspx" target="_blank"&gt;&lt;strong&gt;STM.NET, as it's called, is ready for your experimentation&lt;/strong&gt;&lt;/a&gt;. &lt;br /&gt;
&lt;br /&gt;
The goal of STM.NET is to be able to exploit concurrency by using components written by experts and consumed by application programmers who can then compose together these components using STM. Transactional memory provides an easy-to-use mechanism to do this safely. STM.NET is of course not a concurrency silver bullet and &lt;em&gt;this is an experimental rrelease of the .NET Framework that allows C# programmers to try out this technology, specifically a particular implementation of STM. &lt;/em&gt; &lt;br /&gt;
&lt;br /&gt;
The STM team &lt;em&gt;really&lt;/em&gt; needs your feedback to understand if they're doing the right things to meet your needs. Traditionally, using STM for simple trasactional tasks didn't make sense. The overhead was too high. Is this still the case? What needed to change in the .NET Framework to enable STM.NET? Remember, this is a &lt;em&gt;.NET Framework&lt;/em&gt; experiment to enable STM for managed code.&lt;br /&gt;
&lt;br /&gt;
Here, we meet most of the team responsible for STM.NET:  &lt;strong&gt;Chris Dern‎, Yossi Levanoni‎, Sasha Dadiomov‎, Weirong Zhu‎, Sukhdeep Sodhi‎ and Lingli Zhang&lt;/strong&gt;. &lt;br /&gt;
&lt;br /&gt;
Tune in, meet the team and get a good sense of what this very small team has accomplished with STM.NET and  learn about some of the paths taken to get there. This represents really great engineering. Congratulations to the STM team! Now, Niners, go get the bits!&lt;br /&gt;
&lt;br /&gt;
Enjoy.&lt;img src="http://channel9.msdn.com/483239/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/posts/Charles/STMNET-Who-What-Why/</comments><link>http://channel9.msdn.com/posts/Charles/STMNET-Who-What-Why/</link><pubDate>Fri, 14 Aug 2009 17:39:00 GMT</pubDate><guid isPermaLink="false">http://ecn.channel9.msdn.com/o9/ch9/9/3/2/3/8/4/STMNETWhoWhatWhy_ch9.wmv</guid><evnet:views>53049</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/483239/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>Software Transactional Memory is no longer a pipe dream or the stuff of academics. &lt;a href="http://msdn.microsoft.com/en-us/devlabs/ee334183.aspx" target="_blank"&gt;&lt;strong&gt;STM.NET, as it's called, is ready for your experimentation&lt;/strong&gt;&lt;/a&gt;. &lt;br /&gt;
&lt;br /&gt;
The goal of STM.NET is to be able to exploit concurrency by using components written by experts and consumed by application programmers who can then compose together these components using STM. Transactional memory provides an easy-to-use mechanism to do this safely. STM.NET is of course not a concurrency silver bullet and &lt;em&gt;this is an experimental rrelease of the .NET Framework that allows C# programmers to try out this technology, specifically a particular implementation of STM. &lt;/em&gt;&lt;br /&gt;
&lt;br /&gt;
Here, we meet most of the team responsible for STM.NET: &lt;strong&gt;Chris Dern‎, Yossi Levanoni‎, Sasha Dadiomov‎, Weirong Zhu‎, Sukhdeep Sodhi‎ and Lingli Zhang&lt;/strong&gt;. &lt;br /&gt;
&lt;br /&gt;
Tune in, meet the team and get a good sense of what this very small team has accomplished with STM.NET and learn about some of the paths taken to get there. This represents really great engineering. Congratulations to the STM team! Now, Niners, go get the bits!&lt;br /&gt;
&lt;br /&gt;
Enjoy.</evnet:previewtext><media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/9/3/2/3/8/4/STMNETWhoWhatWhy_large_ch9.png" height="240" width="320" /><media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/9/3/2/3/8/4/STMNETWhoWhatWhy_small_ch9.png" height="64" width="85" /><media:group><media:content url="http://ecn.channel9.msdn.com/o9/ch9/9/3/2/3/8/4/STMNETWhoWhatWhy_ch9.mp4" expression="full" duration="3153" fileSize="389923921" type="video/mp4" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/9/3/2/3/8/4/STMNETWhoWhatWhy_ch9.mp3" expression="full" duration="3153" fileSize="25230197" type="audio/mp3" medium="audio" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/9/3/2/3/8/4/STMNETWhoWhatWhy_ch9.mp4" expression="full" duration="3153" fileSize="389923921" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://ecn.channel9.msdn.com/o9/ch9/9/3/2/3/8/4/STMNETWhoWhatWhy_ch9.wma" expression="full" duration="3153" fileSize="25511941" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://ecn.channel9.msdn.com/o9/ch9/9/3/2/3/8/4/STMNETWhoWhatWhy_ch9.wmv" expression="full" duration="3153" fileSize="688273727" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/9/3/2/3/8/4/STMNETWhoWhatWhy_2MB_ch9.wmv" expression="full" duration="3153" fileSize="981968355" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/9/3/2/3/8/4/STMNETWhoWhatWhy_Zune_ch9.wmv" expression="full" duration="3153" fileSize="445793655" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://ecn.channel9.msdn.com/o9/ch9/9/3/2/3/8/4/STMNETWhoWhatWhy_ch9.wmv" length="688273727" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>8</slash:comments><wfw:commentRss>http://channel9.msdn.com/posts/Charles/STMNET-Who-What-Why/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/483239/Trackback.aspx</trackback:ping><category>Concurrency</category><category>Parallelism</category><category>Programming</category><category>Software Transactional Memory</category><category>STM</category></item><item><title>Expert to Expert: Erik Meijer and Michael Isard - Inside Dryad</title><description>&lt;img src="http://mschnlnine.vo.llnwd.net/d1/ch9/7/4/0/9/7/4/E2EMichaelIsardInsideDryad_small_ch9.png" border="0" /&gt;Microsoft Research recently announced the availability, under &lt;a href="http://research.microsoft.com/en-us/downloads/03960cab-bb92-4c5c-be23-ce51aee0792c/default.aspx" target="_blank"&gt;Academic Licensing&lt;/a&gt;, of &lt;a href="http://research.microsoft.com/en-us/collaboration/tools/dryad.aspx" target="_blank"&gt;Dryad&lt;/a&gt;, an infrastructure which allows a programmer to use the resources of a computer cluster or a data center for running data-parallel programs. &lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;A Dryad programmer can use thousands of machines, each of them with multiple processors or cores, without knowing anything about concurrent programming.&lt;/em&gt; &lt;br /&gt;
&lt;br /&gt;
That's a pretty heady statement. What does Dryad do, &lt;em&gt;exactly&lt;/em&gt;, to enable this level of abstraction, shielding programmers from the incredibly complex world of distributed parallel computing? Does the level of abstraction impact the degree to which sophisticated programmers can interact with and control some of the low level mechanisms of the Dryad runtime? What is it about LINQ that made it the no-brainer managed programming abstraction for Dryad? &lt;br /&gt;
&lt;br /&gt;
Simply, how does Dryad &lt;em&gt;work? &lt;/em&gt;This is the core question that Erik and I had after &lt;a href="http://channel9.msdn.com/posts/Charles/Expert-to-Expert-Erik-Roger-Barga-Introduction-to-Dryad-and-DryadLINQ/" target="_blank"&gt;our conversation with Roger Barga &lt;/a&gt;(part one of this E2E mini-series on Dryad and DryadLINQ - perhaps we should focus just on DryadLINQ next time, but for now, all the information in this conversation is certain to keep you very busy and answer many questions you may have after learning about Dryad in part one...). &lt;br /&gt;
&lt;br /&gt;
Lots of whiteboarding here. Put on your thinking caps!&lt;br /&gt;
&lt;br /&gt;
Enjoy.&lt;img src="http://channel9.msdn.com/479047/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/shows/Going+Deep/Expert-to-Expert-Erik-Meijer-and-Michael-Isard-Inside-Dryad/</comments><link>http://channel9.msdn.com/shows/Going+Deep/Expert-to-Expert-Erik-Meijer-and-Michael-Isard-Inside-Dryad/</link><pubDate>Tue, 21 Jul 2009 15:55:00 GMT</pubDate><guid isPermaLink="false">http://mschnlnine.vo.llnwd.net/d1/ch9/7/4/0/9/7/4/E2EMichaelIsardInsideDryad_ch9.wmv</guid><evnet:views>44636</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/479047/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>Microsoft Research recently announced the availability, under &lt;a href="http://research.microsoft.com/en-us/downloads/03960cab-bb92-4c5c-be23-ce51aee0792c/default.aspx" target="_blank"&gt;Academic Licensing&lt;/a&gt;, of &lt;a href="http://research.microsoft.com/en-us/collaboration/tools/dryad.aspx" target="_blank"&gt;Dryad&lt;/a&gt;, an infrastructure which allows a programmer to use the resources of a computer cluster or a data center for running data-parallel programs. &lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;A Dryad programmer can use thousands of machines, each of them with multiple processors or cores, without knowing anything about concurrent programming.&lt;/em&gt; &lt;br /&gt;
&lt;br /&gt;
That's a pretty heady statement. What does Dryad do, &lt;em&gt;exactly&lt;/em&gt;, to enable this level of abstraction, shielding programmers from the incredibly complex world of distributed parallel computing? Does the level of abstraction impact the degree to which sophisticated programmers can interact with and control some of the low level mechanisms of the Dryad runtime? What is it about LINQ that made it the no-brainer managed programming abstraction for Dryad? &lt;br /&gt;
&lt;br /&gt;
Simply, how does Dryad &lt;em&gt;work? &lt;/em&gt;This is the core question that Erik and I had after &lt;a href="http://channel9.msdn.com/posts/Charles/Expert-to-Expert-Erik-Roger-Barga-Introduction-to-Dryad-and-DryadLINQ/" target="_blank"&gt;our conversation with Roger Barga &lt;/a&gt;(part one of this E2E mini-series on Dryad and DryadLINQ - perhaps we should focus just on DryadLINQ next time, but for now, all the information in this conversation is certain to keep you very busy and answer many questions you may have after learning about Dryad in part one...). &lt;br /&gt;
&lt;br /&gt;
Lots of whiteboarding here. Put on your thinking caps!&lt;br /&gt;
&lt;br /&gt;
Enjoy.</evnet:previewtext><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/7/4/0/9/7/4/E2EMichaelIsardInsideDryad_large_ch9.png" height="240" width="320" /><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/7/4/0/9/7/4/E2EMichaelIsardInsideDryad_small_ch9.png" height="64" width="85" /><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/7/4/0/9/7/4/E2EMichaelIsardInsideDryad_ch9.mp4" expression="full" duration="3993" fileSize="393905418" type="video/mp4" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/7/4/0/9/7/4/E2EMichaelIsardInsideDryad_ch9.mp3" expression="full" duration="3993" fileSize="31949579" type="audio/mp3" medium="audio" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/7/4/0/9/7/4/E2EMichaelIsardInsideDryad_ch9.mp4" expression="full" duration="3993" fileSize="393905418" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/7/4/0/9/7/4/E2EMichaelIsardInsideDryad_ch9.wma" expression="full" duration="3993" fileSize="64603005" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/7/4/0/9/7/4/E2EMichaelIsardInsideDryad_ch9.wmv" expression="full" duration="3993" fileSize="567261401" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/7/4/0/9/7/4/E2EMichaelIsardInsideDryad_2MB_ch9.wmv" expression="full" duration="3993" fileSize="1249165897" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/7/4/0/9/7/4/E2EMichaelIsardInsideDryad_Zune_ch9.wmv" expression="full" duration="3993" fileSize="564989381" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/7/4/0/9/7/4/E2EMichaelIsardInsideDryad_ch9.wmv" length="567261401" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>15</slash:comments><wfw:commentRss>http://channel9.msdn.com/shows/Going+Deep/Expert-to-Expert-Erik-Meijer-and-Michael-Isard-Inside-Dryad/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/479047/Trackback.aspx</trackback:ping><category>Architecture</category><category>C++</category><category>Cloud Computing</category><category>Concurrency</category><category>Distributed Computing</category><category>Dryad</category><category>DryadLINQ</category><category>Erik Meijer</category><category>Michael Isard</category><category>Parallel Computing</category><category>Programming</category></item><item><title>Expert to Expert: Erik Meijer and Roger Barga - Introduction to Dryad and DryadLINQ</title><description>&lt;img src="http://mschnlnine.vo.llnwd.net/d1/ch9/6/1/8/8/7/4/E2ERogerBargaDryadAndDryadLINQ_small_ch9.png" border="0" /&gt;&lt;p&gt;Microsoft Research recently announced the availability, under &lt;a href="http://research.microsoft.com/en-us/downloads/03960cab-bb92-4c5c-be23-ce51aee0792c/default.aspx" target="_blank"&gt;Academic Licensing&lt;/a&gt;, of &lt;a href="http://research.microsoft.com/en-us/collaboration/tools/dryad.aspx" target="_blank"&gt;Dryad&lt;/a&gt;, an infrastructure which allows a programmer to use the resources of a computer cluster or a data center for running data-parallel programs. A Dryad programmer can use thousands of machines, each of them with multiple processors or cores, without knowing anything about concurrent programming.&lt;br /&gt;
 &lt;br /&gt;
&lt;a href="http://research.microsoft.com/en-us/projects/dryadlinq/default.aspx" target="_blank"&gt;DryadLINQ&lt;/a&gt; is the managed high level programming abstraction used to compose Dryad vertex topology graphs that the Dryad infrastructure uses to partition parallel computations. Here, Erik Meijer and Dryad team member Roger Barga discuss Drayad and DryadLINQ at a high level so that most of us can understand the implications, history and future of Dryad. This is an introductory piece. Erik and I will dive deep into Dryad with one of the scientists behind it in the second part of this Expert to Expert mini series on Dryad. UPDATE: The &lt;a href="http://channel9.msdn.com/shows/Going+Deep/Expert-to-Expert-Erik-Meijer-and-Michael-Isard-Inside-Dryad/"&gt;Going Deep episode on Dryad is now live&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Enjoy! This is incredible and important technology for simplifying the inherent complexity of distributed computation in the cloud. In essence, DryadLINQ enables a sequential programming experience over what will execute across potentially thousands of machines (depending upon the computational complexity of the program) concurrently.  Much to learn here. Channel 9 will help teach.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Editorial note&lt;/strong&gt;: When we discuss native code and the implementation of Dryad, the focus is on DryadLINQ &lt;em&gt;not&lt;/em&gt; the Dryad infrastructure and low level vertex APIs, which are written in C++. Just to be clear...&lt;br /&gt;
&lt;br /&gt;
Useful links:&lt;br /&gt;
&lt;br /&gt;
Connect site: &lt;a href="http://connect.microsoft.com/site/sitehome.aspx?SiteID=891"&gt;http://connect.microsoft.com/site/sitehome.aspx?SiteID=891&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;ER Website on Academic Use: &lt;a href="http://research.microsoft.com/en-us/collaboration/tools/dryad.aspx"&gt;http://research.microsoft.com/en-us/collaboration/tools/dryad.aspx&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;MSR Info: &lt;a href="http://research.microsoft.com/en-us/projects/dryadlinq/"&gt;http://research.microsoft.com/en-us/projects/dryadlinq/&lt;/a&gt; &lt;/p&gt;&lt;img src="http://channel9.msdn.com/478816/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/posts/Charles/Expert-to-Expert-Erik-Roger-Barga-Introduction-to-Dryad-and-DryadLINQ/</comments><link>http://channel9.msdn.com/posts/Charles/Expert-to-Expert-Erik-Roger-Barga-Introduction-to-Dryad-and-DryadLINQ/</link><pubDate>Thu, 16 Jul 2009 16:43:00 GMT</pubDate><guid isPermaLink="false">http://mschnlnine.vo.llnwd.net/d1/ch9/6/1/8/8/7/4/E2ERogerBargaDryadAndDryadLINQ_ch9.wmv</guid><evnet:views>52575</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/478816/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>&lt;p&gt;Microsoft Research recently announced the availability, under &lt;a href="http://research.microsoft.com/en-us/downloads/03960cab-bb92-4c5c-be23-ce51aee0792c/default.aspx" target="_blank"&gt;Academic Licensing&lt;/a&gt;, of &lt;a href="http://research.microsoft.com/en-us/collaboration/tools/dryad.aspx" target="_blank"&gt;Dryad&lt;/a&gt;, an infrastructure which allows a programmer to use the resources of a computer cluster or a data center for running data-parallel programs. A Dryad programmer can use thousands of machines, each of them with multiple processors or cores, without knowing anything about concurrent programming.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://research.microsoft.com/en-us/projects/dryadlinq/default.aspx" target="_blank"&gt;DryadLINQ&lt;/a&gt; is the managed high level programming abstraction used to compose Dryad vertex topology graphs that the Dryad infrastructure uses to partition parallel computations. Here, Erik Meijer and Dryad team member Roger Barga discuss Drayad and DryadLINQ at a high level so that most of us can understand the implications, history and future of Dryad. This is an introductory piece. Erik and I will dive deep into Dryad with one of the scientists behind it in the second part of this Expert to Expert mini series on Dryad. UPDATE: The &lt;a href="http://channel9.msdn.com/shows/Going+Deep/Expert-to-Expert-Erik-Meijer-and-Michael-Isard-Inside-Dryad/"&gt;Going Deep episode on Dryad is now live&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Enjoy! This is incredible and important technology for simplifying the inherent complexity of distributed computation in the cloud. In essence, DryadLINQ enables a sequential programming experience over what will execute across potentially thousands of machines (depending upon the computational complexity of the program) concurrently. Much to learn here. Channel 9 will help teach.&lt;/p&gt;</evnet:previewtext><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/6/1/8/8/7/4/E2ERogerBargaDryadAndDryadLINQ_large_ch9.png" height="240" width="320" /><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/6/1/8/8/7/4/E2ERogerBargaDryadAndDryadLINQ_small_ch9.png" height="64" width="85" /><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/6/1/8/8/7/4/E2ERogerBargaDryadAndDryadLINQ_ch9.mp4" expression="full" duration="1945" fileSize="191960486" type="video/mp4" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/6/1/8/8/7/4/E2ERogerBargaDryadAndDryadLINQ_ch9.mp3" expression="full" duration="1945" fileSize="15564820" type="audio/mp3" medium="audio" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/6/1/8/8/7/4/E2ERogerBargaDryadAndDryadLINQ_ch9.mp4" expression="full" duration="1945" fileSize="191960486" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/6/1/8/8/7/4/E2ERogerBargaDryadAndDryadLINQ_ch9.wma" expression="full" duration="1945" fileSize="31480901" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/6/1/8/8/7/4/E2ERogerBargaDryadAndDryadLINQ_ch9.wmv" expression="full" duration="1945" fileSize="275857113" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/6/1/8/8/7/4/E2ERogerBargaDryadAndDryadLINQ_2MB_ch9.wmv" expression="full" duration="1945" fileSize="609049609" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/6/1/8/8/7/4/E2ERogerBargaDryadAndDryadLINQ_Zune_ch9.wmv" expression="full" duration="1945" fileSize="274545093" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/6/1/8/8/7/4/E2ERogerBargaDryadAndDryadLINQ_ch9.wmv" length="275857113" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>12</slash:comments><wfw:commentRss>http://channel9.msdn.com/posts/Charles/Expert-to-Expert-Erik-Roger-Barga-Introduction-to-Dryad-and-DryadLINQ/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/478816/Trackback.aspx</trackback:ping><category>Concurrency</category><category>Dryad</category><category>DryadLINQ</category><category>Erik Meijer</category><category>Expert to Expert</category><category>LINQ</category><category>Parallel Computing</category><category>Programming</category></item><item><title>Sebastian Burckhardt - Data Race Detection with CHESS</title><description>&lt;img src="http://mschnlnine.vo.llnwd.net/d1/ch9/2/1/1/3/7/4/dataracedetectionwithchess_small_ch9.png" border="0" /&gt;&lt;a href="http://research.microsoft.com/en-us/people/sburckha/"&gt;Sebastian Burckhardt&lt;/a&gt; gives a short tutorial of some of the &lt;a href="http://blogs.msdn.com/chess/archive/2009/06/12/chess-release-v0-1-30610-2-data-race-detection-chessboard-refinement-checking.aspx"&gt;new features&lt;/a&gt; of &lt;a href="http://research.microsoft.com/en-us/projects/chess/"&gt;CHESS&lt;/a&gt;: &lt;strong&gt;data race detection and ChessBoard&lt;/strong&gt;. CHESS is a concurrency testing tool takes a concurrent unit test and executes it with different thread schedules. Sebastian explains us how CHESS can detect data races, a very subtle kind of concurrency bug. You'll also learn how to drill into concurrency issues using the ChessBoard, a little application designed to drill and investigate concurrent tests.&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
    &lt;li&gt;CHESS home page: &lt;a href="http://research.microsoft.com/en-us/projects/chess/"&gt;http://research.microsoft.com/en-us/projects/chess/&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;CHESS forums: &lt;a href="http://social.msdn.microsoft.com/Forums/en-us/chess/threads/"&gt;http://social.msdn.microsoft.com/Forums/en-us/chess/threads/&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;i&gt;The &lt;/i&gt;&lt;a href="http://research.microsoft.com/rise"&gt;&lt;i&gt;Research in Software Engineering team&lt;/i&gt;&lt;/a&gt;&lt;i&gt; (RiSE) coordinates Microsoft's research in Software Engineering in Redmond, USA.&lt;/i&gt;&lt;img src="http://channel9.msdn.com/473112/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/posts/Peli/Data-Race-Detection-with-CHESS/</comments><link>http://channel9.msdn.com/posts/Peli/Data-Race-Detection-with-CHESS/</link><pubDate>Fri, 12 Jun 2009 18:31:00 GMT</pubDate><guid isPermaLink="false">http://mschnlnine.vo.llnwd.net/d1/ch9/2/1/1/3/7/4/dataracedetectionwithchess_ch9.wmv</guid><evnet:views>34517</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/473112/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>Sebastian Burckhardt gives a short tutorial of some of the new features of CHESS: data race detection and ChessBoard. CHESS is a concurrency testing tool takes a concurrent unit test and executes it with different schedules. Sebastian explains us how CHESS can detect data races, a very subtle kind of concurrency bug...</evnet:previewtext><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/2/1/1/3/7/4/dataracedetectionwithchess_large_ch9.png" height="240" width="320" /><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/2/1/1/3/7/4/dataracedetectionwithchess_small_ch9.png" height="64" width="85" /><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/2/1/1/3/7/4/dataracedetectionwithchess_ch9.mp4" expression="full" duration="1327" fileSize="77647121" type="video/mp4" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/2/1/1/3/7/4/dataracedetectionwithchess_ch9.mp3" expression="full" duration="1327" fileSize="10620935" type="audio/mp3" medium="audio" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/2/1/1/3/7/4/dataracedetectionwithchess_ch9.mp4" expression="full" duration="1327" fileSize="77647121" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/2/1/1/3/7/4/dataracedetectionwithchess_ch9.wma" expression="full" duration="1327" fileSize="21492601" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/2/1/1/3/7/4/dataracedetectionwithchess_ch9.wmv" expression="full" duration="1327" fileSize="144957405" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/2/1/1/3/7/4/dataracedetectionwithchess_2MB_ch9.wmv" expression="full" duration="1327" fileSize="125988025" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/2/1/1/3/7/4/dataracedetectionwithchess_Zune_ch9.wmv" expression="full" duration="1327" fileSize="77389385" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/2/1/1/3/7/4/dataracedetectionwithchess_2MB_ch9.wmv" expression="full" duration="1327" fileSize="125988025" type="video/x-ms-asf" medium="video" /></media:group><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/2/1/1/3/7/4/dataracedetectionwithchess_ch9.wmv" length="144957405" type="video/x-ms-wmv" /><dc:creator>Peli de Halleux</dc:creator><slash:comments>10</slash:comments><wfw:commentRss>http://channel9.msdn.com/posts/Peli/Data-Race-Detection-with-CHESS/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/473112/Trackback.aspx</trackback:ping><category>CHESS</category><category>Concurrency</category><category>Microsoft Research</category><category>Reliability</category><category>rise</category><category>Software Engineering Research</category><category>Testing</category></item><item><title>MetraTech: Polymorphic Iterators, Concurrency, CRM and MetraFlow</title><description>&lt;img src="http://mschnlnine.vo.llnwd.net/d1/ch9/0/6/6/3/6/4/IOMetraTech_small_ch9.png" border="0" /&gt;&lt;p&gt;&lt;a href="http://www.metratech.com/NewsEvents/LatestNews.aspx"&gt;Donald Trump recently praised Metratech’s business model&lt;/a&gt; embraced by their customer, &lt;a href="http://acnprimetime.com/index.html"&gt;ACN&lt;/a&gt;, who appeared on the Celebrity Apprentice.  &lt;br /&gt;
&lt;br /&gt;
Metratech’s own David Blair, Director of Product Architecture, discusses how Microsoft is both a partner and a customer of &lt;a href="http://www.metratech.com/home.aspx"&gt;Metratech&lt;/a&gt;.  David shares how they leverage the “Infobus Pattern” architecture and apply a micro-architecture approach with polymorphic iterators to provide dynamic CRM and other valuable tools. David gives a sneak preview of MetraFlow their product for addressing highly concurrent systems with a cluster enabled model.  MetraTech Corp. offers an innovative approach to charging, billing, settlement and customer care that enables organizations to embrace change without compromise.  &lt;br /&gt;
&lt;br /&gt;
The flagship product, MetraNet, is deployed globally, enabling diverse customers to build innovative and successful business models, securely collect revenue, and manage their entire customer lifecycle in some 12 languages, 17 currencies and 52 countries.&lt;/p&gt;&lt;img src="http://channel9.msdn.com/463660/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/shows/Inside+Out/MetraTech-Polymorphic-Iterators-Concurrency-CRM-and-MetraFlow/</comments><link>http://channel9.msdn.com/shows/Inside+Out/MetraTech-Polymorphic-Iterators-Concurrency-CRM-and-MetraFlow/</link><pubDate>Wed, 20 May 2009 17:45:00 GMT</pubDate><guid isPermaLink="false">http://mschnlnine.vo.llnwd.net/d1/ch9/0/6/6/3/6/4/IOMetraTech_ch9.wmv</guid><evnet:views>24438</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/463660/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>Metratech’s own David Blair, Director of Product Architecture, discusses how Microsoft is both a partner and a customer of &lt;a href="http://www.metratech.com/home.aspx"&gt;Metratech&lt;/a&gt;. David shares how they leverage the “Infobus Pattern” architecture and apply a micro-architecture approach with polymorphic iterators to provide dynamic CRM and other valuable tools. David gives a sneak preview of MetraFlow their product for addressing highly concurrent systems with a cluster enabled model. MetraTech Corp. offers an innovative approach to charging, billing, settlement and customer care that enables organizations to embrace change without compromise.</evnet:previewtext><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/6/6/3/6/4/IOMetraTech_large_ch9.png" height="240" width="320" /><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/6/6/3/6/4/IOMetraTech_small_ch9.png" height="64" width="85" /><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/6/6/3/6/4/IOMetraTech_ch9.mp4" expression="full" duration="1548" fileSize="152519870" type="video/mp4" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/6/6/3/6/4/IOMetraTech_ch9.mp3" expression="full" duration="1548" fileSize="615" type="audio/mp3" medium="audio" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/6/6/3/6/4/IOMetraTech_ch9.mp4" expression="full" duration="1548" fileSize="152519870" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/6/6/3/6/4/IOMetraTech_ch9.wma" expression="full" duration="1548" fileSize="25055345" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/6/6/3/6/4/IOMetraTech_ch9.wmv" expression="full" duration="1548" fileSize="93662731" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/6/6/3/6/4/IOMetraTech_2MB_ch9.wmv" expression="full" duration="1548" fileSize="484399233" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/6/6/3/6/4/IOMetraTech_Zune_ch9.wmv" expression="full" duration="1548" fileSize="217262711" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/6/6/3/6/4/IOMetraTech_ch9.wmv" length="93662731" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://channel9.msdn.com/shows/Inside+Out/MetraTech-Polymorphic-Iterators-Concurrency-CRM-and-MetraFlow/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/463660/Trackback.aspx</trackback:ping><category>Concurrency</category><category>CRM</category><category>Programming</category></item><item><title>Axum Published! Tutorial: Building your first Axum application</title><description>&lt;img src="http://mschnlnine.vo.llnwd.net/d1/ch9/9/8/3/8/6/4/BuildingYour1stAxumApp_small_ch9.png" border="0" /&gt;&lt;p&gt;Not familiar with Axum? &lt;a href="http://channel9.msdn.com/shows/Going+Deep/Maestro-A-Managed-Domain-Specific-Language-For-Concurrent-Programming/" target="_blank"&gt;Here's a C9 interview with the Axum team to refresh your memory&lt;/a&gt; (it's a domain specific language for concurrent programming, formerly known as "Maestro", developed by the Parallel Computing Platform team). &lt;br /&gt;
&lt;br /&gt;
Here, Axum PM Josh Phillips walks us through building a simple Axum application in just over 5 minutes.  Josh builds a simple “math library” on agents and shows how easy it is with Axum to focus on your code and get parallelism and safety implicitly. &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Axum Team Blog: &lt;/b&gt;&lt;a href="http://blogs.msdn.com/maestroteam"&gt;http://blogs.msdn.com/maestroteam&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://msdn.microsoft.com/en-us/devlabs/dd795202.aspx" target="_blank"&gt;
&lt;h2&gt;--&amp;gt;Get Axum&amp;lt;--&lt;/h2&gt;
&lt;/a&gt;&lt;/p&gt;&lt;img src="http://channel9.msdn.com/468389/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/posts/Charles/Building-your-first-Axum-application/</comments><link>http://channel9.msdn.com/posts/Charles/Building-your-first-Axum-application/</link><pubDate>Thu, 07 May 2009 17:45:00 GMT</pubDate><guid isPermaLink="false">http://mschnlnine.vo.llnwd.net/d1/ch9/9/8/3/8/6/4/BuildingYour1stAxumApp_ch9.wmv</guid><evnet:views>37275</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/468389/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>&lt;p&gt;Not familiar with Axum? &lt;a href="http://channel9.msdn.com/shows/Going+Deep/Maestro-A-Managed-Domain-Specific-Language-For-Concurrent-Programming/" target="_blank"&gt;Here's a C9 interview with the Axum team to refresh your memory&lt;/a&gt; (it's a domain specific language for concurrent programming, formerly known as "Maestro", developed by the Parallel Computing Platform team). &lt;br /&gt;
&lt;br /&gt;
Here, Axum PM Josh Phillips walks us through building a simple Axum application in just over 5 minutes. Josh builds a simple “math library” on agents and shows how easy it is with Axum to focus on your code and get parallelism and safety implicitly. &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Axum Team Blog: &lt;/b&gt;&lt;a href="http://blogs.msdn.com/maestroteam"&gt;http://blogs.msdn.com/maestroteam&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://msdn.microsoft.com/en-us/devlabs/dd795202.aspx" target="_blank"&gt;
&lt;h2&gt;--&amp;gt;Get Axum&amp;lt;--&lt;/h2&gt;
&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</evnet:previewtext><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/8/3/8/6/4/BuildingYour1stAxumApp_large_ch9.png" height="240" width="320" /><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/8/3/8/6/4/BuildingYour1stAxumApp_small_ch9.png" height="64" width="85" /><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/8/3/8/6/4/BuildingYour1stAxumApp_ch9.mp4" expression="full" duration="319" fileSize="6587655" type="video/mp4" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/8/3/8/6/4/BuildingYour1stAxumApp_ch9.mp3" expression="full" duration="319" fileSize="2560016" type="audio/mp3" medium="audio" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/8/3/8/6/4/BuildingYour1stAxumApp_ch9.mp4" expression="full" duration="319" fileSize="6587655" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/8/3/8/6/4/BuildingYour1stAxumApp_ch9.wma" expression="full" duration="319" fileSize="5189893" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/8/3/8/6/4/BuildingYour1stAxumApp_ch9.wmv" expression="full" duration="319" fileSize="7799357" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/8/3/8/6/4/BuildingYour1stAxumApp_2MB_ch9.wmv" expression="full" duration="319" fileSize="23767429" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/8/3/8/6/4/BuildingYour1stAxumApp_Zune_ch9.wmv" expression="full" duration="319" fileSize="8423337" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/8/3/8/6/4/BuildingYour1stAxumApp_2MB_ch9.wmv" expression="full" duration="319" fileSize="23767429" type="video/x-ms-asf" medium="video" /></media:group><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/8/3/8/6/4/BuildingYour1stAxumApp_ch9.wmv" length="7799357" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>9</slash:comments><wfw:commentRss>http://channel9.msdn.com/posts/Charles/Building-your-first-Axum-application/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/468389/Trackback.aspx</trackback:ping><category>Axum</category><category>Concurrency</category><category>Parallel Computing Platform</category><category>Parallelism</category><category>Programming</category><category>Programming Languages</category></item><item><title>Intelligent Light: Computational Fluid Dynamics and High Performance Computing</title><description>&lt;img src="http://mschnlnine.vo.llnwd.net/d1/ch9/3/6/8/1/6/4/IOIntelligentLight_small_ch9.png" border="0" /&gt;Before a plane flies for the first time, in the sky, it has flown many thousands of virtual miles in distributed clusters of computation cells, calculating non-linear differential equations of fluid dynamics. &lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.ilight.com/"&gt;Intelligent Light&lt;/a&gt;, with its Fortran and Python writing programmers, represents a typical ISV in the Microsoft HPC partner community with their flagship application having long been available on UNIX and Linux HPC clusters.  Intelligent Light provides an application called FieldView that takes massive data from Computational Fluid Dynamics (CFD) applications  and visualizes that data for engineers who design F16 fighters and Formula One cars.  Because of the long compute times required, FieldView is often run in parallel on High Performance Computing (HPC) clusters to return quicker results.  In this video, Intelligent Light founder Steve Legensky demonstrates the complex mathematics used by CFD engineers and talks about how HPC has evolved in his industry over the past 20 years. &lt;br /&gt;
&lt;br /&gt;
&lt;p&gt;Steve is awesome. &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Check out the &lt;a href="http://www.microsoft.com/isv" target="_blank"&gt;Microsoft ISV site&lt;/a&gt; for more information about ISVs working with Microsoft.&lt;/p&gt;&lt;img src="http://channel9.msdn.com/461863/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/shows/Inside+Out/Intelligent-Light-Computational-Fluid-Dynamics-and-High-Performance-Computing/</comments><link>http://channel9.msdn.com/shows/Inside+Out/Intelligent-Light-Computational-Fluid-Dynamics-and-High-Performance-Computing/</link><pubDate>Wed, 08 Apr 2009 20:21:00 GMT</pubDate><guid isPermaLink="false">http://mschnlnine.vo.llnwd.net/d1/ch9/3/6/8/1/6/4/IOIntelligentLight_ch9.wmv</guid><evnet:views>46271</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/461863/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>Before a plane flies for the first time, in the sky, it has flown many thousands of virtual miles in distributed clusters of computation cells, calculating non-linear differential equations of fluid dynamics. &lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.ilight.com/"&gt;Intelligent Light&lt;/a&gt;, with its Fortran and Python writing programmers, represents a typical ISV in the Microsoft HPC partner community with their flagship application having long been available on UNIX and Linux HPC clusters. Intelligent Light provides an application called FieldView that takes massive data from Computational Fluid Dynamics (CFD) applications and visualizes that data for engineers who design F16 fighters and Formula One cars. Because of the long compute times required, FieldView is often run in parallel on High Performance Computing (HPC) clusters to return quicker results. In this video, Intelligent Light founder Steve Legensky demonstrates the complex mathematics used by CFD engineers and talks about how HPC has evolved in his industry over the past 20 years. &lt;br /&gt;
&lt;br /&gt;
&lt;p&gt;Steve is awesome. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Check out the &lt;a href="http://www.microsoft.com/isv" target="_blank"&gt;Microsoft ISV site&lt;/a&gt; for more information about ISVs working with Microsoft.&lt;/p&gt;</evnet:previewtext><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/3/6/8/1/6/4/IOIntelligentLight_large_ch9.png" height="240" width="320" /><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/3/6/8/1/6/4/IOIntelligentLight_small_ch9.png" height="64" width="85" /><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/3/6/8/1/6/4/IOIntelligentLight_ch9.mp4" expression="full" duration="2178" fileSize="190521396" type="video/mp4" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/3/6/8/1/6/4/IOIntelligentLight_ch9.mp3" expression="full" duration="2178" fileSize="3269694" type="audio/mp3" medium="audio" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/3/6/8/1/6/4/IOIntelligentLight_ch9.mp4" expression="full" duration="2178" fileSize="190521396" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/3/6/8/1/6/4/IOIntelligentLight_ch9.wma" expression="full" duration="2178" fileSize="35235901" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/3/6/8/1/6/4/IOIntelligentLight_ch9.wmv" expression="full" duration="2178" fileSize="129906511" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/3/6/8/1/6/4/IOIntelligentLight_2MB_ch9.wmv" expression="full" duration="2178" fileSize="628811013" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/3/6/8/1/6/4/IOIntelligentLight_Zune_ch9.wmv" expression="full" duration="2178" fileSize="171538491" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/3/6/8/1/6/4/IOIntelligentLight_ch9.wmv" length="129906511" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>2</slash:comments><wfw:commentRss>http://channel9.msdn.com/shows/Inside+Out/Intelligent-Light-Computational-Fluid-Dynamics-and-High-Performance-Computing/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/461863/Trackback.aspx</trackback:ping><category>Computing</category><category>Concurrency</category><category>High Performance Computing</category><category>HPC Server 2008</category><category>Intelligent Light</category><category>Mathematics</category><category>Parallel Computing</category><category>Partners</category><category>Physics</category></item><item><title>Concurrency and Parallelism: Native (C/C++) and Managed (.NET) Perspectives</title><description>&lt;img src="http://mschnlnine.vo.llnwd.net/d1/ch9/3/1/5/0/6/4/PCPManagedNative_small_ch9.png" border="0" /&gt;&lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/concurrency/default.aspx"&gt;Parallel Computing Platform team&lt;/a&gt; members Stephen Toub, Rick Molloy, Don McCrady and Dana Groff join me for a chat about the differences and similarities in their conceptual approach to designing and building concurrent programming abstractions targeting .NET developers and native (C/C++) developers. &lt;/p&gt;
&lt;p&gt;Besides the obvious semantic (and runtime) differences between purely managed (.NET) and native code (C/C++), how does the Parallel Computing Platform team develop technologies for each domain and how are these technologies different? Surely, system level developers need system level tooling support that can improve their experience with writing native code that can effectively (and safely) scale to 8 cores (and that's nothing. How many cores will be the norm in 5-8 years? Mostly likely significantly more than 8....). There’s no PLINQ for C++, for example. That said, the fundamental problems the Parallel Computing Platform team are trying to solve span languages and runtimes, but are the differences only in implementation details and programming abstractions? What's the same? What's different? How? Why?&lt;br /&gt;
&lt;br /&gt;
This is another great conversation with some of the folks designing and building technologies that will ultimately, in one form or another, converge into tools (or components of tools) that will help software developers effectively, efficiently and reliably compose applications and services in a Many Core world. &lt;br /&gt;
&lt;br /&gt;
Enjoy!&lt;/p&gt;&lt;img src="http://channel9.msdn.com/460513/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/shows/Going+Deep/Concurrency-and-Parallelism-Native-CC-and-Managed-NET-Perspectives/</comments><link>http://channel9.msdn.com/shows/Going+Deep/Concurrency-and-Parallelism-Native-CC-and-Managed-NET-Perspectives/</link><pubDate>Mon, 30 Mar 2009 17:24:00 GMT</pubDate><guid isPermaLink="false">http://mschnlnine.vo.llnwd.net/d1/ch9/3/1/5/0/6/4/PCPManagedNative_ch9.wmv</guid><evnet:views>33976</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/460513/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>&lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/concurrency/default.aspx"&gt;Parallel Computing Platform team&lt;/a&gt; members Stephen Toub, Rick Molloy, Don McCrady and Dana Groff join me for a chat about the differences and similarities in their conceptual approach to designing and building concurrent programming abstractions targeting .NET developers and native (C/C++) developers. This is another great conversation with some of the folks designing and building technologies that will ultimately, in one form or another, converge into tools (or components of tools) that will help software developers effectively, efficiently and reliably compose applications and services in a Many Core world. &lt;/p&gt;</evnet:previewtext><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/3/1/5/0/6/4/PCPManagedNative_large_ch9.png" height="240" width="320" /><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/3/1/5/0/6/4/PCPManagedNative_small_ch9.png" height="64" width="85" /><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/3/1/5/0/6/4/PCPManagedNative_ch9.mp4" expression="full" duration="3093" fileSize="305037092" type="video/mp4" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/3/1/5/0/6/4/PCPManagedNative_ch9.mp3" expression="full" duration="3093" fileSize="24745401" type="audio/mp3" medium="audio" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/3/1/5/0/6/4/PCPManagedNative_ch9.mp4" expression="full" duration="3093" fileSize="305037092" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/3/1/5/0/6/4/PCPManagedNative_ch9.wma" expression="full" duration="3093" fileSize="50042615" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/3/1/5/0/6/4/PCPManagedNative_ch9.wmv" expression="full" duration="3093" fileSize="187351999" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/3/1/5/0/6/4/PCPManagedNative_2MB_ch9.wmv" expression="full" duration="3093" fileSize="968128503" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/3/1/5/0/6/4/PCPManagedNative_Zune_ch9.wmv" expression="full" duration="3093" fileSize="245223979" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/3/1/5/0/6/4/PCPManagedNative_ch9.wmv" length="187351999" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>6</slash:comments><wfw:commentRss>http://channel9.msdn.com/shows/Going+Deep/Concurrency-and-Parallelism-Native-CC-and-Managed-NET-Perspectives/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/460513/Trackback.aspx</trackback:ping><category>.NET</category><category>C++</category><category>Concurrency</category><category>Concurrency Runtime</category><category>Parallel Computing</category><category>Parallel Computing Platform</category><category>Parallelism</category><category>R2PERF</category></item><item><title>Scott Guthrie: Inside Silverlight 3</title><description>&lt;img src="http://mschnlnine.vo.llnwd.net/d1/ch9/8/9/1/1/6/4/ScottGuthrieSL3_small_ch9.png" border="0" /&gt;Scott Guthrie, Corporate Vice President, leads the teams that create the .NET developer and designer technologies and tools. &lt;a href="http://silverlight.net/getstarted/silverlight3/default.aspx" target="_blank"&gt;Silverlight 3 has arrived in beta form&lt;/a&gt;. &lt;a href="http://expression.microsoft.com/en-us/dd565875.aspx" target="_blank"&gt;Expression 3 also ships today in Preview form&lt;/a&gt;. Grab the bits and play. Provide feedback. OK. That's the housekeeping stuff. Now, on to this conversation with Scott. We talk about many things in this interview and weave the deeply technical view on Silverlight 3 with more surface level perspectives. So, if you're looking for bite size marketing messages, this video isn't for you :)&lt;br /&gt;
&lt;br /&gt;
What are the &lt;a href="http://silverlight.net/getstarted/silverlight3/default.aspx#whatsnew" target="_blank"&gt;significant changes/improvements/inventions in Silverlight 3&lt;/a&gt;? Silverlight 2 brought the world a cross platfrom CLR. How has the CLR changed in Silverlight 3? Silverlight 3 enables Silverlight to run outside the context of a browser. What does this mean, exactly? Silverlight and Many-Core? What has the significant real world feedback been like regarding Silverlight 2 and how has it helped shape Silverlight 3? How do you work with the Moonlight folks, exactly (&lt;a href="http://channel9.msdn.com/posts/Charles/Miguel-de-Icaza-Moonlight/" target="_blank"&gt;see Miguel's perspective on this as well&lt;/a&gt;)? And much, much more. This is a typically long Charles interview and we travel around The Gu's globe of knowledge (which is vast - he's an engineer at heart). &lt;br /&gt;
&lt;br /&gt;
Thank you, Scott, for spending so much of your valuable time for a Channel 9 interview that should prove most interesting to many folks who watch and listen.&lt;br /&gt;
&lt;br /&gt;
Enjoy!&lt;img src="http://channel9.msdn.com/461198/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/posts/Charles/Scott-Guthrie-Inside-Silverlight-3/</comments><link>http://channel9.msdn.com/posts/Charles/Scott-Guthrie-Inside-Silverlight-3/</link><pubDate>Wed, 18 Mar 2009 19:12:00 GMT</pubDate><guid isPermaLink="false">http://mschnlnine.vo.llnwd.net/d1/ch9/8/9/1/1/6/4/ScottGuthrieSL3_ch9.wmv</guid><evnet:views>86812</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/461198/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>Scott Guthrie, Corporate Vice President, leads the teams that create the .NET developer and designer technologies and tools. &lt;a href="http://silverlight.net/getstarted/silverlight3/default.aspx" target="_blank"&gt;Silverlight 3 has arrived in beta form&lt;/a&gt;. &lt;a href="http://expression.microsoft.com/en-us/dd565875.aspx" target="_blank"&gt;Expression 3 also ships today in Preview form&lt;/a&gt;. Grab the bits and play. Provide feedback. OK. That's the housekeeping stuff. Now, on to this conversation with Scott. We talk about many things in this interview and weave the deeply technical view on Silverlight 3 with more surface level perspectives. So, if you're looking for bite size marketing messages, this video isn't for you &lt;img src='/emoticons/C9/emotion-1.gif' alt='Smiley' /&gt;&lt;br /&gt;</evnet:previewtext><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/8/9/1/1/6/4/ScottGuthrieSL3_large_ch9.png" height="240" width="320" /><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/8/9/1/1/6/4/ScottGuthrieSL3_small_ch9.png" height="64" width="85" /><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/8/9/1/1/6/4/ScottGuthrieSL3_ch9.mp4" expression="full" duration="2859" fileSize="281943501" type="video/mp4" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/8/9/1/1/6/4/ScottGuthrieSL3_ch9.mp3" expression="full" duration="2859" fileSize="22879213" type="audio/mp3" medium="audio" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/8/9/1/1/6/4/ScottGuthrieSL3_ch9.mp4" expression="full" duration="2859" fileSize="281943501" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/8/9/1/1/6/4/ScottGuthrieSL3_ch9.wma" expression="full" duration="2859" fileSize="46269593" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/8/9/1/1/6/4/ScottGuthrieSL3_ch9.wmv" expression="full" duration="2859" fileSize="173382597" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/8/9/1/1/6/4/ScottGuthrieSL3_2MB_ch9.wmv" expression="full" duration="2859" fileSize="895047099" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/8/9/1/1/6/4/ScottGuthrieSL3_Zune_ch9.wmv" expression="full" duration="2859" fileSize="227078577" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/8/9/1/1/6/4/ScottGuthrieSL3_ch9.wmv" length="173382597" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>31</slash:comments><wfw:commentRss>http://channel9.msdn.com/posts/Charles/Scott-Guthrie-Inside-Silverlight-3/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/461198/Trackback.aspx</trackback:ping><category>CLR</category><category>Concurrency</category><category>Designer</category><category>Expression 3</category><category>Parallel Computing</category><category>Scott Guthrie</category><category>Silverlight 3</category></item><item><title>Expert to Expert: Erik Meijer and Anders Hejlsberg - The Future of C#</title><description>&lt;img src="http://mschnlnine.vo.llnwd.net/d1/ch9/8/2/4/9/4/2/E2EAndersHejlsbergLanguageFutures_small_ch9.png" border="0" /&gt;It's always a pleasure to get a chance to sit down and geek out with Anders Hejlsberg. Anders is a Microsoft Technical Fellow (a Technical Fellow is the highest ranking technical position at Microsoft) and programming language design master. He's the creator of C# and one of the founders of .NET. Anders is an expert language design craftsman. C# is one of the most popular languages Microsoft has created and certainly the most widely used language by developers who target the .NET platform. &lt;br /&gt;
&lt;br /&gt;
Erik Meijer, Expert to Expert host, programming language designer and occasionally-radical category theoritician, has spent many years working with Anders and the C# team. As you may know, Erik has been a key contributor to the addition of functional constructs to C#. &lt;br /&gt;
&lt;br /&gt;
Here, Erik and Anders wax on topics ranging from the design of C# 4.0's dynamic keyword (what's the thinking behind the thinking) to the potential near and far future of the C# language (and general purpose imperative programming, generally). Anders also spends some time at the whiteboard explaining C# 4.0's support for covariance and contravariance. Of course, we &lt;em&gt;can't&lt;/em&gt; forget about concurrency and parallelism, so we don't.&lt;br /&gt;
&lt;br /&gt;
As you might expect, the conversation takes some interesting jaunts into various programming language design rabbit holes. For example, Anders discusses the notion of creating a new language to support new problem domains versus extending current languages to meet the needs of developers who need to express solutions to complex problems (so, how do you make a language like C# more dynamic in the sense that it can readily help developers solve problems that the language was not initially designed to solve?). We talk about the work being done on a service-oriented C# compiler (compiler as a service), C# as an ESDL container (or as an EDSL itself to be hosted in other environments...) and much more. This is a fantastic conversation with some of Microsoft's true visionaries. Enjoy.&lt;img src="http://channel9.msdn.com/458953/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/shows/Going+Deep/Expert-to-Expert-Anders-Hejlsberg-The-Future-of-C/</comments><link>http://channel9.msdn.com/shows/Going+Deep/Expert-to-Expert-Anders-Hejlsberg-The-Future-of-C/</link><pubDate>Tue, 03 Mar 2009 20:16:00 GMT</pubDate><guid isPermaLink="false">http://mschnlnine.vo.llnwd.net/d1/ch9/8/2/4/9/4/2/E2EAndersHejlsbergLanguageFutures_ch9.wmv</guid><evnet:views>64147</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/458953/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>Erik Meijer and Anders Hejlsberg wax on topics ranging from the design of C# 4.0's dynamic keyword (what's the thinking behind the thinking) to the potential near and far future of the C# language(and general purpose imperative programming, generally). Anders also spends some time at the whiteboard explaining C# 4.0's support for covariance and contravariance. As you might expect, the conversation takes some interesting jaunts into various programming language design rabbit holes. For example, Anders discusses the notion of creating a new language to support new problem domains versus extending current languages to meet the needs of developers who need to express solutions to complex problems (so, how do you make a language like C# more dynamic in the sense that it can readily help developers solve problems that the language was not initially designed to solve?). We talk about the work being done on a service-oriented C# compiler, C# as an ESDL container(or as an EDSL itself to be hosted in other environments...) and much more. This is a fantastic conversation with some of Microsoft's true visionaries. Enjoy.</evnet:previewtext><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/8/2/4/9/4/2/E2EAndersHejlsbergLanguageFutures_large_ch9.png" height="240" width="320" /><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/8/2/4/9/4/2/E2EAndersHejlsbergLanguageFutures_small_ch9.png" height="64" width="85" /><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/8/2/4/9/4/2/E2EAndersHejlsberg.m4v" expression="full" duration="4232" fileSize="254606969" type="video/mp4" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/8/2/4/9/4/2/E2EAndersHejlsberg.mp3" expression="full" duration="4232" fileSize="84653485" type="audio/mp3" medium="audio" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/8/2/4/9/4/2/E2EAndersHejlsberg.mp4" expression="full" duration="4232" fileSize="723988279" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/8/2/4/9/4/2/E2EAndersHejlsbergLanguageFutures_ch9.wma" expression="full" duration="4232" fileSize="68469151" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/8/2/4/9/4/2/E2EAndersHejlsbergLanguageFutures_ch9.wmv" expression="full" duration="4232" fileSize="256974833" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/8/2/4/9/4/2/E2EAndersHejlsbergLanguageFutures_2MB_ch9.wmv" expression="full" duration="4232" fileSize="1324783337" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/8/2/4/9/4/2/E2EAndersHejlsbergLanguageFutures_Zune_ch9.wmv" expression="full" duration="4232" fileSize="336014813" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/8/2/4/9/4/2/E2EAndersHejlsbergLanguageFutures_ch9.wmv" length="256974833" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>50</slash:comments><wfw:commentRss>http://channel9.msdn.com/shows/Going+Deep/Expert-to-Expert-Anders-Hejlsberg-The-Future-of-C/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/458953/Trackback.aspx</trackback:ping><category>Anders Hejlsberg</category><category>CLR</category><category>Concurrency</category><category>CSharp</category><category>CSharp 4.0</category><category>Erik Meijer</category><category>Expert to Expert</category><category>Functional Programming</category><category>Parallel Computing</category><category>Parallelism</category><category>Programming Languages</category></item><item><title>Expert to Expert: Inside Concurrent Basic (CB)</title><description>&lt;img src="http://mschnlnine.vo.llnwd.net/d1/ch9/3/5/5/8/5/4/E2EConcurrentBasic_small_ch9.png" border="0" /&gt;&lt;div class="cl"&gt;&lt;/div&gt;
&lt;div id="dedM" class="deM"&gt;
&lt;p&gt;"&lt;a href="http://research.microsoft.com/en-us/projects/concurrentbasic/default.aspx" target="_blank"&gt;Concurrent Basic&lt;/a&gt; extends Visual Basic with stylish asynchronous concurrency constructs derived from the join calculus. Our design advances earlier MSRC work on Polyphonic C#, Comega and the Joins Library. Unlike its C# based predecessors, CB adopts a simple event-like syntax familiar to VB programmers, allows one to declare generic concurrency abstractions and provides more natural support for inheritance. CB also offers open extensibility based on custom attributes."&lt;br /&gt;
&lt;br /&gt;
Code Sample:&lt;/p&gt;
&lt;h6&gt;Module Buffer&lt;/h6&gt;
&lt;h6&gt;  Public Asynchronous Put(ByVal s As String)&lt;/h6&gt;
&lt;h6&gt;  Public Synchronous Take() As String&lt;/h6&gt;
&lt;h6&gt;  Private Function CaseTakeAndPut(ByVal s As String) As String  When Take, Put&lt;/h6&gt;
&lt;h6&gt;     Return s&lt;/h6&gt;
&lt;h6&gt;  End Function &lt;/h6&gt;
&lt;h6&gt;End Module&lt;/h6&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;OK. Sounds great. There are new keywords, Asynchronous and Synchronous. Conceptually, these are easy enough to understand. How do they work, exactly? What's the thinking behind the current design? Why was VB.NET chosen as the language to extend? Wouldn't any CLI language suffice? Who thought this up, anyway? What's the thinking behind the thinking? &lt;br /&gt;
&lt;br /&gt;
Enter C9 celebrity host &lt;a href="http://research.microsoft.com/~emeijer" target="_blank"&gt;Erik Meijer&lt;/a&gt;, who leads yet another great conversation with fellow software experts &lt;a href="http://research.microsoft.com/~crusso" target="_blank"&gt;Claudio Russo&lt;/a&gt; (MSR Researcher and co-creator of Concurrent Basic) and Lucian Wischik (software developer and current VB.NET Czar). &lt;br /&gt;
&lt;br /&gt;
Obviously, we've been focusing a lot of attention of Concurrency and Parallelism over the past few years. We talk about the library versus language approach quite a bit. In this case, concurrency constructs have been baked into the language to form a different variant of VB, CB (Concurrent Basic). CB is a research project and therefore a research language. It has no ship vehicle and is not available for trial at this point. Microsoft makes no committment to shipping VB with these concurrency constructs built in. &lt;em&gt;CB is a research language&lt;/em&gt;.  CB is being shown in action at this year's MSR TechFest. Be sure to &lt;a href="http://www.on10.net/tags/techfest+2009/" target="_blank"&gt;check out Laura's coverage of TechFest &lt;/a&gt;2009.&lt;/p&gt;
&lt;/div&gt;&lt;img src="http://channel9.msdn.com/458553/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/shows/Going+Deep/Claudio-Russo-and-Lucian-Wischik-Inside-Concurrent-Basic/</comments><link>http://channel9.msdn.com/shows/Going+Deep/Claudio-Russo-and-Lucian-Wischik-Inside-Concurrent-Basic/</link><pubDate>Wed, 25 Feb 2009 23:09:00 GMT</pubDate><guid isPermaLink="false">http://mschnlnine.vo.llnwd.net/d1/ch9/3/5/5/8/5/4/E2EConcurrentBasic_ch9.wmv</guid><evnet:views>40205</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/458553/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>Concurrent Basic extends Visual Basic with stylish asynchronous concurrency constructs derived from the join calculus. Two new VB keywords, Asynchronous and Synchronous, join the mix. Conceptually, these keywords are easy enough to understand. How do they work, exactly? What's the thinking behind the current design? Why was VB.NET chosen as the language to extend? Wouldn't any CLI language suffice? Who thought this up, anyway? What's the thinking behind the thinking? Enter C9 celebrity host Erik Meijer, who leads yet another great conversation with fellow software experts Claudio Russo (MSR Researcher and co-creator of Concurrent Basic) and Lucian Wischik (software developer and current VB.NET Czar).</evnet:previewtext><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/3/5/5/8/5/4/E2EConcurrentBasic_large_ch9.png" height="240" width="320" /><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/3/5/5/8/5/4/E2EConcurrentBasic_small_ch9.png" height="64" width="85" /><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/3/5/5/8/5/4/E2EConcurrentBasic_ch9.mp4" expression="full" duration="3582" fileSize="353397355" type="video/mp4" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/3/5/5/8/5/4/E2EConcurrentBasic_ch9.mp3" expression="full" duration="3582" fileSize="28660843" type="audio/mp3" medium="audio" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/3/5/5/8/5/4/E2EConcurrentBasic_ch9.mp4" expression="full" duration="3582" fileSize="353397355" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/3/5/5/8/5/4/E2EConcurrentBasic_ch9.wma" expression="full" duration="3582" fileSize="57955151" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/3/5/5/8/5/4/E2EConcurrentBasic_ch9.wmv" expression="full" duration="3582" fileSize="217082933" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/3/5/5/8/5/4/E2EConcurrentBasic_2MB_ch9.wmv" expression="full" duration="3582" fileSize="1121411437" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/3/5/5/8/5/4/E2EConcurrentBasic_Zune_ch9.wmv" expression="full" duration="3582" fileSize="284090913" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/3/5/5/8/5/4/E2EConcurrentBasic_ch9.wmv" length="217082933" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>11</slash:comments><wfw:commentRss>http://channel9.msdn.com/shows/Going+Deep/Claudio-Russo-and-Lucian-Wischik-Inside-Concurrent-Basic/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/458553/Trackback.aspx</trackback:ping><category>Concurrency</category><category>Concurrent Basic</category><category>Erik Meijer</category><category>Expert to Expert</category><category>MS Research</category><category>Parallel Computing</category><category>Parallelism</category><category>Programming</category><category>Visual Basic</category></item><item><title>geekSpeak recording - The PowerThreading Library for Silverlight with Jeffrey Richter</title><description>&lt;img src="http://mschnlnine.vo.llnwd.net/d1/ch9/0/1/9/7/5/4/geekSpeak20090128_small_ch9.png" border="0" /&gt;In this geekSpeak webcast, Jeffrey Richter talks about his AsyncEnumerator class that allows programmers to use a simple synchronous programming model to perform asynchronous operations, thereby writing highly scalable and responsive applications and components. The class is useful for console applications, Windows Forms, Windows Presentation Foundation (WPF), Web Forms, Web services, SQL, Microsoft Silverlight, and more.&lt;br /&gt;
 &lt;br /&gt;
The geekSpeak webcast series brings you industry experts in a "talk-radio" format hosted by developer evangelists from Microsoft. These experts share their knowledge and experience about a particular developer technology and are ready to answer your questions in real time during the webcast. Your hosts for this geekSpeak are Glen Gordon and G. Andrew Duthie. To ask a question in advance of the live webcast, or for post-show resources, be sure to visit the &lt;a href="http://blogs.msdn.com/geekspeak/" target="_self"&gt;geekSpeak blog&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Guest Presenter: &lt;/b&gt;Jeffrey Richter, Cofounder, Wintellect&lt;br /&gt;
&lt;br /&gt;
Jeffrey Richter is a cofounder of Wintellect, a training, debugging, and consulting firm dedicated to helping companies build better software, faster. He has written several best-selling programming books about Microsoft .NET and Microsoft Win32, including CLR via C# (Microsoft Press, 2006). Jeffrey is also a contributing editor to MSDN Magazine where he authors the "Concurrent Affairs" column.&lt;br /&gt;&lt;img src="http://channel9.msdn.com/457910/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/shows/geekSpeak/geekSpeak-recording-The-PowerThreading-Library-for-Silverlight-with-Jeffrey-Richter/</comments><link>http://channel9.msdn.com/shows/geekSpeak/geekSpeak-recording-The-PowerThreading-Library-for-Silverlight-with-Jeffrey-Richter/</link><pubDate>Fri, 20 Feb 2009 10:47:00 GMT</pubDate><guid isPermaLink="false">http://mschnlnine.vo.llnwd.net/d1/ch9/0/1/9/7/5/4/geekSpeak20090128_ch9.wmv</guid><evnet:views>2673</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/457910/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>In this geekSpeak webcast, Jeffrey Richter talks about his AsyncEnumerator class that allows programmers to use a simple synchronous programming model to perform asynchronous operations, thereby writing highly scalable and responsive applications and components. The class is useful for console applications, Windows Forms, Windows Presentation Foundation (WPF), Web Forms, Web services, SQL, Microsoft Silverlight, and more.</evnet:previewtext><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/1/9/7/5/4/geekSpeak20090128_large_ch9.png" height="240" width="320" /><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/1/9/7/5/4/geekSpeak20090128_small_ch9.png" height="64" width="85" /><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/1/9/7/5/4/geekSpeak20090128_ch9.mp4" expression="full" duration="3605" fileSize="92785743" type="video/mp4" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/1/9/7/5/4/geekSpeak20090128_ch9.mp3" expression="full" duration="3605" fileSize="28844745" type="audio/mp3" medium="audio" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/1/9/7/5/4/geekSpeak20090128_ch9.mp4" expression="full" duration="3605" fileSize="92785743" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/1/9/7/5/4/geekSpeak20090128_ch9.wma" expression="full" duration="3605" fileSize="58312627" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/1/9/7/5/4/geekSpeak20090128_ch9.wmv" expression="full" duration="3605" fileSize="70123071" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/1/9/7/5/4/geekSpeak20090128_2MB_ch9.wmv" expression="full" duration="3605" fileSize="90083065" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/1/9/7/5/4/geekSpeak20090128_Zune_ch9.wmv" expression="full" duration="3605" fileSize="71691051" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/1/9/7/5/4/geekSpeak20090128_ch9.wmv" length="70123071" type="video/x-ms-wmv" /><dc:creator>Brian Johnson</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://channel9.msdn.com/shows/geekSpeak/geekSpeak-recording-The-PowerThreading-Library-for-Silverlight-with-Jeffrey-Richter/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/457910/Trackback.aspx</trackback:ping><category>.NET</category><category>Concurrency</category><category>geekSpeak</category><category>Richter</category><category>threading</category></item><item><title>Expert to Expert - Joe Duffy: Perspectives on Concurrent Programming and Parallelism</title><description>&lt;img src="http://mschnlnine.vo.llnwd.net/d1/ch9/4/1/9/6/5/4/E2EJoeDuffyConcurrent_small_ch9.jpg" border="0" /&gt;&lt;a href="http://www.bluebytesoftware.com/blog/default.aspx" target="_blank"&gt;Joe Duffy&lt;/a&gt; spends a lot of time thinking about the future of concurrent programming and parallelism. In his role as Lead Developer in the Parallel Computing Platform team, Joe is the creator of &lt;a href="http://channel9.msdn.com/shows/Going+Deep/Joe-Duffy-and-Igor-Ostrovsky-Parallel-LINQ-under-the-hood/" target="_blank"&gt;PLINQ&lt;/a&gt; and a key contributor to many of the managed (.NET) concurrency incubations happening in and around his broader team. He's also an author (check out his latest book, &lt;a href="http://www.bluebytesoftware.com/books/winconc/winconc_book_resources.html" target="_blank"&gt;Concurrent Programming on Windows&lt;/a&gt;)&lt;br /&gt;
&lt;br /&gt;
You've met Joe many times &lt;a href="http://channel9.msdn.com/shows/Going+Deep/Joe-Duffy-Huseyin-Yildiz-Daan-Leijen-Stephen-Toub-Parallel-Extensions-Inside-the-Task-Parallel/" target="_blank"&gt;before&lt;/a&gt; on C9 and the concurrency topic should be quite familiar to you by now (There's a lot of very innovative thinking going on in the parallel computing platform team (&lt;a href="http://channel9.msdn.com/posts/Charles/The-Concurrency-Runtime-Fine-Grained-Parallelism-for-C/" target="_blank"&gt;and it's not just about the managed world&lt;/a&gt;, as you know)). &lt;br /&gt;
&lt;br /&gt;
We've spent a lot time discussing library-based approaches to enabling parallelism in a readily understanable, predictable, safe and scalable way for .NET programmers. We've also spent time on language level approaches to the problem (new constructs in C# that make it easier to compose in a semi-functional way (lamdas, LINQ, etc) or purely in a hybrid-functional way in &lt;a href="http://channel9.msdn.com/tags/FSharp" target="_blank"&gt;F#&lt;/a&gt; or with experimental DSLs like &lt;a href="http://channel9.msdn.com/shows/Going+Deep/Maestro-A-Managed-Domain-Specific-Language-For-Concurrent-Programming/" target="_blank"&gt;Maestro&lt;/a&gt;).&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://channel9.msdn.com/tags/Erik+Meijer" target="_blank"&gt;Erik Meijer&lt;/a&gt;, Expert to Expert host, programming language designer and one of the high priests of the lamda calculus  spends a great deal of time thinking about the problem of software's capability to scale effectively (as efficiently, safely, and as composable as possible) in the Many-Core age. So, we add Joe + Erik and we get many excellent, insightful questions and answers. Of course the notion of side-effects plays a big role here and we even debate the merits of Haskell in the real world. This is a great conversation.  It goes deep, but not so far into the rabbit hole that you won't be able to find your way back. :)&lt;br /&gt;
&lt;br /&gt;
Enjoy!&lt;br /&gt;
&lt;p&gt;&lt;a href="http://www.bluebytesoftware.com/books/winconc/winconc_book_resources.html" target="_blank"&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://channel9.msdn.com/456914/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/shows/Going+Deep/Joe-Duffy-Perspectives-on-Concurrent-Programming-and-Parallelism/</comments><link>http://channel9.msdn.com/shows/Going+Deep/Joe-Duffy-Perspectives-on-Concurrent-Programming-and-Parallelism/</link><pubDate>Tue, 17 Feb 2009 17:39:00 GMT</pubDate><guid isPermaLink="false">http://mschnlnine.vo.llnwd.net/d1/ch9/4/1/9/6/5/4/E2EJoeDuffyConcurrent_ch9.wmv</guid><evnet:views>55641</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/456914/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>Joe Duffy spends a lot of time thinking about the future of concurrent programming and parallelism. In his role as Lead Developer in the Parallel Computing Platform team, Joe is the creator of PLINQ and a key contributor to many of the managed (.NET) concurrency incubations happening in and around his broader team.&lt;br /&gt;
&lt;br /&gt;
Erik Meijer, Expert to Expert host, programming language designer and one of the high priests of the lamda calculus  spends a great deal of time thinking about the problem of software's capability to scale effectively (as efficiently, safely, and as composable as possible) in the Many-Core age. So, we add Joe + Erik and we get many excellent, insightful questions and answers. Of course the notion of side-effects plays a big role here and we even debate the merits of Haskell in the real world. This is a great conversation. It goes deep, but not so far into the rabbit hole that you won't be able to find your way back. &lt;img src='/emoticons/C9/emotion-1.gif' alt='Smiley' /&gt;</evnet:previewtext><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/4/1/9/6/5/4/E2EJoeDuffyConcurrent_large_ch9.jpg" height="240" width="320" /><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/4/1/9/6/5/4/E2EJoeDuffyConcurrent_small_ch9.jpg" height="64" width="85" /><media:group><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/4/1/9/6/5/4/E2EJoeDuffyConcurrent_ch9.wma" expression="full" duration="3879" fileSize="62764555" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/4/1/9/6/5/4/E2EJoeDuffyConcurrent_ch9.wmv" expression="full" duration="3879" fileSize="235164715" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/4/1/9/6/5/4/E2EJoeDuffyConcurrent_2MB_ch9.wmv" expression="full" duration="3879" fileSize="1214269219" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/4/1/9/6/5/4/E2EJoeDuffyConcurrent_Zune_ch9.wmv" expression="full" duration="3879" fileSize="307004695" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/4/1/9/6/5/4/E2EJoeDuffyConcurrent_ch9.wmv" length="235164715" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>55</slash:comments><wfw:commentRss>http://channel9.msdn.com/shows/Going+Deep/Joe-Duffy-Perspectives-on-Concurrent-Programming-and-Parallelism/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/456914/Trackback.aspx</trackback:ping><category>Concurrency</category><category>Erik Meijer</category><category>Expert to Expert</category><category>Joe Duffy</category><category>Parallel Computing</category><category>Parallel Computing Platform</category><category>Parallelism</category><category>Programming</category><category>R2PERF</category></item><item><title>Dave Probert: Inside Windows 7 - User Mode Scheduler (UMS)</title><description>&lt;img src="http://channel9.msdn.com/Link/b6c7f7bf-b793-4cfe-b19d-25e45e997877/" border="0" /&gt;Here, we continue our exploration of the morphology of Windows 7 on &lt;a href="http://channel9.msdn.com/shows/Going+Deep" target="_blank"&gt;Going Deep&lt;/a&gt; with windows kernel architect Dave Probert. You may remember him from an early four part episode of Going Deep where he teaches us about general purpose operating system architectures and history: &lt;a href="http://channel9.msdn.com/shows/Going+Deep/Windows-Part-I-Dave-Probert/" target="_blank"&gt;Part 1&lt;/a&gt;, &lt;a href="http://channel9.msdn.com/shows/Going+Deep/Windows-Part-II-Dave-Probert/" target="_blank"&gt;Part 2&lt;/a&gt;, &lt;a href="http://channel9.msdn.com/shows/Going+Deep/Windows-Part-III-Dave-Probert/" target="_blank"&gt;Part 3&lt;/a&gt;, &lt;a href="http://channel9.msdn.com/shows/Going+Deep/Windows-Part-IV-Dave-Probert/" target="_blank"&gt;Part 4&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
That was a &lt;em&gt;great&lt;/em&gt; conversation from a few years ago and it's been &lt;em&gt;way&lt;/em&gt; too long since we returned to Windows kernel world to converse with and learn from Dr. Probert. Not surprisingly, Dave has been busy innovating the Windows core. &lt;br /&gt;
&lt;br /&gt;
Dave and team, working very closely with the &lt;a href="http://msdn.microsoft.com/en-us/concurrency/default.aspx" target="_blank"&gt;Parallel Computing Platform People&lt;/a&gt;, have created a very compelling new user mode thread scheduling/management system in Windows 7. In a nutshell, the User Mode Scheduler provides a new model for high-performance applications to control the execution of threads by allowing applications to schedule, throttle and control the overhead due to blocking system calls. In other words, applications can switch user threads &lt;em&gt;completely&lt;/em&gt; in user mode without going through the kernel level scheduler. This frees up the kernel thread scheduler from having to block unnecessarily, which is a very good thing as we move into the age of Many-Core... Speaking of Many-Core, remember &lt;a href="http://channel9.msdn.com/posts/Charles/The-Concurrency-Runtime-Fine-Grained-Parallelism-for-C/" target="_blank"&gt;the piece we did on the Concurrency Runtime&lt;/a&gt; (ConcRT)? &lt;strong&gt;ConcRT is built on top of UMS and is the best way to most effectively utilize this new user mode thread scheduling model in Windows 7&lt;/strong&gt;. &lt;br /&gt;
&lt;br /&gt;
Make yourself comfortable and spend some time watching and listening to Dave make all of this crystal clear.&lt;br /&gt;
&lt;br /&gt;
This is another &lt;em&gt;great&lt;/em&gt; conversation with a fantastic OS architect and Windows kernel professor. Lots to learn here. Enjoy.&lt;img src="http://channel9.msdn.com/454368/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/shows/Going+Deep/Dave-Probert-Inside-Windows-7-User-Mode-Scheduler-UMS/</comments><link>http://channel9.msdn.com/shows/Going+Deep/Dave-Probert-Inside-Windows-7-User-Mode-Scheduler-UMS/</link><pubDate>Mon, 02 Feb 2009 20:11:00 GMT</pubDate><guid isPermaLink="false">http://mschnlnine.vo.llnwd.net/d1/ch9/8/6/3/4/5/4/ProbertWin7UMS_ch9.wmv</guid><evnet:views>79367</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/454368/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>Windows kernel architect Dave Probert and team have created a very compelling new user mode thread scheduling/management system in Windows 7. In a nutshell, the User Mode Scheduler (UMS) provides a new model for high-performance applications to control the execution of threads by allowing applications to schedule, throttle and control the overhead due to blocking system calls. In other words, applications can switch user threads completely in user mode without going through the kernel level scheduler. This frees up the kernel thread scheduler from having to block unnecessarily, which is a very good thing as we move into the age of Many-Core. Speaking of Many-Core, remember the C9 converation on the Concurrency Runtime (ConcRT)? ConcRT is built on top of UMS and is the best way to most effectively utilize this new user mode thread scheduling model in Windows  7.</evnet:previewtext><media:thumbnail url="http://channel9.msdn.com/Link/f8e7e917-ea5d-424b-bc3f-59fdaadcbb8c/" height="240" width="320" /><media:thumbnail url="http://channel9.msdn.com/Link/b6c7f7bf-b793-4cfe-b19d-25e45e997877/" height="64" width="85" /><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/8/6/3/4/5/4/ProbertWin7UMS_ch9.mp4" expression="full" duration="3153" fileSize="310959324" type="video/mp4" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/8/6/3/4/5/4/ProbertWin7UMS_ch9.mp3" expression="full" duration="3153" fileSize="25225636" type="audio/mp3" medium="audio" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/8/6/3/4/5/4/ProbertWin7UMS_ch9.mp4" expression="full" duration="3153" fileSize="310959324" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/8/6/3/4/5/4/ProbertWin7UMS_ch9.wma" expression="full" duration="3153" fileSize="51012907" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/8/6/3/4/5/4/ProbertWin7UMS_ch9.wmv" expression="full" duration="3153" fileSize="190952359" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/8/6/3/4/5/4/ProbertWin7UMS_2MB_ch9.wmv" expression="full" duration="3153" fileSize="986936863" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/8/6/3/4/5/4/ProbertWin7UMS_Zune_ch9.wmv" expression="full" duration="3153" fileSize="249848339" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/8/6/3/4/5/4/ProbertWin7UMS_ch9.wmv" length="190952359" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>16</slash:comments><wfw:commentRss>http://channel9.msdn.com/shows/Going+Deep/Dave-Probert-Inside-Windows-7-User-Mode-Scheduler-UMS/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/454368/Trackback.aspx</trackback:ping><category>_Win7</category><category>_Win7UnderHood</category><category>Concurrency</category><category>Concurrency Runtime</category><category>Kernel</category><category>Operating Systems</category><category>OS</category><category>Parallel Computing</category><category>Parallelism</category><category>R2PERF</category><category>Windows 7</category></item><item><title>Expert to Expert: Meijer and Chrysanthakopoulos - Concurrency, Coordination and the CCR</title><description>&lt;img src="http://mschnlnine.vo.llnwd.net/d1/ch9/7/6/1/3/5/4/E2ECCR_small_ch9.jpg" border="0" /&gt;In this episode of &lt;a href="http://channel9.msdn.com/tags/Expert+to+Expert" target="_blank"&gt;Expert to Expert&lt;/a&gt;, programming language designer &lt;a href="http://channel9.msdn.com/tags/Erik+Meijer" target="_blank"&gt;Erik Meijer&lt;/a&gt; chats with &lt;a href="http://channel9.msdn.com/tags/CCR" target="_blank"&gt;CCR&lt;/a&gt; creator &lt;a href="http://channel9.msdn.com/tags/George+Chrysanthakopoulos" target="_blank"&gt;George Chrysanthakopoulos&lt;/a&gt;. We've spent a good deal of time on Channel 9 addressing the Concurrency Problem and the various approaches Microsoft is taking in an effort to help solve it. George's &lt;a href="http://msdn.microsoft.com/en-us/library/bb648752.aspx" target="_blank"&gt;CCR&lt;/a&gt; is a piece of managed technology (.NET) that provides an unusually high degree of concurrency for developers targeting Windows. The Coordination and Concurrency Runtime has been around for about five years. How are people using it today to build scalable concurrent systems? What's the current state of the CCR and what's it's future? Why is the CCR a better approach to scalable distributed concurrent programming than other technologies out there? Is concurrency the real issue? George believes that it's all about &lt;em&gt;coordination(the other C in CCR)&lt;/em&gt; and concurrency is really just a side effect of coordinating systems. If you get distributed coordination right, then you have a concurrent system that can scale. Really? Do explain, dear George (oh, and he does and as passionately as you'd expect from him). This is a fantastic conversation. Classic Channel 9.&lt;br /&gt;
&lt;br /&gt;
Enjoy!&lt;img src="http://channel9.msdn.com/453167/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/shows/Going+Deep/Expert-to-Expert-Meijer-and-Chrysanthakopoulos-Concurrency-Coordination-and-the-CCR/</comments><link>http://channel9.msdn.com/shows/Going+Deep/Expert-to-Expert-Meijer-and-Chrysanthakopoulos-Concurrency-Coordination-and-the-CCR/</link><pubDate>Fri, 16 Jan 2009 20:56:00 GMT</pubDate><guid isPermaLink="false">http://mschnlnine.vo.llnwd.net/d1/ch9/7/6/1/3/5/4/E2ECCR_ch9.wmv</guid><evnet:views>63899</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/453167/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>In this episode of Expert to Expert, programming language designer Erik Meijer chats with CCR creator George Chrysanthakopoulos. We've spent a good deal of time on Channel 9 addressing the Concurrency Problem and the various approaches Microsoft is taking in an effort to help solve it. George's CCR is a piece of managed technology (.NET) that provides an unusually high degree of concurrency for developers targeting Windows. The Coordination and Concurrency Runtime has been around for about five years. How are people using it today to build scalable concurrent systems? What's the current state of the CCR and what's it's future? Spend some time to watch this! This is classic Channel 9 and a fantastic conversation.</evnet:previewtext><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/7/6/1/3/5/4/E2ECCR_large_ch9.jpg" height="240" width="320" /><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/7/6/1/3/5/4/E2ECCR_small_ch9.jpg" height="64" width="85" /><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/7/6/1/3/5/4/E2ECCR_ch9.mp4" expression="full" duration="3404" fileSize="695898890" type="video/mp4" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/7/6/1/3/5/4/E2ECCR_ch9.mp3" expression="full" duration="3404" fileSize="27235393" type="audio/mp3" medium="audio" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/7/6/1/3/5/4/E2ECCR_ch9.mp4" expression="full" duration="3404" fileSize="695898890" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/7/6/1/3/5/4/E2ECCR_ch9.wma" expression="full" duration="3404" fileSize="55074317" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/7/6/1/3/5/4/E2ECCR_ch9.wmv" expression="full" duration="3404" fileSize="206473867" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/7/6/1/3/5/4/E2ECCR_2MB_ch9.wmv" expression="full" duration="3404" fileSize="1065570369" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/7/6/1/3/5/4/E2ECCR_Zune_ch9.wmv" expression="full" duration="3404" fileSize="482073847" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/7/6/1/3/5/4/E2ECCR_ch9.wmv" length="206473867" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>29</slash:comments><wfw:commentRss>http://channel9.msdn.com/shows/Going+Deep/Expert-to-Expert-Meijer-and-Chrysanthakopoulos-Concurrency-Coordination-and-the-CCR/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/453167/Trackback.aspx</trackback:ping><category>CCR</category><category>Concurrency</category><category>Erik Meijer</category><category>Expert to Expert</category><category>George Chrysanthakopoulos</category><category>Parallel Computing</category><category>Parallel Computing Platform</category><category>Parallelism</category><category>Programming</category></item><item><title>Madan Musuvathi - Getting started with CHESS in Visual Studio 2008</title><description>&lt;img src="http://mschnlnine.vo.llnwd.net/d1/ch9/4/4/5/1/5/4/gettingstartedwithchessinvs2008_small_ch9.jpg" border="0" /&gt;Today we are sitting with Madan Musuvathi for a quick tutorial on writing &lt;em&gt;concurrency&lt;/em&gt; unit tests, powered by &lt;a href="http://research.microsoft.com/chess"&gt;CHESS&lt;/a&gt; in Visual Studio 2008. Madan goes through a simple bank account example that contains a subtle concurrency bug. He shows how to turn a unit test into a concurrent unit test in a snap, find concurrency issues and debug them using CHESS.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://channel9.msdn.com/shows/Going+Deep/CHESS-An-Automated-Concurrency-Testing-Tool/"&gt;CHESS is an automated concurrency testing tool &lt;/a&gt;for .NET and Win32 that finds and reproduces &lt;em&gt;heisenbugs&lt;/em&gt;.&lt;br /&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href="http://research.microsoft.com/en-us/projects/chess/download.aspx"&gt;Download CHESS&lt;/a&gt;&lt;a href="http://research.microsoft.com/en-us/projects/chess/BankAccount.zip"&gt;
    &lt;li&gt;Download the Bank sample &lt;/li&gt;
    &lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://social.msdn.microsoft.com/Forums/en-US/chess/threads/"&gt;Ask questions in the forum&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;i&gt;The &lt;a href="http://research.microsoft.com/rise"&gt;&lt;i&gt;Research in Software Engineering team&lt;/i&gt;&lt;/a&gt;&lt;/i&gt;&lt;i&gt; (RiSE) coordinates Microsoft's research in Software Engineering in Redmond, USA.&lt;/i&gt;&lt;img src="http://channel9.msdn.com/451544/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/posts/Peli/Getting-started-with-CHESS-in-Visual-Studio-2008/</comments><link>http://channel9.msdn.com/posts/Peli/Getting-started-with-CHESS-in-Visual-Studio-2008/</link><pubDate>Wed, 14 Jan 2009 18:40:00 GMT</pubDate><guid isPermaLink="false">http://mschnlnine.vo.llnwd.net/d1/ch9/4/4/5/1/5/4/gettingstartedwithchessinvs2008_ch9.wmv</guid><evnet:views>23797</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/451544/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>Today we are sitting with Madan Musuvathi for a quick tutorial on writing concurrency unit tests, powered by CHESS in Visual Studio 2008. Madan goes through a simple bank account example that contains a subtle concurrency bug, shows how to turn a unit test into a concurrent unit test and shows how to reproduce and debug the issues found by CHESS.</evnet:previewtext><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/4/4/5/1/5/4/gettingstartedwithchessinvs2008_large_ch9.jpg" height="240" width="320" /><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/4/4/5/1/5/4/gettingstartedwithchessinvs2008_small_ch9.jpg" height="64" width="85" /><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/4/4/5/1/5/4/gettingstartedwithchessinvs2008_ch9.mp4" expression="full" duration="911" fileSize="103655995" type="video/mp4" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/4/4/5/1/5/4/gettingstartedwithchessinvs2008_ch9.mp3" expression="full" duration="911" fileSize="7288291" type="audio/mp3" medium="audio" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/4/4/5/1/5/4/gettingstartedwithchessinvs2008_ch9.mp4" expression="full" duration="911" fileSize="103655995" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/4/4/5/1/5/4/gettingstartedwithchessinvs2008_ch9.wma" expression="full" duration="911" fileSize="14757633" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/4/4/5/1/5/4/gettingstartedwithchessinvs2008_ch9.wmv" expression="full" duration="911" fileSize="43194909" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/4/4/5/1/5/4/gettingstartedwithchessinvs2008_2MB_ch9.wmv" expression="full" duration="911" fileSize="64586733" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/4/4/5/1/5/4/gettingstartedwithchessinvs2008_Zune_ch9.wmv" expression="full" duration="911" fileSize="42426889" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/4/4/5/1/5/4/gettingstartedwithchessinvs2008_2MB_ch9.wmv" expression="full" duration="911" fileSize="64586733" type="video/x-ms-asf" medium="video" /></media:group><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/4/4/5/1/5/4/gettingstartedwithchessinvs2008_ch9.wmv" length="43194909" type="video/x-ms-wmv" /><dc:creator>Peli de Halleux</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://channel9.msdn.com/posts/Peli/Getting-started-with-CHESS-in-Visual-Studio-2008/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/451544/Trackback.aspx</trackback:ping><category>CHESS</category><category>Concurrency</category><category>rise</category><category>Software Engineering Research</category><category>Testing</category><category>Visual Studio</category></item><item><title>Parallel Computing in Native Code: New Trends and Old Friends</title><description>&lt;img src="http://mschnlnine.vo.llnwd.net/d1/ch9/6/0/6/1/5/4/PCPC0x_small_ch9.jpg" border="0" /&gt;We've covered a lot of ground on both &lt;a href="http://channel9.msdn.com/tags/C++/" target="_blank"&gt;C++&lt;/a&gt; and &lt;a href="http://channel9.msdn.com/tags/Parallel+Computing/" target="_blank"&gt;Parallel Computing &lt;/a&gt;on Channel 9 over the past few years. For C++ in particular, we've gone deep on many fronts with some of the main players in Microsoft's native programming world. Damien Watkins is one of these players and he's the brains behind most of the interviews you've seen on C9 (he thought them up and set them up). But who is Damien and what does he do?&lt;br /&gt;
&lt;br /&gt;
Rick Molloy (PM) and Don McCrady(Development Lead) have been on Channel 9 before and they are both members of the native side of the parallel computing platform (PCP) house. It's no surprise that most teams who ship Microsoft software work closely with the C++ team given that most of our products are written in native code. The C++ team produces the de facto compiler that most teams at MS use. The PCP team is no exception. &lt;br /&gt;
&lt;br /&gt;
We figured it would be fun to get a C++ player (Damien is a PM on the front-end native compiler team) and some &lt;a href="http://channel9.msdn.com/tags/Parallel+Computing+Platform/" target="_blank"&gt;Parallel People&lt;/a&gt; together in a room to discuss the native side of the Concurrency Problem (and possible solutions) and get a feel for the synergy between teams. The next version of C++, C++0x, will undoubtedly contain new language constructs that will make it easier to program many-core algorithms. We dig into some of these here as well as reveal for the first time on C9 some new members of the C++ language that you may not have heard about yet....&lt;br /&gt;
&lt;br /&gt;
Enjoy. This is a great conversation among key thinkers who live in and innovate the native world.&lt;img src="http://channel9.msdn.com/451606/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/shows/Going+Deep/Parallel-Computing-in-Native-Code-New-Trends-and-Old-Friends/</comments><link>http://channel9.msdn.com/shows/Going+Deep/Parallel-Computing-in-Native-Code-New-Trends-and-Old-Friends/</link><pubDate>Mon, 12 Jan 2009 19:48:00 GMT</pubDate><guid isPermaLink="false">http://mschnlnine.vo.llnwd.net/d1/ch9/6/0/6/1/5/4/PCPC0x_ch9.wmv</guid><evnet:views>54775</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/451606/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>We figured it would be fun to get a C++ player (Damien is a PM on the front-end compiler team) and some Parallel People together in a room to discuss the native side of the Concurrency Problem (and possible solutions) and get a feel for the synergy between teams. The next version of C++, C++0x, will undoubtedly contain new language constructs that will make it easier to program many-core algorithms. We dig into some of these here as well as reveal for the first time on C9 some new members of the C++ language that you may not have heard about yet....</evnet:previewtext><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/6/0/6/1/5/4/PCPC0x_large_ch9.jpg" height="240" width="320" /><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/6/0/6/1/5/4/PCPC0x_small_ch9.jpg" height="64" width="85" /><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/6/0/6/1/5/4/PCPC0x_ch9.mp4" expression="full" duration="3081" fileSize="629873753" type="video/mp4" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/6/0/6/1/5/4/PCPC0x_ch9.mp3" expression="full" duration="3081" fileSize="24649061" type="audio/mp3" medium="audio" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/6/0/6/1/5/4/PCPC0x_ch9.mp4" expression="full" duration="3081" fileSize="629873753" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/6/0/6/1/5/4/PCPC0x_ch9.wma" expression="full" duration="3081" fileSize="49850361" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/6/0/6/1/5/4/PCPC0x_ch9.wmv" expression="full" duration="3081" fileSize="186663929" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/6/0/6/1/5/4/PCPC0x_2MB_ch9.wmv" expression="full" duration="3081" fileSize="964376431" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/6/0/6/1/5/4/PCPC0x_Zune_ch9.wmv" expression="full" duration="3081" fileSize="436103909" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/6/0/6/1/5/4/PCPC0x_ch9.wmv" length="186663929" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>2</slash:comments><wfw:commentRss>http://channel9.msdn.com/shows/Going+Deep/Parallel-Computing-in-Native-Code-New-Trends-and-Old-Friends/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/451606/Trackback.aspx</trackback:ping><category>C++</category><category>C++0x</category><category>Concurrency</category><category>Parallel Computing</category><category>Parallel Computing Platform</category><category>Parallelism</category></item><item><title>Software Transactional Memory: The Current State of the Art</title><description>&lt;img src="http://mschnlnine.vo.llnwd.net/d1/ch9/1/0/1/7/4/4/InsideSTM_small_ch9.jpg" border="0" /&gt;A few years ago I got the chance to learn about &lt;a href="http://research.microsoft.com/en-us/um/people/simonpj/papers/stm/index.htm" target="_blank"&gt;Software Transactional Memory&lt;/a&gt; for the first time while visiting MSR Cambridge. &lt;a href="http://channel9.msdn.com/shows/Going+Deep/Programming-in-the-Age-of-Concurrency-Software-Transactional-Memory/" target="_blank"&gt;The great Simon Peyton-Jones and Tim Harris explained to me the thinking behind STM and how it might evolve&lt;/a&gt;. It was a tremendously interesting conversation. If you haven't watched that &lt;a href="http://channel9.msdn.com/shows/Going+Deep/Programming-in-the-Age-of-Concurrency-Software-Transactional-Memory/" target="_blank"&gt;interview&lt;/a&gt;, I highly recommend it as a precursor to this one. Today, STM is no longer only a research project. The &lt;a href="http://blogs.msdn.com/stmteam" target="_blank"&gt;Parallel Computing Platform team is incubating and extending the technology&lt;/a&gt;, finding that it may in fact work in the real world...&lt;br /&gt;
&lt;br /&gt;
Of course, there is no silver bullet to solving the Concurrency Problem, but STM may be an important part of a larger solution (you've leraned a great deal about what Microsoft is up to in the &lt;a href="http://channel9.msdn.com/tags/concurrency" target="_blank"&gt;concurrency&lt;/a&gt; and &lt;a href="http://channel9.msdn.com/tags/parallelism" target="_blank"&gt;parallelism&lt;/a&gt; space here on Channel 9 and it should be somewhat clear by now that many of the technologies we've presented to you may end up as pieces of a broader solution...)&lt;br /&gt;
&lt;br /&gt;
Here, STM Program Manager Dana Groff and STM Principal Developer Lead Yossi Levanoni discuss the current state of STM and outline the work their team is doing to craft this incubation/research technology into a practical real-world solution (STM is not available yet for experimentation. It's in incubation. It's not known if or when STM will become a viable product.). So, how has STM evolved over the past two years, anyway? Tune in. &lt;br /&gt;
&lt;br /&gt;
Enjoy.&lt;img src="http://channel9.msdn.com/447101/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/shows/Going+Deep/Software-Transactional-Memory-The-Current-State-of-the-Art/</comments><link>http://channel9.msdn.com/shows/Going+Deep/Software-Transactional-Memory-The-Current-State-of-the-Art/</link><pubDate>Mon, 29 Dec 2008 20:19:00 GMT</pubDate><guid isPermaLink="false">http://mschnlnine.vo.llnwd.net/d1/ch9/1/0/1/7/4/4/InsideSTM_ch9.wmv</guid><evnet:views>73817</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/447101/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>Here, STM Program Manager Dana Groff and STM Principal Developer Lead Yossi Levanoni discuss the current state of STM and outline the work their team is doing to craft this incubation/research technology into a practical real-world solution (STM is not available yet for experimentation. It's in incubation. It's not known if or when STM will become a viable product.). So, how has STM evolved over the past two years, anyway? Tune in.</evnet:previewtext><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/1/0/1/7/4/4/InsideSTM_large_ch9.jpg" height="240" width="320" /><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/1/0/1/7/4/4/InsideSTM_small_ch9.jpg" height="64" width="85" /><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/1/0/1/7/4/4/InsideSTM_ch9.mp4" expression="full" duration="4198" fileSize="858057759" type="video/mp4" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/1/0/1/7/4/4/InsideSTM_ch9.mp3" expression="full" duration="4198" fileSize="33590044" type="audio/mp3" medium="audio" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/1/0/1/7/4/4/InsideSTM_ch9.mp4" expression="full" duration="4198" fileSize="858057759" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/1/0/1/7/4/4/InsideSTM_ch9.wma" expression="full" duration="4198" fileSize="67919421" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/1/0/1/7/4/4/InsideSTM_ch9.wmv" expression="full" duration="4198" fileSize="254814631" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/1/0/1/7/4/4/InsideSTM_2MB_ch9.wmv" expression="full" duration="4198" fileSize="1314119133" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/1/0/1/7/4/4/InsideSTM_Zune_ch9.wmv" expression="full" duration="4198" fileSize="595150611" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/1/0/1/7/4/4/InsideSTM_ch9.wmv" length="254814631" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>8</slash:comments><wfw:commentRss>http://channel9.msdn.com/shows/Going+Deep/Software-Transactional-Memory-The-Current-State-of-the-Art/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/447101/Trackback.aspx</trackback:ping><category>Concurrency</category><category>Parallel Computing</category><category>Programming</category><category>Software Composability</category><category>Software Engineering Research</category><category>STM</category></item><item><title>Maestro: A Managed Domain Specific Language For Concurrent Programming</title><description>&lt;img src="http://channel9.msdn.com/Link/2b95af66-4697-4a97-ad29-946a120f4250/" border="0" /&gt;Josh Phillips(PM), Niklas Gustafsson(Architect), and Artur Laksberg(Developer) of the Parallel Computing Platform Team spend some time with me to discuss a managed (.NET-based) DSL (Domain Specific Language) for concurrent programming, Maestro. Maestro incorporates well-entrenched language patterns (imperative, OO, C style syntax, etc) and language constructs (channels, agents, domains) in a compelling way to make concurrent composition more accessible and familiar to the legions of sequential code composers. &lt;br /&gt;
&lt;br /&gt;
Here we dig into the architecture and design of the Maestro language and compiler as well as discuss the philosophy behind this incubation project (at this point in time there are no plans to release Maestro as a product - it's a research project, an incubation...). Why create another language to help solve the Concurrency Problem? What's the advantage over implementing a library (this is .NET after all -&amp;gt; CLR + BCL = most of the power of the platform)? There's obviously good reasons for implementig Maestro as a language, but you'll need to watch and listen to find out. &lt;br /&gt;
&lt;br /&gt;
Enjoy. &lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Note&lt;/strong&gt;: After this interview was conducted and posted to Channel 9, the Maestro team has renamed their technology to &lt;strong&gt;Axum&lt;/strong&gt;. So, they are now the Axum team and the managed DSL for concurrent programming they're incubating is called Axum. :)&lt;img src="http://channel9.msdn.com/448583/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/shows/Going+Deep/Maestro-A-Managed-Domain-Specific-Language-For-Concurrent-Programming/</comments><link>http://channel9.msdn.com/shows/Going+Deep/Maestro-A-Managed-Domain-Specific-Language-For-Concurrent-Programming/</link><pubDate>Mon, 22 Dec 2008 19:46:00 GMT</pubDate><guid isPermaLink="false">http://mschnlnine.vo.llnwd.net/d1/ch9/3/8/5/8/4/4/InsideMaestro_ch9.wmv</guid><evnet:views>94096</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/448583/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>Josh Phillips(PM), Niklas Gustafsson(Architect), and Artur Laksberg(Developer) of the Parallel Computing Platform Team spend some time with me to discuss a managed (.NET-based) DSL (Domain Specific Language) for concurrent programming, Maestro. Maestro incorporates well-entrenched language patterns (imperative, OO, C style syntax, etc) and language constructs (channels, agents, domains) in a compelling way to make concurrent composition more accessible and familiar to the legions of sequential code composers.</evnet:previewtext><media:thumbnail url="http://channel9.msdn.com/Link/7e718313-8ee7-4a47-9fb5-7e686ee23451/" height="240" width="320" /><media:thumbnail url="http://channel9.msdn.com/Link/2b95af66-4697-4a97-ad29-946a120f4250/" height="64" width="85" /><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/3/8/5/8/4/4/InsideMaestro_ch9.mp4" expression="full" duration="2856" fileSize="583898467" type="video/mp4" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/3/8/5/8/4/4/InsideMaestro_ch9.mp3" expression="full" duration="2856" fileSize="22850792" type="audio/mp3" medium="audio" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/3/8/5/8/4/4/InsideMaestro_ch9.mp4" expression="full" duration="2856" fileSize="583898467" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/3/8/5/8/4/4/InsideMaestro_ch9.wma" expression="full" duration="2856" fileSize="46212517" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/3/8/5/8/4/4/InsideMaestro_ch9.wmv" expression="full" duration="2856" fileSize="173078579" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/3/8/5/8/4/4/InsideMaestro_2MB_ch9.wmv" expression="full" duration="2856" fileSize="893751081" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/3/8/5/8/4/4/InsideMaestro_ch9.wmv" length="173078579" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>12</slash:comments><wfw:commentRss>http://channel9.msdn.com/shows/Going+Deep/Maestro-A-Managed-Domain-Specific-Language-For-Concurrent-Programming/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/448583/Trackback.aspx</trackback:ping><category>Axum</category><category>Concurrency</category><category>Parallel Computing</category><category>Parallel Computing Platform</category><category>Parallelism</category><category>Programming</category><category>Programming Languages</category><category>Software Engineering Research</category></item><item><title>CHESS: An Automated Concurrency Testing Tool</title><description>&lt;img src="http://mschnlnine.vo.llnwd.net/d1/ch9/0/0/1/7/4/4/InsideCHESS_small_ch9.jpg" border="0" /&gt;&lt;a href="http://research.microsoft.com/CHESS/" target="_blank"&gt;CHESS&lt;/a&gt; is an automated tool from &lt;a href="http://research.microsoft.com/" target="_blank"&gt;Microsoft Research&lt;/a&gt; for finding errors in multithreaded software by systematic exploration of thread schedules. It finds errors, such as data-races, deadlocks, hangs, and data-corruption induced access violations, that are extremely hard to find with current testing tools. Once CHESS locates an error, it provides a fully repeatable execution of the program leading to the error, thus greatly aiding the debugging process. In addition, CHESS provides a valuable and novel notion of test coverage suitable for multithreaded programs. CHESS can use existing concurrent test cases and is therefore easy to deploy. Both developers and testers should find CHESS useful. The CHESS architecture is described in this &lt;a href="http://research.microsoft.com/research/pubs/view.aspx?type=Technical%20Report&amp;amp;id=1392&amp;amp;0sr=p"&gt;technical report&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Here, we meet some of the researchers behind CHESS, Madan Musuvathi and Shaz Qadeer. Joining in the conversation are two software test engineers extraordinare, Chris Dern and Rahul Patil. Chris and Rahul use CHESS as part of their daily routine of finding bugs in the various technologies that power Microsoft's Parallel Computing Platform. Tune in and learn about this great technology from the folks who know it best.&lt;img src="http://channel9.msdn.com/447100/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/shows/Going+Deep/CHESS-An-Automated-Concurrency-Testing-Tool/</comments><link>http://channel9.msdn.com/shows/Going+Deep/CHESS-An-Automated-Concurrency-Testing-Tool/</link><pubDate>Wed, 10 Dec 2008 21:46:00 GMT</pubDate><guid isPermaLink="false">http://mschnlnine.vo.llnwd.net/d1/ch9/0/0/1/7/4/4/InsideCHESS_ch9.wmv</guid><evnet:views>62715</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/447100/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>CHESS is an automated tool from Microsoft Research for finding errors in multithreaded software by systematic exploration of thread schedules. Here, we meet some of the researchers behind CHESS, Madan Musuvathi and Shaz Qadeer. Joining in the conversation are two software test engineers extraordinare, Chris Dern and Rahul Patil. Chris and Rahul use CHESS as part of their daily routine of finding bugs in the various technologies that power Microsoft's Parallel Computing Platform. Tune in and learn about this great technology from the folks who know it best.</evnet:previewtext><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/0/1/7/4/4/InsideCHESS_large_ch9.jpg" height="240" width="320" /><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/0/1/7/4/4/InsideCHESS_small_ch9.jpg" height="64" width="85" /><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/0/1/7/4/4/InsideCHESS_ch9.mp4" expression="full" duration="2875" fileSize="587984777" type="video/mp4" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/0/1/7/4/4/InsideCHESS_ch9.mp3" expression="full" duration="2875" fileSize="23007318" type="audio/mp3" medium="audio" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/0/1/7/4/4/InsideCHESS_ch9.mp4" expression="full" duration="2875" fileSize="587984777" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/0/1/7/4/4/InsideCHESS_ch9.wma" expression="full" duration="2875" fileSize="46524933" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/0/1/7/4/4/InsideCHESS_ch9.wmv" expression="full" duration="2875" fileSize="173750693" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/0/1/7/4/4/InsideCHESS_2MB_ch9.wmv" expression="full" duration="2875" fileSize="900111195" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/0/1/7/4/4/InsideCHESS_Zune_ch9.wmv" expression="full" duration="2875" fileSize="402326673" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/0/1/7/4/4/InsideCHESS_ch9.wmv" length="173750693" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>15</slash:comments><wfw:commentRss>http://channel9.msdn.com/shows/Going+Deep/CHESS-An-Automated-Concurrency-Testing-Tool/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/447100/Trackback.aspx</trackback:ping><category>CHESS</category><category>Concurrency</category><category>MS Research</category><category>Parallel Computing</category><category>Programming</category><category>rise</category><category>Software Engineering Research</category><category>Testing</category><category>Tools</category></item><item><title>Brian Beckman: The Zen of Stateless State - The State Monad - Part 2</title><description>&lt;img src="http://mschnlnine.vo.llnwd.net/d1/ch9/0/2/3/4/4/4/BeckmanStateMonadPart2_small_ch9.jpg" border="0" /&gt;Concurrency is a problem that faces all developers as we move to the age of ManyCore processor architectures. Managing state is an important aspect of programming generally and for parallel programming especially. The great &lt;a href="http://channel9.msdn.com/tags/brian+beckman" target="_blank"&gt;Brian Beckman&lt;/a&gt; demonstrates three ways of labeling a binary tree with unique integer node numbers: (1) by hand, (2) non-monadically, but functionally, by threading an updating counter state variable through function arguments, and (3) monadically, by using a partially generalized state-monad implementation to handle the threading via composition. Of course during this lesson from one of the masters of mathematical programming, we wind through various conversational contexts, but always stay true to the default topic in a stateful monadic way (watch/listen to this piece to understand what this actually means :))&lt;br /&gt;
&lt;br /&gt;
This is another great conversation with astrophysicist and programming master Brian Beckman. Brian is one of the true human treasures of Microsoft. If you don't get mondas, this is a great primer. Even if you don't care about monadic data types, this is worth your time, especially if you write code for a living. This is part 2 of a 2 part series. &lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://channel9.msdn.com/shows/Going+Deep/Brian-Beckman-The-Zen-of-Expressing-State-The-State-Monad/" target="_blank"&gt;&lt;strong&gt;See part 1 here&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;.&lt;/strong&gt; &lt;br /&gt;
&lt;br /&gt;
Below, you will find several exercises for generalizing the constructions further. &lt;a href="http://mschnlnine.vo.llnwd.net/d1/ch9/StateMonad.zip" target="_blank"&gt;&lt;strong&gt;Here are the source files you need for playing with these algorithms in visual studio or your favorite Haskell environment&lt;/strong&gt;&lt;/a&gt;. Brian will monitor this thread so start your coding engines!!&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Exercise 1&lt;/b&gt;: generalize over the type of the state, from int&lt;br /&gt;
to &amp;lt;S&amp;gt;, say, so that the SM type can handle any kind of&lt;br /&gt;
state object. Start with Scp&amp;lt;T&amp;gt; --&amp;gt; Scp&amp;lt;S, T&amp;gt;, from&lt;br /&gt;
"label-content pair" to "state-content pair".
&lt;p&gt;&lt;b&gt;Exercise 2&lt;/b&gt;: go from labeling a tree to doing a constrained&lt;br /&gt;
container computation, as in WPF. Give everything a&lt;br /&gt;
bounding box, and size subtrees to fit inside their&lt;br /&gt;
parents, recursively.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Exercise 3&lt;/b&gt;: promote @return and @bind into an abstract&lt;br /&gt;
class "M" and make "SM" a subclass of that.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Exercise 4 (HARD)&lt;/b&gt;: go from binary tree to n-ary tree.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Exercise 5&lt;/b&gt;: Abstract from n-ary tree to IEnumerable; do&lt;br /&gt;
everything in LINQ! (Hint: SelectMany).&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Exercise 6&lt;/b&gt;: Go look up monadic parser combinators and&lt;br /&gt;
implement an elegant parser library on top of your new&lt;br /&gt;
state monad in LINQ.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Exercise 7&lt;/b&gt;: Verify the Monad laws, either abstractly&lt;br /&gt;
(pencil and paper), or mechnically, via a program, for the&lt;br /&gt;
state monad.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Exercise 8&lt;/b&gt;: Design an interface for the operators @return&lt;br /&gt;
and @bind and rewrite the state monad so that it implements&lt;br /&gt;
this interface. See if you can enforce the monad laws&lt;br /&gt;
(associativity of @bind, left identity of @return, right&lt;br /&gt;
identity of @return) in the interface implementation.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Exercise 9&lt;/b&gt;: Look up the List Monad and implement it so that it implements the same interface.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Exercise 10&lt;/b&gt;: deconstruct this entire example by using&lt;br /&gt;
destructive updates (assignment) in a discipline way that&lt;br /&gt;
treats the entire CLR and heap memory as an "ambient&lt;br /&gt;
monad." Identify the @return and @bind operators in this&lt;br /&gt;
monad, implement them explicitly both as virtual methods&lt;br /&gt;
and as interface methods.&lt;/p&gt;&lt;img src="http://channel9.msdn.com/444320/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/shows/Going+Deep/Brian-Beckman-The-Zen-of-Stateless-State-The-State-Monad-Part-2/</comments><link>http://channel9.msdn.com/shows/Going+Deep/Brian-Beckman-The-Zen-of-Stateless-State-The-State-Monad-Part-2/</link><pubDate>Thu, 20 Nov 2008 21:38:00 GMT</pubDate><guid isPermaLink="false">http://mschnlnine.vo.llnwd.net/d1/ch9/0/2/3/4/4/4/BeckmanStateMonadPart2_ch9.wmv</guid><evnet:views>93766</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/444320/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>Concurrency is a problem that faces all developers as we move to the age of ManyCore processor architectures. Managing state is an important aspect of programming generally and for parallel programming especially. The great Brian Beckman demonstrates three ways of labeling a binary tree with unique integer node numbers: (1) by hand, (2) non-monadically, but functionally, by threading an updating counter state variable through function arguments, and (3) monadically, by using a partially generalized state-monad implementation to handle the threading via composition. Of course during this lesson from one of the masters of mathematical programming, we wind through various conversational contexts, but always stay true to the default topic in a stateful monadic way (watch/listen to this piece to understand what this actually means &lt;img src='/emoticons/C9/emotion-1.gif' alt='Smiley' /&gt;)This is another great conversation with astrophysicist and programming master Brian Beckman. Brian is one of the true human treasures of Microsoft. If you don't get mondas, this is a great primer. Even if you don't care about monadic data types, this is worth your time, especially if you write code for a living. This is part 2 of a 2 part series.</evnet:previewtext><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/2/3/4/4/4/BeckmanStateMonadPart2_large_ch9.jpg" height="240" width="320" /><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/2/3/4/4/4/BeckmanStateMonadPart2_small_ch9.jpg" height="64" width="85" /><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/2/3/4/4/4/BeckmanStateMonadPart2_ch9.mp4" expression="full" duration="1483" fileSize="84221495" type="video/mp4" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/2/3/4/4/4/BeckmanStateMonadPart2_ch9.mp3" expression="full" duration="1483" fileSize="11869332" type="audio/mp3" medium="audio" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/2/3/4/4/4/BeckmanStateMonadPart2_ch9.mp4" expression="full" duration="1483" fileSize="84221495" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/2/3/4/4/4/BeckmanStateMonadPart2_ch9.wma" expression="full" duration="1483" fileSize="12006387" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/2/3/4/4/4/BeckmanStateMonadPart2_ch9.wmv" expression="full" duration="1483" fileSize="94246695" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/2/3/4/4/4/BeckmanStateMonadPart2_2MB_ch9.wmv" expression="full" duration="1483" fileSize="464390843" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/2/3/4/4/4/BeckmanStateMonadPart2_Zune_ch9.wmv" expression="full" duration="1483" fileSize="117646755" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/2/3/4/4/4/BeckmanStateMonadPart2_ch9.wmv" length="94246695" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>3</slash:comments><wfw:commentRss>http://channel9.msdn.com/shows/Going+Deep/Brian-Beckman-The-Zen-of-Stateless-State-The-State-Monad-Part-2/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/444320/Trackback.aspx</trackback:ping><category>Brian Beckman</category><category>Concurrency</category><category>Functional Programming</category><category>Monads</category><category>Parallel Computing</category><category>Programming</category></item></channel></rss>