<?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 Lock-free ParallelQueue version 1.1 ...  in Intel® Moderncode for Parallel Architectures</title>
    <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Lock-free-ParallelQueue-version-1-1/m-p/849088#M1809</link>
    <description>&lt;BR /&gt;&lt;BR /&gt;Hello all,&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;My Lock-free ParallelQueue algorithm have been updated &lt;BR /&gt;- my new algorithm avoids false sharing -, the new version &lt;BR /&gt;have scored 17 millions of pop() transactions per second on &lt;BR /&gt;anIntel Core 2 Quad Q6600&lt;BR /&gt;&lt;BR /&gt;&lt;P&gt;&lt;BR /&gt;There are three ways to reduce lock contention: &lt;/P&gt;&lt;P&gt;1- Reduce the duration for which locks are held &lt;BR /&gt;2- Reduce the frequency with which locks are requested&lt;BR /&gt;&lt;BR /&gt;or &lt;BR /&gt;&lt;BR /&gt;3- Replace exclusive locks with coordination mechanisms that &lt;BR /&gt; permit greater concurrency. &lt;BR /&gt;&lt;BR /&gt;With low , moderate AND high contention, my ParallelQueue algorithm &lt;BR /&gt;offers better scalability - and i am using it inside my Thread Pool Engine - &lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Because my lock-free ParallelQueue algorithmuses a hash based &lt;BR /&gt;method - and lock striping - and using just a LockedInc() , so, i am&lt;BR /&gt;REDUCING the duration for which locks are held AND REDUCING the&lt;BR /&gt;frequency with which locks are requested, hence i am REDUCING A LOT &lt;BR /&gt;the contention, so it's very efficient. &lt;/P&gt;&lt;P&gt;And i can state the following law or theorem: &lt;/P&gt;&lt;P&gt;&lt;BR /&gt;[1] If there is LESS contention THEN the algorithm will scale better. &lt;BR /&gt; Due to the fact that S (the serial part) become smaller with less contention , &lt;BR /&gt; and as N become bigger,  the result - the speed of the program/algorithm...&lt;BR /&gt; - of the Amdahl's equation 1/(S+(P/N)) become bigger. &lt;/P&gt;&lt;P&gt;So, since my lock-free ParallelQueue algorithm is REDUCING A LOT &lt;BR /&gt;the contention, it's very efficient and it scales well..&lt;/P&gt;&lt;P&gt;Also, i can state another law or theorem like this: &lt;/P&gt;&lt;P&gt;&lt;BR /&gt;[2] If there is false sharing THEN the algorithm will not scale well. Due to &lt;BR /&gt; the fact that S (the serial part) of the Amdahl's equation 1/(S+(P/N)) will &lt;BR /&gt; become bigger, so, this is not good for scalability.&lt;/P&gt;&lt;P&gt;It's why i am also avoiding false sharing in mylock-free ParallelQueue algorithm. &lt;/P&gt;&lt;P&gt;So, my new lock-free ParallelQueue algorithm reduces a lot the contention&lt;BR /&gt;and avoids false sharing, it's whyit scored17 millions of pop() transactions&lt;BR /&gt;per second... better than flqueue and RingBuffer. &lt;BR /&gt;&lt;BR /&gt;Please look at the benchmarks here:&lt;BR /&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;BR /&gt;&lt;BR /&gt;&lt;A href="http://pages.videotron.com/aminer/"&gt;http://pages.videotron.com/aminer/&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Sincerely,&lt;BR /&gt;Amine Moulay Ramdane.&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;</description>
    <pubDate>Fri, 09 Apr 2010 20:27:35 GMT</pubDate>
    <dc:creator>aminer10</dc:creator>
    <dc:date>2010-04-09T20:27:35Z</dc:date>
    <item>
      <title>Lock-free ParallelQueue version 1.1 ...</title>
      <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Lock-free-ParallelQueue-version-1-1/m-p/849088#M1809</link>
      <description>&lt;BR /&gt;&lt;BR /&gt;Hello all,&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;My Lock-free ParallelQueue algorithm have been updated &lt;BR /&gt;- my new algorithm avoids false sharing -, the new version &lt;BR /&gt;have scored 17 millions of pop() transactions per second on &lt;BR /&gt;anIntel Core 2 Quad Q6600&lt;BR /&gt;&lt;BR /&gt;&lt;P&gt;&lt;BR /&gt;There are three ways to reduce lock contention: &lt;/P&gt;&lt;P&gt;1- Reduce the duration for which locks are held &lt;BR /&gt;2- Reduce the frequency with which locks are requested&lt;BR /&gt;&lt;BR /&gt;or &lt;BR /&gt;&lt;BR /&gt;3- Replace exclusive locks with coordination mechanisms that &lt;BR /&gt; permit greater concurrency. &lt;BR /&gt;&lt;BR /&gt;With low , moderate AND high contention, my ParallelQueue algorithm &lt;BR /&gt;offers better scalability - and i am using it inside my Thread Pool Engine - &lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Because my lock-free ParallelQueue algorithmuses a hash based &lt;BR /&gt;method - and lock striping - and using just a LockedInc() , so, i am&lt;BR /&gt;REDUCING the duration for which locks are held AND REDUCING the&lt;BR /&gt;frequency with which locks are requested, hence i am REDUCING A LOT &lt;BR /&gt;the contention, so it's very efficient. &lt;/P&gt;&lt;P&gt;And i can state the following law or theorem: &lt;/P&gt;&lt;P&gt;&lt;BR /&gt;[1] If there is LESS contention THEN the algorithm will scale better. &lt;BR /&gt; Due to the fact that S (the serial part) become smaller with less contention , &lt;BR /&gt; and as N become bigger,  the result - the speed of the program/algorithm...&lt;BR /&gt; - of the Amdahl's equation 1/(S+(P/N)) become bigger. &lt;/P&gt;&lt;P&gt;So, since my lock-free ParallelQueue algorithm is REDUCING A LOT &lt;BR /&gt;the contention, it's very efficient and it scales well..&lt;/P&gt;&lt;P&gt;Also, i can state another law or theorem like this: &lt;/P&gt;&lt;P&gt;&lt;BR /&gt;[2] If there is false sharing THEN the algorithm will not scale well. Due to &lt;BR /&gt; the fact that S (the serial part) of the Amdahl's equation 1/(S+(P/N)) will &lt;BR /&gt; become bigger, so, this is not good for scalability.&lt;/P&gt;&lt;P&gt;It's why i am also avoiding false sharing in mylock-free ParallelQueue algorithm. &lt;/P&gt;&lt;P&gt;So, my new lock-free ParallelQueue algorithm reduces a lot the contention&lt;BR /&gt;and avoids false sharing, it's whyit scored17 millions of pop() transactions&lt;BR /&gt;per second... better than flqueue and RingBuffer. &lt;BR /&gt;&lt;BR /&gt;Please look at the benchmarks here:&lt;BR /&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;BR /&gt;&lt;BR /&gt;&lt;A href="http://pages.videotron.com/aminer/"&gt;http://pages.videotron.com/aminer/&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Sincerely,&lt;BR /&gt;Amine Moulay Ramdane.&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 09 Apr 2010 20:27:35 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Lock-free-ParallelQueue-version-1-1/m-p/849088#M1809</guid>
      <dc:creator>aminer10</dc:creator>
      <dc:date>2010-04-09T20:27:35Z</dc:date>
    </item>
    <item>
      <title>Lock-free ParallelQueue version 1.1 ...</title>
      <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Lock-free-ParallelQueue-version-1-1/m-p/849089#M1810</link>
      <description>&lt;BR /&gt;I wrote:&lt;BR /&gt;&lt;BR /&gt;"My Lock-free ParallelQueue algorithm have been updated &lt;BR /&gt;- my new algorithm avoids false sharing -, the new version &lt;BR /&gt;have scored 17 millions of pop() transactions per second on &lt;BR /&gt;anIntel Core 2 Quad Q6600"&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;The new score on the pop() method is 17 millions , the old was 7 millions.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt; :)&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Thenew Threadpool zipfile includes my new ParallelQueue algorithm...&lt;BR /&gt;&lt;BR /&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;BR /&gt;&lt;BR /&gt;&lt;A href="http://pages.videotron.com/aminer/"&gt;http://pages.videotron.com/aminer/&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Sincerely,&lt;BR /&gt;Amine Moulay Ramdane.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Fri, 09 Apr 2010 20:38:08 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Lock-free-ParallelQueue-version-1-1/m-p/849089#M1810</guid>
      <dc:creator>aminer10</dc:creator>
      <dc:date>2010-04-09T20:38:08Z</dc:date>
    </item>
  </channel>
</rss>

