<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated on Wed, 25 Nov 2009 16:48:34 -0800 -->
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <atom:link href="http://software.intel.com/en-us/forums/intel-threading-building-blocks/topic/69474/feed" rel="self" type="application/rss+xml" />
    <title>Intel Software Network - <![CDATA[ pipeline not shutting down ]]> feed</title>
    <link>http://software.intel.com/en-us/forums/intel-threading-building-blocks/topic/69474</link>
    <description></description>
    <language>en-us</language>
    <item>
      <title>Re: pipeline not shutting down</title>
      <description><![CDATA[ <div style="margin:0px;">
<div id="quote_reply" style="width: 100%; margin-top: 5px;">
<div style="margin-left:2px;margin-right:2px;">Quoting - <a href="/en-us/profile/439313">memaher</a></div>
<div style="background-color:#E5E5E5; padding:5px;border: 1px; border-style: inset;margin-left:2px;margin-right:2px;"><em>
<p>using tbb22_004oss on Redhat64bit, dual Xeon X5550 processor.<br /><br />We have an application which creates two pipelines to run concurrently. This is achieved by spawning a tbb_thread, then creating and calling the pipeline.run command, exiting when complete. <br /><br />Pipeline 1 has 7 filters, ordered as:<br />serial_in_order<br />parallel<br />parallel<br />parallel<br />serial_in_order<br />parallel<br />serial_in_order<br /><br />Pipeline 2 has 6 filters, of a similar scheduling system<br /><br />flight tokens are set to 12 and 6 respectively (pipeline 1 takes substantially longer to process than 2)<br /><br />In general, the application runs spectacularly well. It typically processes between 150-1500 'blobs' of data and exits cleanly - each time, every time. <br /><br />However, during our release testing, I put 15,000 blobs through it and found than, although pipeline 2 exits first as normal, pipeline 1 now never exits. This happens each time, every time, with any data count over 9000 (might be a bit less - but 3000 works fine). <br /><br />The way we're exiting the pipeline is for the first filter to return NULL when it runs out of data. I've stuck printf() all over the application and can confirm the first filter is correctly returning NULL, but the pipeline-&gt;run() command is never exiting. <br /><br />Any ideas?<br /><br />cheers,<br /><br />Mat</p>
</em></div>
</div>
</div>
Hi,
<div><span style="font-family: Verdana, Arial, Helvetica, sans-serif;"><br /></span></div>
<div>so where does debugger point you to, when you attach to this never-ending process? Are you using synchronization (mutexes) from inside your filters (for pipeline 2) and could they be causing a deadlock?</div> ]]></description>
      <link>http://software.intel.com/en-us/forums/intel-threading-building-blocks/topic/69474/</link>
      <pubDate>Tue, 03 Nov 2009 09:26:17 -0800</pubDate>
      <guid isPermaLink="true">http://software.intel.com/en-us/forums/intel-threading-building-blocks/topic/69474/</guid>
      <category>ISN General</category>
    </item>
    <item>
      <title>Re: pipeline not shutting down</title>
      <description><![CDATA[ <div style="margin:0px;">
<div id="quote_reply" style="margin-top: 5px; width: 100%;">
<div style="margin-left:2px;margin-right:2px;">Quoting - <a href="/en-us/profile/334152">Anton Pegushin (Intel)</a></div>
<div style="background-color:#E5E5E5; padding:5px;border: 1px; border-style: inset;margin-left:2px;margin-right:2px;"><em>
<div style="margin:0px;"></div>
Hi,
<div><span style="font-family: Verdana, Arial, Helvetica, sans-serif;"><br /></span></div>
<div>so where does debugger point you to, when you attach to this never-ending process? Are you using synchronization (mutexes) from inside your filters (for pipeline 2) and could they be causing a deadlock?</div>
</em></div>
</div>
</div>
<br />Anton,<br /><br />Sincere apologies. After a good debugging session, I managed to locate the problem. The last pipeline stage was using a concurrent_bounded_queue to output data. Although the queue limit was set substantially high, it managed to reach this limit and stall the pipeline. <br /><br />All corrected, the pipeline implementation is not at fault!<br /><br />Thanks,<br /><br />Mat ]]></description>
      <link>http://software.intel.com/en-us/forums/intel-threading-building-blocks/topic/69474/</link>
      <pubDate>Tue, 17 Nov 2009 03:04:44 -0800</pubDate>
      <guid isPermaLink="true">http://software.intel.com/en-us/forums/intel-threading-building-blocks/topic/69474/</guid>
      <category>ISN General</category>
    </item>
  </channel></rss>