<?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 - Parallel Programming for C++ Developers: Tasks and Continuations, Part 1 of 2</title>
	<atom:link rel="self" type="application/rss+xml" href="http://channel9.msdn.com/Shows/Going+Deep/Parallel-Programming-in-Native-Code-Tasks-and-Continuations-Part-1-of-2/RSS"></atom:link>
	<image>
		<url>http://ak.channel9.msdn.com/ch9/248E/33E26151-D832-4EAD-A7D1-9E9F012E248E/ConCRTPPLTasksCodepack1_100_ch9.jpg</url>
		<title>Channel 9 - Parallel Programming for C++ Developers: Tasks and Continuations, Part 1 of 2</title>
		<link></link>
	</image>
	<description> The Parallel Computing Concurrency Runtime team&amp;nbsp;write tools for the&amp;nbsp;C&amp;#43;&amp;#43; community that make it easier to write reliable, performant and scalable concurrent and parallel code.&amp;nbsp;In this conversation, Mike Chu , Dana Groff, Artur Laksberg, and Vinod Koduvayoor Subramanian talk about their latest addition to the Parallel Patterns Library which provides wait-free concurrency programming by specifying tasks, the ability to schedule tasks on events and continuations that specify a task or tasks which are run after one or more tasks finish.&amp;nbsp; What’s better is that much of this is available today through the ConcRT Extra’s “Sample Pack”. Please download the sample pack, play with the new library, push it and provide feedback to the team. They really want and need your input to insure they deliver the right things for real world usage by C&amp;#43;&amp;#43; developers. Go native!Watch part 2 </description>
	<link></link>
	<language>en</language>
	<pubDate>Fri, 24 May 2013 21:13:34 GMT</pubDate>
	<lastBuildDate>Fri, 24 May 2013 21:13:34 GMT</lastBuildDate>
	<generator>Rev9</generator>
	<item>
		<title>Re: Parallel Programming for C++ Developers: Tasks and Continuations, Part 1 of 2</title>
		<description>
			<![CDATA[ <p>really nice stuff. will definitely use this library.</p><p>posted by felix9</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Parallel-Programming-in-Native-Code-Tasks-and-Continuations-Part-1-of-2#c634353072430000000</link>
		<pubDate>Wed, 09 Mar 2011 22:40:43 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Parallel-Programming-in-Native-Code-Tasks-and-Continuations-Part-1-of-2#c634353072430000000</guid>
		<dc:creator>felix9</dc:creator>
	</item>
	<item>
		<title>Re: Parallel Programming for C++ Developers: Tasks and Continuations, Part 1 of 2</title>
		<description>
			<![CDATA[arr the video was too short, whats the timetable for part 2 ?<p>posted by Mr Crash</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Parallel-Programming-in-Native-Code-Tasks-and-Continuations-Part-1-of-2#c634353504550000000</link>
		<pubDate>Thu, 10 Mar 2011 10:40:55 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Parallel-Programming-in-Native-Code-Tasks-and-Continuations-Part-1-of-2#c634353504550000000</guid>
		<dc:creator>Mr Crash</dc:creator>
	</item>
	<item>
		<title>Re: Parallel Programming for C++ Developers: Tasks and Continuations, Part 1 of 2</title>
		<description>
			<![CDATA[ <p>very nice! I've made a post in the <a href="http://channel9.msdn.com/Blogs/Charles/Tony-Goodhew-VC-Developer-Communication-Questions-and-Answers">Goodhew</a> video that I'm happy with ConcRT now I'm even happier <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-2.gif?v=c9' alt='Big Smile' /></p><p>The sample I like more&nbsp;is the nbody simulation, not only they use tasks also they make a nice and simple UI with Direct2D</p><p>posted by new2STL</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Parallel-Programming-in-Native-Code-Tasks-and-Continuations-Part-1-of-2#c634353550990000000</link>
		<pubDate>Thu, 10 Mar 2011 11:58:19 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Parallel-Programming-in-Native-Code-Tasks-and-Continuations-Part-1-of-2#c634353550990000000</guid>
		<dc:creator>new2STL</dc:creator>
	</item>
	<item>
		<title>Re: Parallel Programming for C++ Developers: Tasks and Continuations, Part 1 of 2</title>
		<description>
			<![CDATA[ <p>maybe this is somethng that Rx for C&#43;&#43; could be built upon ... hmmm</p><p>posted by felix9</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Parallel-Programming-in-Native-Code-Tasks-and-Continuations-Part-1-of-2#c634353582370000000</link>
		<pubDate>Thu, 10 Mar 2011 12:50:37 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Parallel-Programming-in-Native-Code-Tasks-and-Continuations-Part-1-of-2#c634353582370000000</guid>
		<dc:creator>felix9</dc:creator>
	</item>
	<item>
		<title>Re: Parallel Programming for C++ Developers: Tasks and Continuations, Part 1 of 2</title>
		<description>
			<![CDATA[ <p><blockquote><div class="quoteText"></p><p><a class="permalink" title="Comment Permalink" href="/Shows/Going&#43;Deep/Parallel-Programming-in-Native-Code-Tasks-and-Continuations-Part-1-of-2#c634353504550000000">5 hours&nbsp;ago</a>, <a href="/Niners/Mr%20Crash">Mr&nbsp;Crash</a> wrote</p><p>arr the video was too short, whats the timetable for part 2 ? </div></blockquote></p><p>Part 2 is less of an extension of this, but obviously related and an extension <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif?v=c9' alt='Smiley' /> . It will ship soon. Too short, eh? Agreed.</p><p>C</p><p>posted by Charles</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Parallel-Programming-in-Native-Code-Tasks-and-Continuations-Part-1-of-2#c634353713790000000</link>
		<pubDate>Thu, 10 Mar 2011 16:29:39 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Parallel-Programming-in-Native-Code-Tasks-and-Continuations-Part-1-of-2#c634353713790000000</guid>
		<dc:creator>Charles</dc:creator>
	</item>
	<item>
		<title>Re: Parallel Programming for C++ Developers: Tasks and Continuations, Part 1 of 2</title>
		<description>
			<![CDATA[I think this looks a lot like LWTs from OCaml (http://ocsigen.org/lwt/)... To me it seems that C++ is slowly moving to functional programming style... STL is already really in a functional style and with the arrival of Lambdas a lot more beautifull features from the functional world will appear.<p>posted by till</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Parallel-Programming-in-Native-Code-Tasks-and-Continuations-Part-1-of-2#c634353801010000000</link>
		<pubDate>Thu, 10 Mar 2011 18:55:01 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Parallel-Programming-in-Native-Code-Tasks-and-Continuations-Part-1-of-2#c634353801010000000</guid>
		<dc:creator>till</dc:creator>
	</item>
	<item>
		<title>Re: Parallel Programming for C++ Developers: Tasks and Continuations, Part 1 of 2</title>
		<description>
			<![CDATA[ <p>@<a href="/Shows/Going&#43;Deep/Parallel-Programming-in-Native-Code-Tasks-and-Continuations-Part-1-of-2#c634353801010000000">till</a>: You guess is not wrong, a lot of new stuff come together with F# (based a lot on OCaml and Haskell) development team and the Visual Studio Team while they are in Beta and early.&nbsp; If you carve some old blog posts, videos and white-papers from 2008 you will find nice clues and amazing reports <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-5.gif?v=c9' alt='Wink' /></p><p>&quot;<em>C&#43;&#43; is a multi-paradigm programming language, giving you many ways to express your solution</em>&quot; <a href="http://cpp-next.com/archive/2010/11/expressive-c-fun-with-function-composition/">Posted</a> November 4, 2010 by Eric Niebler</p><p>posted by new2STL</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Parallel-Programming-in-Native-Code-Tasks-and-Continuations-Part-1-of-2#c634353828480000000</link>
		<pubDate>Thu, 10 Mar 2011 19:40:48 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Parallel-Programming-in-Native-Code-Tasks-and-Continuations-Part-1-of-2#c634353828480000000</guid>
		<dc:creator>new2STL</dc:creator>
	</item>
	<item>
		<title>Re: Parallel Programming for C++ Developers: Tasks and Continuations, Part 1 of 2</title>
		<description>
			<![CDATA[What I want to know about is a discussion of efficiency. How efficient are tasks? How free-form are they with efficiency- for example, you said that they are intended for small chunks of code. How small is small? How much of an efficiency penalty am I going to get for getting this definition wrong?<p>posted by Mark</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Parallel-Programming-in-Native-Code-Tasks-and-Continuations-Part-1-of-2#c634353906960000000</link>
		<pubDate>Thu, 10 Mar 2011 21:51:36 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Parallel-Programming-in-Native-Code-Tasks-and-Continuations-Part-1-of-2#c634353906960000000</guid>
		<dc:creator>Mark</dc:creator>
	</item>
	<item>
		<title>Re: Parallel Programming for C++ Developers: Tasks and Continuations, Part 1 of 2</title>
		<description>
			<![CDATA[ <p>@<a href="/Shows/Going&#43;Deep/Parallel-Programming-in-Native-Code-Tasks-and-Continuations-Part-1-of-2#c634353906960000000">Mark</a>:Sure only the devs can answer your question better than me in the <a href="http://social.msdn.microsoft.com/Forums/en-US/parallelcppnative/threads">forum</a> but what they want to say with 'small' is local constrained, well delimited work around data, PPL/ConcRT are for parallelization like Intel TBB and OpenMP.</p><p>The tasks behavior light, its not like a thread pool that you throw a lot of code logic with many branches like a thread for incoming TCP connections, they are light to keep the lockfree sanit, in the same way you would do on OpenMP</p><p><a href="http://software.intel.com/en-us/articles/comparison-of-concrt-openmp-and-tbb-technologies-for-multi-core-numeric-computation/">Here</a> is an Intel internal article comparing ContRT, Intel TBB and OpenMP. ConcRT have near the same performance as Intel TBB.</p><p>Resuming: Task are not Threads, not in the sense of some code that use thread to act like a fork command.</p><p>posted by new2STL</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Parallel-Programming-in-Native-Code-Tasks-and-Continuations-Part-1-of-2#c634353925970000000</link>
		<pubDate>Thu, 10 Mar 2011 22:23:17 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Parallel-Programming-in-Native-Code-Tasks-and-Continuations-Part-1-of-2#c634353925970000000</guid>
		<dc:creator>new2STL</dc:creator>
	</item>
	<item>
		<title>Re: Parallel Programming for C++ Developers: Tasks and Continuations, Part 1 of 2</title>
		<description>
			<![CDATA[ <p>@<a href="/Shows/Going&#43;Deep/Parallel-Programming-in-Native-Code-Tasks-and-Continuations-Part-1-of-2#c634353906960000000">Mark</a>:</p><p>It's a great question but any meaningful answer must be qualified with &quot;compared with what?&quot;</p><p>Tasks definitely have overhead over plain OS threads, and if the amount of work you're doing in a task is small, the overhead becomes more pronounced. Because tasks are built on top of other PPL/ConcRT constructs, they have overhead over these constructs. So one way to look at the efficiency is to try to solve the same problem using different constructs and compare the results.</p><p>To take one specific example, I can calculate a Fibonacci number (using the naïve recursive algorithm) in a parallel_for loop from 0 to 100, then do the same by spawning 100 tasks that do the same, and compare the elapsed time of both solutions. The data I get on my laptop shows that the tasks-based solution is about 5% slower than the parallel_for-based solution. I'm not too worried about this kind of overhead because a) it's small and more importantly b) you would never do this in a real-world application - parallel_for is a better solution for this problem.</p><p>Some of our other performance tests show that the overhead can be quite significant, so more optimization is in order.</p><p>Now to my main point. For problems where PPL tasks offer a more productive programming model, their performance should be &quot;good enough&quot; so that you don't have to fall back to a less productive programming model, such as OS threads. If we have accomplished that, we have succeeded. If you want to use PPL tasks but are forced to use some lower-level constructs to get the performance you need, we have failed.</p><p>posted by Artur Laksberg</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Parallel-Programming-in-Native-Code-Tasks-and-Continuations-Part-1-of-2#c634354061000000000</link>
		<pubDate>Fri, 11 Mar 2011 02:08:20 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Parallel-Programming-in-Native-Code-Tasks-and-Continuations-Part-1-of-2#c634354061000000000</guid>
		<dc:creator>Artur Laksberg</dc:creator>
	</item>
	<item>
		<title>Re: Parallel Programming for C++ Developers: Tasks and Continuations, Part 1 of 2</title>
		<description>
			<![CDATA[Thanks for your replies. I'm not concerned about expending performance- CPU cycles exist to be used, and in some cases, to save the programmer time. I am, however, concerned about expending performance because I didn't understand the purpose or implications of using a specific construct.<p>posted by Mark</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Parallel-Programming-in-Native-Code-Tasks-and-Continuations-Part-1-of-2#c634354663550000000</link>
		<pubDate>Fri, 11 Mar 2011 18:52:35 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Parallel-Programming-in-Native-Code-Tasks-and-Continuations-Part-1-of-2#c634354663550000000</guid>
		<dc:creator>Mark</dc:creator>
	</item>
	<item>
		<title>Re: Parallel Programming for C++ Developers: Tasks and Continuations, Part 1 of 2</title>
		<description>
			<![CDATA[ <p>Hi, how big will should be the amount of work on a modern cpu so the costs of synchronization are amortized?</p><p>Intel say that your tasks should be between 10 000 and 100 000 cycles or intstructions ( i do not remember exactly) for their TBB.</p><p>And how we can measure how much cycles a piece of code has (easily)?</p><p>Splitting a code into tasks is a static operation now. </p><p>&nbsp;</p><p>&nbsp;</p><p>posted by stefandylgerov</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Parallel-Programming-in-Native-Code-Tasks-and-Continuations-Part-1-of-2#c634356363550000000</link>
		<pubDate>Sun, 13 Mar 2011 18:05:55 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Parallel-Programming-in-Native-Code-Tasks-and-Continuations-Part-1-of-2#c634356363550000000</guid>
		<dc:creator>stefandylgerov</dc:creator>
	</item>
	<item>
		<title>Re: Parallel Programming for C++ Developers: Tasks and Continuations, Part 1 of 2</title>
		<description>
			<![CDATA[ <p>Great news! The community finished the 1st version of C&#43;&#43; Parallel Programming Book. Take a look in parallelpatternscpp.codeplex.com.&nbsp; It's avaible in MSDN, eBook and Printed book.</p><p>posted by new2STL</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Parallel-Programming-in-Native-Code-Tasks-and-Continuations-Part-1-of-2#c634360508190000000</link>
		<pubDate>Fri, 18 Mar 2011 13:13:39 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Parallel-Programming-in-Native-Code-Tasks-and-Continuations-Part-1-of-2#c634360508190000000</guid>
		<dc:creator>new2STL</dc:creator>
	</item>
</channel>
</rss>