<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" media="screen" href="/styles/xslt/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:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:c9="http://channel9.msdn.com">
<channel>
	<title>Comment Feed for Channel 9 - Stephen Toub: Inside TPL Dataflow</title>
	<atom:link rel="self" type="application/rss+xml" href="http://channel9.msdn.com/Shows/Going+Deep/Stephen-Toub-Inside-TPL-Dataflow/RSS"></atom:link>
	<image>
		<url>http://ak.channel9.msdn.com/ch9/3276/425571A2-D072-4102-AB2E-9E7E00033276/StephenToubInsideTPLDataflow_100_ch9.jpg</url>
		<title>Channel 9 - Stephen Toub: Inside TPL Dataflow</title>
		<link></link>
	</image>
	<description> TPL Dataflow (TDF), System.Threading.Tasks.Dataflow,&amp;nbsp;builds upon the foundational layer for asynchronous and concurrent programming using Tasks provided in TPL in .NET 4. TDF is a complementary set of primitives to those delivered in TPL in .NET 4, addressing additional scenarios beyond those directly and easily supported by the original APIs. TPL Dataflow utilizes tasks, concurrent collections, tuples, and other features introduced in .NET 4 to bring support for parallel dataflow-based programming into the .NET Framework. It also directly integrates with new language support for tasks and asynchrony provided by both C# and Visual Basic, and with existing language support in .NET 4 for tasks provided by F#. Several of you probably wonder how TDF differs from Rx&amp;nbsp;in terms of core capabilities and specific usage scenarios. Well, Stephen talks about this right&amp;nbsp;here. As usual, Stephen goes deep and clearly articulates many technical details of TDF. Another great Toub session! Please watch the great screencast Stephen posted to C9 a while back covering some simple examples of programming with TDF.Make sure to ask techincal questions over&amp;nbsp;in the TPL Dataflow forums, where the TDF engineers spend time and look for questions to answer: http://social.msdn.microsoft.com/Forums/en-US/tpldataflow/threads Tune in. Enjoy. Learn. &amp;nbsp; </description>
	<link></link>
	<language>en</language>
	<pubDate>Wed, 22 May 2013 04:02:42 GMT</pubDate>
	<lastBuildDate>Wed, 22 May 2013 04:02:42 GMT</lastBuildDate>
	<generator>Rev9</generator>
	<item>
		<title>Re: Stephen Toub: Inside TPL Dataflow</title>
		<description>
			<![CDATA[ <p>Hello - this is probably a big ask, but since starting a new contract the internet connection is a shocker and I'm missing out on all this fabulous information. I'm fast becoming obsolete.</p><p>Can you run off a super lightweight mobile encoding so I can synch with my WP7 and catch up on the train home?</p><p>Oh go on. I'll be your best friend.</p><p>posted by LukePuplett</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Stephen-Toub-Inside-TPL-Dataflow#c634323212370000000</link>
		<pubDate>Thu, 03 Feb 2011 09:13:57 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Stephen-Toub-Inside-TPL-Dataflow#c634323212370000000</guid>
		<dc:creator>LukePuplett</dc:creator>
	</item>
	<item>
		<title>Re: Stephen Toub: Inside TPL Dataflow</title>
		<description>
			<![CDATA[ <p>Mmmm.... I just saw a proposed session in the <a href="http://northamerica.msteched.com/sessionpreference">TechEd&nbsp;session preference survey</a>&nbsp;with an interesting title:</p><p><span>Parallel Extensions in .NET 4.5</span></p><p><span>We will explore what's new in the Framework for parallel programming in 4.5.&nbsp; Specifically, we'll dive into the new TPL Dataflow library and the various improvements around partitioning, cancellation, etc.</span></p><p>posted by felix9</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Stephen-Toub-Inside-TPL-Dataflow#c634323402990000000</link>
		<pubDate>Thu, 03 Feb 2011 14:31:39 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Stephen-Toub-Inside-TPL-Dataflow#c634323402990000000</guid>
		<dc:creator>felix9</dc:creator>
	</item>
	<item>
		<title>Re: Stephen Toub: Inside TPL Dataflow</title>
		<description>
			<![CDATA[ <p>Much coolness.&nbsp; Could you standardize on Add/Take instead of mixing Post/Receive/Add/Take in all blocks? Everything else is ready to go! JK <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif?v=c9' alt='Smiley' />&nbsp; Will have to spend some more time with dataflow now.</p><p>posted by staceyw</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Stephen-Toub-Inside-TPL-Dataflow#c634323595660000000</link>
		<pubDate>Thu, 03 Feb 2011 19:52:46 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Stephen-Toub-Inside-TPL-Dataflow#c634323595660000000</guid>
		<dc:creator>staceyw</dc:creator>
	</item>
	<item>
		<title>Re: Stephen Toub: Inside TPL Dataflow</title>
		<description>
			<![CDATA[ <p>@<a href="/Shows/Going&#43;Deep/Stephen-Toub-Inside-TPL-Dataflow#c634323212370000000">LukePuplett</a>: We do provide a low quality MP4 -&gt; <a href="http://files.ch9.ms/ch9/3276/425571a2-d072-4102-ab2e-9e7e00033276/StephenToubInsideTPLDataflow_low_ch9.mp4">http://files.ch9.ms/ch9/3276/425571a2-d072-4102-ab2e-9e7e00033276/StephenToubInsideTPLDataflow_low_ch9.mp4</a>&nbsp;</p><p>Is that still too big?<br>C</p><p>&nbsp;</p><p>posted by Charles</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Stephen-Toub-Inside-TPL-Dataflow#c634323598230000000</link>
		<pubDate>Thu, 03 Feb 2011 19:57:03 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Stephen-Toub-Inside-TPL-Dataflow#c634323598230000000</guid>
		<dc:creator>Charles</dc:creator>
	</item>
	<item>
		<title>Re: Stephen Toub: Inside TPL Dataflow</title>
		<description>
			<![CDATA[ <p>Shouldn't DeclinePermanently() instead be something like PostLast(params T[] lastItems) ?&nbsp;At some point, I am going to be the last poster. But doing this is not atomic:</p><p><pre class="brush: text">Post(1);
// Not atomic.
DeclinePermanently();</pre></p><p>Another producer could (and eventually will)&nbsp;sneak in between the calls. The only way to avoid that is&nbsp;code in&nbsp;another sync structure (i.e. lock), which your trying to avoid. Thoughts?</p><p>posted by staceyw</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Stephen-Toub-Inside-TPL-Dataflow#c634323981730000000</link>
		<pubDate>Fri, 04 Feb 2011 06:36:13 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Stephen-Toub-Inside-TPL-Dataflow#c634323981730000000</guid>
		<dc:creator>staceyw</dc:creator>
	</item>
	<item>
		<title>Re: Stephen Toub: Inside TPL Dataflow</title>
		<description>
			<![CDATA[ <p>Thanks for the question, staceyw.&nbsp; I've responded to it over on the TPL Dataflow forum at <a href="http://social.msdn.microsoft.com/Forums/en-US/tpldataflow/thread/2c5840ad-75d8-4c80-8a63-3782f18ccbf5">http://social.msdn.microsoft.com/Forums/en-US/tpldataflow/thread/2c5840ad-75d8-4c80-8a63-3782f18ccbf5</a>.</p><p>posted by Toub</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Stephen-Toub-Inside-TPL-Dataflow#c634324370350000000</link>
		<pubDate>Fri, 04 Feb 2011 17:23:55 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Stephen-Toub-Inside-TPL-Dataflow#c634324370350000000</guid>
		<dc:creator>Toub</dc:creator>
	</item>
	<item>
		<title>Re: Stephen Toub: Inside TPL Dataflow</title>
		<description>
			<![CDATA[Great video! I was curious how you'd project out of a block a type different then the input type and was pleased to see it in the last ten minutes. I'm very interested to see the relationship be Dataflow and Rx develop.<p>posted by James Alexander</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Stephen-Toub-Inside-TPL-Dataflow#c634325244030000000</link>
		<pubDate>Sat, 05 Feb 2011 17:40:03 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Stephen-Toub-Inside-TPL-Dataflow#c634325244030000000</guid>
		<dc:creator>James Alexander</dc:creator>
	</item>
	<item>
		<title>Re: Stephen Toub: Inside TPL Dataflow</title>
		<description>
			<![CDATA[ <p>thanks for the clarification about the relationship with rx <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif?v=c9' alt='Smiley' />&nbsp;i havent watched the whole video yet but it just struck me when you where talking about the coordination stuff in the beginning, TDF also feels a bit like the CCR..&nbsp;its been a while since we saw&nbsp;George chrysanthakopoulos on c9 <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif?v=c9' alt='Smiley' /> </p><p>more TDF screencasts would also be awsome <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif?v=c9' alt='Smiley' /> Perhaps custom TaskSchedulers based on TDF? seems like a very good fit</p><p>@<a href="/Shows/Going&#43;Deep/Stephen-Toub-Inside-TPL-Dataflow#c634323402990000000">felix9</a>:</p><p>i knew it.... ron jacobs aaalmost slipped the name 4.5 in his wf talk at pdc <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif?v=c9' alt='Smiley' /> hopefully that will include that xaml editor goodness they showed for silverlight [assuming its linked to a vs service pack] </p><p>hopefully they'll start talking about 4.5 soon</p><p>posted by aL_</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Stephen-Toub-Inside-TPL-Dataflow#c634326020560000000</link>
		<pubDate>Sun, 06 Feb 2011 15:14:16 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Stephen-Toub-Inside-TPL-Dataflow#c634326020560000000</guid>
		<dc:creator>aL_</dc:creator>
	</item>
	<item>
		<title>Re: Stephen Toub: Inside TPL Dataflow</title>
		<description>
			<![CDATA[ <p>Hi aL_</p><p>Good eye. TPL Dataflow is in part based on and inspired by concepts from CCR, along with concepts from Axum and Visual C&#43;&#43; 10's Asynchronous Agents library, so you'll see a lot of similarities in terms of the kinds of problems you can solve.&nbsp; The APIs were redesigned to fit in well with the rest of the .NET Framework and to take advantage of what the Task Parallel Library and other .NET goodies have to offer, as well as redesigned to incorporate some more scenarios and patterns we felt were important.</p><p>Regarding TaskSchedulers, sure, we'll see what we can pull together.&nbsp; Note that these dataflow blocks can be targetted to run on any TaskScheduler instance, so you could configure a block to run on the thread pool, or on the UI, or in a concurrent/exclusive fashion, or whatever underlying semantics you want to achieve by plugging in a custom scheduler.&nbsp; It sounds like you're interested in and asking about the other direction, implementing a TaskScheduler with a dataflow block (like ActionBlock)... you could certainly do that, too.</p><p>posted by Toub</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Stephen-Toub-Inside-TPL-Dataflow#c634326514620000000</link>
		<pubDate>Mon, 07 Feb 2011 04:57:42 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Stephen-Toub-Inside-TPL-Dataflow#c634326514620000000</guid>
		<dc:creator>Toub</dc:creator>
	</item>
	<item>
		<title>Re: Stephen Toub: Inside TPL Dataflow</title>
		<description>
			<![CDATA[I'd love to see another video on this stuff.&nbsp; One that focusus on how you solve&nbsp;specific problems using TDF would be best.&nbsp; Like Rx, it seems like good stuff, but knowning when to use it isn't always obvious.<p>posted by Brandon</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Stephen-Toub-Inside-TPL-Dataflow#c634326555150000000</link>
		<pubDate>Mon, 07 Feb 2011 06:05:15 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Stephen-Toub-Inside-TPL-Dataflow#c634326555150000000</guid>
		<dc:creator>Brandon</dc:creator>
	</item>
	<item>
		<title>Re: Stephen Toub: Inside TPL Dataflow</title>
		<description>
			<![CDATA[ <p>@<a href="/Shows/Going&#43;Deep/Stephen-Toub-Inside-TPL-Dataflow#c634326514620000000">Toub</a>:</p><p>its great to see elements of the CCR getting pulled closer to the framework, i always felt the ccr got underrated or otherwise didnt enter the developer mainstream.</p><p>you're right, i was referring to implementing TaskSchedulers using TDF, maybe like a throttling ui scheduler that ensures the ui thread doesnt get flooded with updates. Just a simple scheduler that process one task at the time [just an actionblock basically] is a good practical sample too i think. Really, all the custom schedulers in the <a href="http://code.msdn.microsoft.com/ParExtSamples">parallel programming samples </a>are good candidates <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif?v=c9' alt='Smiley' /> </p><p>&nbsp;</p><p>posted by aL_</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Stephen-Toub-Inside-TPL-Dataflow#c634326645340000000</link>
		<pubDate>Mon, 07 Feb 2011 08:35:34 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Stephen-Toub-Inside-TPL-Dataflow#c634326645340000000</guid>
		<dc:creator>aL_</dc:creator>
	</item>
	<item>
		<title>Re: Stephen Toub: Inside TPL Dataflow</title>
		<description>
			<![CDATA[I am curious as to why the blocks in the dataflow library are mutable. In a recent project, we designed a dataflow library in .net for processing energy usage data. Early on we decided to make the dataflow graph objects (blocks) immutable. In this library, the enumerators used to get data out of the dataflow graph are mutable. Enumerators are created on demand by block nodes when you begin to iterate over the dataflow graph (the enumerators form a parallel type of graph).<br />Immutable block objects had advantages. We could share them between threads, and we could share blocks as input components in multiple larger graphs. By computing an immutable hash code on a block on construction, using the hash code of input blocks in the computation, we could compare block graphs for equality, and use them as keys in dictionaries that memoized graph outputs (as long as inputs were immutable, which was the case for historical data).<br />In the TPL Dataflow library, blocks are both graph nodes and enumerators.<p>posted by Frank Hileman</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Stephen-Toub-Inside-TPL-Dataflow#c634326993820000000</link>
		<pubDate>Mon, 07 Feb 2011 18:16:22 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Stephen-Toub-Inside-TPL-Dataflow#c634326993820000000</guid>
		<dc:creator>Frank Hileman</dc:creator>
	</item>
	<item>
		<title>Re: Stephen Toub: Inside TPL Dataflow</title>
		<description>
			<![CDATA[ <p>@<a href="/Shows/Going&#43;Deep/Stephen-Toub-Inside-TPL-Dataflow#c634326993820000000">Frank Hileman</a>: Frank, create an account on 9 so you get the benefits of text formatting... <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif?v=c9' alt='Smiley' /></p><p>C</p><p>posted by Charles</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Stephen-Toub-Inside-TPL-Dataflow#c634326997590000000</link>
		<pubDate>Mon, 07 Feb 2011 18:22:39 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Stephen-Toub-Inside-TPL-Dataflow#c634326997590000000</guid>
		<dc:creator>Charles</dc:creator>
	</item>
	<item>
		<title>Re: Stephen Toub: Inside TPL Dataflow</title>
		<description>
			<![CDATA[ <p>Hi Charles,</p><p>I did not notice I was not logged in. Maybe previously I had to log in to comment at all. Thanks.</p><p>posted by Frank Hileman</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Stephen-Toub-Inside-TPL-Dataflow#c634327174650000000</link>
		<pubDate>Mon, 07 Feb 2011 23:17:45 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Stephen-Toub-Inside-TPL-Dataflow#c634327174650000000</guid>
		<dc:creator>Frank Hileman</dc:creator>
	</item>
	<item>
		<title>Re: Stephen Toub: Inside TPL Dataflow</title>
		<description>
			<![CDATA[ <p>@<a href="/Shows/Going&#43;Deep/Stephen-Toub-Inside-TPL-Dataflow#c634327174650000000">Frank Hileman</a>: Cool <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif?v=c9' alt='Smiley' /><br>C</p><p>posted by Charles</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Stephen-Toub-Inside-TPL-Dataflow#c634327180180000000</link>
		<pubDate>Mon, 07 Feb 2011 23:26:58 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Stephen-Toub-Inside-TPL-Dataflow#c634327180180000000</guid>
		<dc:creator>Charles</dc:creator>
	</item>
	<item>
		<title>Re: Stephen Toub: Inside TPL Dataflow</title>
		<description>
			<![CDATA[Hi guys, great video, keep 'em coming!<br />@Al_: you could have shared some credit with me&nbsp;on the Rx comments :P http://channel9.msdn.com/posts/TPL-Dataflow-Tour#c634317373800000000<br />Cheers!<p>posted by Gustavo</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Stephen-Toub-Inside-TPL-Dataflow#c634329757180000000</link>
		<pubDate>Thu, 10 Feb 2011 23:01:58 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Stephen-Toub-Inside-TPL-Dataflow#c634329757180000000</guid>
		<dc:creator>Gustavo</dc:creator>
	</item>
</channel>
</rss>