<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Thread Pool Engine, and Work-Stealing ..... in Intel® Moderncode for Parallel Architectures</title>
    <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Thread-Pool-Engine-and-Work-Stealing/m-p/860367#M2288</link>
    <description>&lt;P&gt;&lt;BR /&gt;Hello,&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;I am still writing the page at:&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;&lt;A href="http://pages.videotron.com/aminer/threadpool.htm"&gt;http://pages.videotron.com/aminer/threadpool.htm&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;And it starts with something like this:&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;"On a multicore system, your goal is to spread the work efficiently &lt;BR /&gt;among many cores so that it does executes simultaneously. And &lt;BR /&gt;performance gain should be directly related to how many cores you &lt;BR /&gt;have. So, a quad core system should be able to get the work done &lt;BR /&gt;4 times faster than a single core system. A 16-core platform should &lt;BR /&gt;be 4-times faster than a quad-core system, and 16-times faster than &lt;BR /&gt;a single core...&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;That's where my Threadpool comes in hand, it spreads the work &lt;BR /&gt;efficiently &lt;BR /&gt;among many cores.&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;The following have been added to Threadpool:&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;Lock-free ParallelQueue for less contention and more efficiency &lt;BR /&gt;or it can use lockfree_mpmc - flqueue that i have modified, enhanced &lt;BR /&gt;and improved... - See lock-free ParallelQueue:&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;&lt;A href="http://pages.videotron.com/aminer/parallelqueue/parallelqueue.htm"&gt;http://pages.videotron.com/aminer/parallelqueue/parallelqueue.htm&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;It uses many queues and work-stealing - for more efficiency - &lt;BR /&gt;The worker threads enters in a wait state when there no job in the &lt;BR /&gt;lock-free queues - for more efficiency -&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;You can distribute your jobs to the worker threads and call any &lt;BR /&gt;method with the threadpool's execute() method.&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;[...]&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;Work-Stealing scheduling algorithm offer many feature over the &lt;BR /&gt;ordinary scheduling algorithm:&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;Effective:&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;Using local queues, this will minimize contention. &lt;BR /&gt;Load Balancing:&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;Every thread can steal work from the other threads, &lt;BR /&gt;so Work-Stealing provides implicitly Load Balancing.&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;My Threadpool allows load balancing, and also minimize contention...".&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;Any Feedback ?&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;Sincerely, &lt;BR /&gt;Amine Moulay Ramdane.&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;</description>
    <pubDate>Sat, 27 Mar 2010 02:24:14 GMT</pubDate>
    <dc:creator>aminer10</dc:creator>
    <dc:date>2010-03-27T02:24:14Z</dc:date>
    <item>
      <title>Thread Pool Engine, and Work-Stealing .....</title>
      <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Thread-Pool-Engine-and-Work-Stealing/m-p/860367#M2288</link>
      <description>&lt;P&gt;&lt;BR /&gt;Hello,&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;I am still writing the page at:&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;&lt;A href="http://pages.videotron.com/aminer/threadpool.htm"&gt;http://pages.videotron.com/aminer/threadpool.htm&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;And it starts with something like this:&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;"On a multicore system, your goal is to spread the work efficiently &lt;BR /&gt;among many cores so that it does executes simultaneously. And &lt;BR /&gt;performance gain should be directly related to how many cores you &lt;BR /&gt;have. So, a quad core system should be able to get the work done &lt;BR /&gt;4 times faster than a single core system. A 16-core platform should &lt;BR /&gt;be 4-times faster than a quad-core system, and 16-times faster than &lt;BR /&gt;a single core...&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;That's where my Threadpool comes in hand, it spreads the work &lt;BR /&gt;efficiently &lt;BR /&gt;among many cores.&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;The following have been added to Threadpool:&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;Lock-free ParallelQueue for less contention and more efficiency &lt;BR /&gt;or it can use lockfree_mpmc - flqueue that i have modified, enhanced &lt;BR /&gt;and improved... - See lock-free ParallelQueue:&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;&lt;A href="http://pages.videotron.com/aminer/parallelqueue/parallelqueue.htm"&gt;http://pages.videotron.com/aminer/parallelqueue/parallelqueue.htm&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;It uses many queues and work-stealing - for more efficiency - &lt;BR /&gt;The worker threads enters in a wait state when there no job in the &lt;BR /&gt;lock-free queues - for more efficiency -&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;You can distribute your jobs to the worker threads and call any &lt;BR /&gt;method with the threadpool's execute() method.&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;[...]&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;Work-Stealing scheduling algorithm offer many feature over the &lt;BR /&gt;ordinary scheduling algorithm:&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;Effective:&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;Using local queues, this will minimize contention. &lt;BR /&gt;Load Balancing:&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;Every thread can steal work from the other threads, &lt;BR /&gt;so Work-Stealing provides implicitly Load Balancing.&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;My Threadpool allows load balancing, and also minimize contention...".&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;Any Feedback ?&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;Sincerely, &lt;BR /&gt;Amine Moulay Ramdane.&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;</description>
      <pubDate>Sat, 27 Mar 2010 02:24:14 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Thread-Pool-Engine-and-Work-Stealing/m-p/860367#M2288</guid>
      <dc:creator>aminer10</dc:creator>
      <dc:date>2010-03-27T02:24:14Z</dc:date>
    </item>
  </channel>
</rss>

