<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Parallelism in .NET &#8211; Part 2, Simple Imperative Data Parallelism</title>
	<atom:link href="http://reedcopsey.com/2010/01/20/parallelism-in-net-part-2-simple-imperative-data-parallelism/feed/" rel="self" type="application/rss+xml" />
	<link>http://reedcopsey.com/2010/01/20/parallelism-in-net-part-2-simple-imperative-data-parallelism/</link>
	<description>Thoughts on C#, WPF, .NET, and programming for Scientific Visualization</description>
	<lastBuildDate>Fri, 11 May 2012 16:07:35 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
	<item>
		<title>By: Reed</title>
		<link>http://reedcopsey.com/2010/01/20/parallelism-in-net-part-2-simple-imperative-data-parallelism/#comment-2115</link>
		<dc:creator>Reed</dc:creator>
		<pubDate>Sun, 18 Mar 2012 01:36:29 +0000</pubDate>
		<guid isPermaLink="false">http://reedcopsey.com/2010/01/20/parallelism-in-net-part-2-simple-imperative-data-parallelism/#comment-2115</guid>
		<description>Chris,

It&#039;s definitely something you need to take into consideration in the design.  There are really two options here - and the best depends a bit on how you&#039;d want your library to be used.

If the library provides a high level of abstraction, you might want to use the TPL within your library to allow the performance gains available to surface.  However, if its a lower level API, it could easily be better to design your library to be thread safe, so the caller can parallelize as needed.

-Reed</description>
		<content:encoded><![CDATA[<p>Chris,</p>
<p>It&#8217;s definitely something you need to take into consideration in the design.  There are really two options here &#8211; and the best depends a bit on how you&#8217;d want your library to be used.</p>
<p>If the library provides a high level of abstraction, you might want to use the TPL within your library to allow the performance gains available to surface.  However, if its a lower level API, it could easily be better to design your library to be thread safe, so the caller can parallelize as needed.</p>
<p>-Reed</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chris</title>
		<link>http://reedcopsey.com/2010/01/20/parallelism-in-net-part-2-simple-imperative-data-parallelism/#comment-2114</link>
		<dc:creator>Chris</dc:creator>
		<pubDate>Thu, 15 Mar 2012 19:19:42 +0000</pubDate>
		<guid isPermaLink="false">http://reedcopsey.com/2010/01/20/parallelism-in-net-part-2-simple-imperative-data-parallelism/#comment-2114</guid>
		<description>You emphasized these two sentences:

Partition your problem into enough tasks to keep each processor busy throughout the operation, but not more than necessary to keep each processor busy.
Partition your problem in a way to place the most work possible into each task.

So if I am making a library for re-use, are their any design considerations I need to take into account before using parallelism? For example, if I am using my library to accomplish some tasks and I feel that doing these tasks in parallel would improve performance, will I experience a performance decrease if I use TPL because of my library?

Thanks,
Chris</description>
		<content:encoded><![CDATA[<p>You emphasized these two sentences:</p>
<p>Partition your problem into enough tasks to keep each processor busy throughout the operation, but not more than necessary to keep each processor busy.<br />
Partition your problem in a way to place the most work possible into each task.</p>
<p>So if I am making a library for re-use, are their any design considerations I need to take into account before using parallelism? For example, if I am using my library to accomplish some tasks and I feel that doing these tasks in parallel would improve performance, will I experience a performance decrease if I use TPL because of my library?</p>
<p>Thanks,<br />
Chris</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Parallelism in .NET &#8211; Part 9, Configuration in PLINQ and TPL : Reed Copsey, Jr.</title>
		<link>http://reedcopsey.com/2010/01/20/parallelism-in-net-part-2-simple-imperative-data-parallelism/#comment-702</link>
		<dc:creator>Parallelism in .NET &#8211; Part 9, Configuration in PLINQ and TPL : Reed Copsey, Jr.</dc:creator>
		<pubDate>Fri, 12 Feb 2010 01:22:11 +0000</pubDate>
		<guid isPermaLink="false">http://reedcopsey.com/2010/01/20/parallelism-in-net-part-2-simple-imperative-data-parallelism/#comment-702</guid>
		<description>[...] We configure the Parallel class by setting the ParallelOptions.MaxDegreeOfParallelism property.&#160; For example, let’s revisit one of the simple data parallel examples from Part 2: [...]</description>
		<content:encoded><![CDATA[<p>[...] We configure the Parallel class by setting the ParallelOptions.MaxDegreeOfParallelism property.&#160; For example, let’s revisit one of the simple data parallel examples from Part 2: [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Parallelism in .NET &#8211; Part 6, Declarative Data Parallelism : Reed Copsey, Jr.</title>
		<link>http://reedcopsey.com/2010/01/20/parallelism-in-net-part-2-simple-imperative-data-parallelism/#comment-611</link>
		<dc:creator>Parallelism in .NET &#8211; Part 6, Declarative Data Parallelism : Reed Copsey, Jr.</dc:creator>
		<pubDate>Wed, 27 Jan 2010 01:37:27 +0000</pubDate>
		<guid isPermaLink="false">http://reedcopsey.com/2010/01/20/parallelism-in-net-part-2-simple-imperative-data-parallelism/#comment-611</guid>
		<description>[...] how this can be parallelized using the Task Parallel Library and imperative programming using imperative data parallelism via the Parallel class.&#160; While this provides a huge step forward in terms of power and [...]</description>
		<content:encoded><![CDATA[<p>[...] how this can be parallelized using the Task Parallel Library and imperative programming using imperative data parallelism via the Parallel class.&#160; While this provides a huge step forward in terms of power and [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Parallelism in .NET &#8211; Part 4, Imperative Data Parallelism: Aggregation : Reed Copsey, Jr.</title>
		<link>http://reedcopsey.com/2010/01/20/parallelism-in-net-part-2-simple-imperative-data-parallelism/#comment-571</link>
		<dc:creator>Parallelism in .NET &#8211; Part 4, Imperative Data Parallelism: Aggregation : Reed Copsey, Jr.</dc:creator>
		<pubDate>Sat, 23 Jan 2010 01:14:25 +0000</pubDate>
		<guid isPermaLink="false">http://reedcopsey.com/2010/01/20/parallelism-in-net-part-2-simple-imperative-data-parallelism/#comment-571</guid>
		<description>[...] the article on simple data parallelism, I described how to perform an operation on an entire collection of elements in parallel.&#160; [...]</description>
		<content:encoded><![CDATA[<p>[...] the article on simple data parallelism, I described how to perform an operation on an entire collection of elements in parallel.&#160; [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Parallelism in .NET &#8211; Part 3, Imperative Data Parallelism: Early Termination : Reed Copsey, Jr.</title>
		<link>http://reedcopsey.com/2010/01/20/parallelism-in-net-part-2-simple-imperative-data-parallelism/#comment-566</link>
		<dc:creator>Parallelism in .NET &#8211; Part 3, Imperative Data Parallelism: Early Termination : Reed Copsey, Jr.</dc:creator>
		<pubDate>Fri, 22 Jan 2010 19:08:50 +0000</pubDate>
		<guid isPermaLink="false">http://reedcopsey.com/2010/01/20/parallelism-in-net-part-2-simple-imperative-data-parallelism/#comment-566</guid>
		<description>[...] simple data parallelism allows us to easily parallelize many of our iteration statements, there are cases that it does not [...]</description>
		<content:encoded><![CDATA[<p>[...] simple data parallelism allows us to easily parallelize many of our iteration statements, there are cases that it does not [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tweets that mention Parallelism in .NET – Part 2, Simple Imperative Data Parallelism : Reed Copsey, Jr. -- Topsy.com</title>
		<link>http://reedcopsey.com/2010/01/20/parallelism-in-net-part-2-simple-imperative-data-parallelism/#comment-555</link>
		<dc:creator>Tweets that mention Parallelism in .NET – Part 2, Simple Imperative Data Parallelism : Reed Copsey, Jr. -- Topsy.com</dc:creator>
		<pubDate>Thu, 21 Jan 2010 07:21:53 +0000</pubDate>
		<guid isPermaLink="false">http://reedcopsey.com/2010/01/20/parallelism-in-net-part-2-simple-imperative-data-parallelism/#comment-555</guid>
		<description>[...] This post was mentioned on Twitter by Reed Copsey, Jr., Caspar Kleijne. Caspar Kleijne said: #mustread Parallelism in .NET. Part 2, Simple Imperative Data Parallelism: http://bit.ly/7fr0r7 #csharp #dotnet /via @ReedCopsey [...]
</description>
		<content:encoded><![CDATA[<p>[...] This post was mentioned on Twitter by Reed Copsey, Jr., Caspar Kleijne. Caspar Kleijne said: #mustread Parallelism in .NET. Part 2, Simple Imperative Data Parallelism: <a href="http://bit.ly/7fr0r7" rel="nofollow">http://bit.ly/7fr0r7</a> #csharp #dotnet /via @ReedCopsey [...]</p>
]]></content:encoded>
	</item>
</channel>
</rss>
 
