<?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 - Rahul Patil: Complexities of Testing Concurrency</title>
	<atom:link rel="self" type="application/rss+xml" href="http://channel9.msdn.com/Blogs/Charles/Rahul-Patil-Complexities-of-Testing-Concurrent-Execution/RSS"></atom:link>
	<image>
		<url>http://ecn.channel9.msdn.com/o9/previewImages/100/431941_100x75.jpg</url>
		<title>Channel 9 - Rahul Patil: Complexities of Testing Concurrency</title>
		<link></link>
	</image>
	<description>You&#39;ve been hearing a lot lately about&amp;nbsp;parallelism and concurrency here on Channel 9 and the fact that before you know, you&#39;ll be writing highly concurrent code due to the
 advent of multi-core and the soon-to-be many-core (greater than eight cores)&amp;nbsp;processors. It&#39;s hard if not impossible to express parallelism using mainstream general purpose programming tools (most developers compose their applications in a sequential and imperative&amp;nbsp;manner).
 Microsoft, along with the rest of the software tools industry, is making great strides to simply the expression of concurrency using the tools that you&#39;ve grown comfortable using and rely on day to day.Of course, the current state of tools/technology (Parallel Extensions for .NET, the Concurrency Runtime, etc) make it much easier to compose parallel tasks and move you away from programming threads explicitly. This is a huge step in the right direction, but
 it is only a step and much more &amp;quot;walking&amp;quot; has to be done to get us to where we need to go...
Rahul Patil is a concurrency testing expert. His is the complex lifestyle of chasing down bugs that are caused by concurrently executing code (threads). In this discussion, Rahul explains to us what the common patterns are that lead to concurreny bugs (race
 conditions, deadlocks, etc) and offers advice on how to catch bugs before you create them...Enjoy. </description>
	<link></link>
	<language>en</language>
	<pubDate>Sat, 25 May 2013 16:18:37 GMT</pubDate>
	<lastBuildDate>Sat, 25 May 2013 16:18:37 GMT</lastBuildDate>
	<generator>Rev9</generator>
	<item>
		<title>Re: Rahul Patil: Complexities of Testing Concurrency</title>
		<description>
			<![CDATA[Maybe I'm showing my age here, but didn't everyone learn this stuff&nbsp;in college?<p>posted by spivonious</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/Charles/Rahul-Patil-Complexities-of-Testing-Concurrent-Execution#c633596860860000000</link>
		<pubDate>Wed, 15 Oct 2008 16:48:06 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/Charles/Rahul-Patil-Complexities-of-Testing-Concurrent-Execution#c633596860860000000</guid>
		<dc:creator>spivonious</dc:creator>
	</item>
	<item>
		<title>Re: Rahul Patil: Complexities of Testing Concurrency</title>
		<description>
			<![CDATA[
<p>Well, sure, if you majored in CS... Point is, not all developers out there think about threads in this context. There's nothing wrong with hammering home the basics. Rahul shows the pitfalls of testing concurrency and expresses the need for developers to
 think about concurrent design semantics. Certainly, most developers understand what a race condition is or what causes a deadlock. But how many general purpose developers out there express concurrency correctly and know how to test their code properly (this
 includes up front design, the use of static analysis tools and runtime testing)?<br /><br />C</p>
<p>posted by Charles</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/Charles/Rahul-Patil-Complexities-of-Testing-Concurrent-Execution#c633596882390000000</link>
		<pubDate>Wed, 15 Oct 2008 17:23:59 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/Charles/Rahul-Patil-Complexities-of-Testing-Concurrent-Execution#c633596882390000000</guid>
		<dc:creator>Charles</dc:creator>
	</item>
	<item>
		<title>Re: Rahul Patil: Complexities of Testing Concurrency</title>
		<description>
			<![CDATA[I fully agree with &quot;revisiting the basics&quot; in this context. <br /><br />Hey charles, I regenerated my channel 9 password which was sent to my email. I used it to sign in. Now i want to change it, but the my profile page (the link to which was sent to my email ) doesnt have anything remotely related to the password thing.&nbsp;<p>posted by mumtaz</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/Charles/Rahul-Patil-Complexities-of-Testing-Concurrent-Execution#c633598755200000000</link>
		<pubDate>Fri, 17 Oct 2008 21:25:20 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/Charles/Rahul-Patil-Complexities-of-Testing-Concurrent-Execution#c633598755200000000</guid>
		<dc:creator>mumtaz</dc:creator>
	</item>
	<item>
		<title>Re: Rahul Patil: Complexities of Testing Concurrency</title>
		<description>
			<![CDATA[Hi,<br /><br />I'm not sure what happened to customized password creation. I'll ask the dev team.<br />C<p>posted by Charles</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/Charles/Rahul-Patil-Complexities-of-Testing-Concurrent-Execution#c633598822120000000</link>
		<pubDate>Fri, 17 Oct 2008 23:16:52 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/Charles/Rahul-Patil-Complexities-of-Testing-Concurrent-Execution#c633598822120000000</guid>
		<dc:creator>Charles</dc:creator>
	</item>
	<item>
		<title>Re: Rahul Patil: Complexities of Testing Concurrency</title>
		<description>
			<![CDATA[
<p><span>spivonious is right, this was all basics - nothing new here, really.<br /><br />If a developer does not know about locks/deadlocks etc. then I'm sorry to say, but he/she is just a poor developer. This is first year's knowledge on any decent university, no major degree required. This story was good maybe for Channel8, not 9.<br /><br /></span></p>
<p><span>I can't say for all the niners, but I personally feel that we should focus on specialized tools that assist in debugging concurrent programs, rather than stating the obvious about problems in parallel programming.</span></p>
<p>posted by KubuS</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/Charles/Rahul-Patil-Complexities-of-Testing-Concurrent-Execution#c633599373830000000</link>
		<pubDate>Sat, 18 Oct 2008 14:36:23 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/Charles/Rahul-Patil-Complexities-of-Testing-Concurrent-Execution#c633599373830000000</guid>
		<dc:creator>KubuS</dc:creator>
	</item>
	<item>
		<title>Re: Rahul Patil: Complexities of Testing Concurrency</title>
		<description>
			<![CDATA[
<p>Thanks for the feedback... How many of you use the tools addressed in this interview (from MSR as well as in the Windows SDK)? Do you want to learn more about them? Remember that Channel&nbsp;9 is not just focused on the technology but also the people who make
 it. Rahul is tasked with building tests for concurency. Perhaps I should have focused more on what he does, exactly. That said, I still think this is useful information and is pertinent to even the most seasoned developer: code pattern correctness, tools for
 testing at compile time and run time. I'll look into getting some interviews set up where we dig into the tooling.<br /><br />Keep on watching,<br /><br />C</p>
<p>posted by Charles</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/Charles/Rahul-Patil-Complexities-of-Testing-Concurrent-Execution#c633599454650000000</link>
		<pubDate>Sat, 18 Oct 2008 16:51:05 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/Charles/Rahul-Patil-Complexities-of-Testing-Concurrent-Execution#c633599454650000000</guid>
		<dc:creator>Charles</dc:creator>
	</item>
	<item>
		<title>Re: Rahul Patil: Complexities of Testing Concurrency</title>
		<description>
			<![CDATA[Charles, great shows. Keep up the good work. Yes, I did learn about this stuff in College, but that was too many years ago and everything since then has been single threaded. I know in theory how to write code that is thread-safe, but... One thing that
 ,he mentioned that I think you missed is that while you've been covering the new work that's being done to take tasks and partition them over an unknown number of CPUs/Threads. That's fascinating and important stuff, but is only half the problem.<br /><br />The other part, is locks. How are they going to work in the brave new world? Are we OK with just using 'locks' for everything, or is that going to be too heavy a performance hit? When you add in multiple CPUs (including GPGPUs, and caching, etc. does this make
 locks too expensive? Are we going to be set up with needing to either take the performance hit of more comprehensive locks, or even knowing which type of lock needs to be held when? Are the Static analysis tools enough to guarantee that locks are acquired
 and released int eh same order,&nbsp; or do we need new constructs to deal with these issues in the many-core world. I suspect that lock are a much bigger part of the problem/solution that I haven't really see talked about.<br /><br />Functional programming uses immutable objects and avoids the problem, but what are the rest of us supposed to do?<br /><p>posted by Ralph Trickey</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/Charles/Rahul-Patil-Complexities-of-Testing-Concurrent-Execution#c633599714620000000</link>
		<pubDate>Sun, 19 Oct 2008 00:04:22 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/Charles/Rahul-Patil-Complexities-of-Testing-Concurrent-Execution#c633599714620000000</guid>
		<dc:creator>Ralph Trickey</dc:creator>
	</item>
	<item>
		<title>Re: Rahul Patil: Complexities of Testing Concurrency</title>
		<description>
			<![CDATA[This was not bad. Too much of the presentation time was spend on basics. I guess a quick synopsis and pointers to other videos may have worked well. I would have loved to hear more about chess and Phoenix details.<br /><p>posted by cyberhawk</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/Charles/Rahul-Patil-Complexities-of-Testing-Concurrent-Execution#c633610016340000000</link>
		<pubDate>Thu, 30 Oct 2008 22:13:54 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/Charles/Rahul-Patil-Complexities-of-Testing-Concurrent-Execution#c633610016340000000</guid>
		<dc:creator>cyberhawk</dc:creator>
	</item>
	<item>
		<title>Re: Rahul Patil: Complexities of Testing Concurrency</title>
		<description>
			<![CDATA[its too basic and no great information comes from it . its sort of a drag rather<br /><p>posted by hollykick</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/Charles/Rahul-Patil-Complexities-of-Testing-Concurrent-Execution#c633745083640000000</link>
		<pubDate>Sun, 05 Apr 2009 06:06:04 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/Charles/Rahul-Patil-Complexities-of-Testing-Concurrent-Execution#c633745083640000000</guid>
		<dc:creator>hollykick</dc:creator>
	</item>
	<item>
		<title>Re: Rahul Patil: Complexities of Testing Concurrency</title>
		<description>
			<![CDATA[
<p>I liked the presentation.&nbsp; There really isn't much treatment out there of best practices for concurrency testing.</p>
<p>&nbsp;</p>
<p>Functional programming will eliminate some sources of concurrency errors if there isn't shared mutable state.&nbsp; However, you'll still have plenty of ordering violations in message passing.&nbsp; Any time you need to gather the results of multiple computations
 you're going to have concurrency errors of some form or another.</p>
<p>&nbsp;</p>
<p>Check out Jinx, PetraVM's offering that helps deal with these problems.&nbsp; It's a tool that forces concurrency errors in parallel software to occur quickly.&nbsp; It's pretty complementary to most of the technologies and approaches detailed in this presentation.</p>
<p>&nbsp;</p>
<p><a href="<a href="http://www.petravm.com">http&#58;&#47;&#47;www.petravm.com</a>/"><a href="http://www.petravm.com">http&#58;&#47;&#47;www.petravm.com</a></a></p>
<p><a href="<a href="http://www.petravm.com">http&#58;&#47;&#47;www.petravm.com</a>/blog"><a href="http://www.petravm.com">http&#58;&#47;&#47;www.petravm.com</a>/blog</a></p>
<p>posted by tomita</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/Charles/Rahul-Patil-Complexities-of-Testing-Concurrent-Execution#c633970562990000000</link>
		<pubDate>Tue, 22 Dec 2009 05:24:59 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/Charles/Rahul-Patil-Complexities-of-Testing-Concurrent-Execution#c633970562990000000</guid>
		<dc:creator>tomita</dc:creator>
	</item>
</channel>
</rss>