<?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 The parallel sca,lability tests ... in Intel® Moderncode for Parallel Architectures</title>
    <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/The-parallel-sca-lability-tests/m-p/768921#M102</link>
    <description>&lt;DIV&gt;&lt;BR /&gt;Hello,&lt;BR /&gt;&lt;BR /&gt;I have tested parallelhashlist(a parallel hashtable that i have implemented) &lt;BR /&gt;with four threads on a quad core and it's giving a perfect scaling on both &lt;BR /&gt;reads and writes.&lt;BR /&gt;&lt;BR /&gt;Also when i have done those benchmarks on parallelhashlist, &lt;BR /&gt;there was not enough/much items organized as a self-balancing &lt;BR /&gt;tree in the individual chains of the hashtable, so , almost all the items &lt;BR /&gt;was found and inserted in O(1) , so the parallel part in the Amdahl &lt;BR /&gt;equation was not much bigger compared to to the serial part. But &lt;BR /&gt;you will notice in pratice that as soon as you will have more items &lt;BR /&gt;on the chains of the Hash table , organized as self-balancing tree, &lt;BR /&gt;with a worst case log(n)&amp;nbsp; , the parallel part will become bigger in the &lt;BR /&gt;Amdahl equation and you will have better performance and scalability &lt;BR /&gt;than the numbers in the graph of the benchmarks ,&amp;nbsp; This is Gustafson's Law.&lt;BR /&gt;&lt;BR /&gt;Alo i have done some scalability tests on my parallelsort library and i have come &lt;BR /&gt;to the conclusion that parallel heapsort is better on scalability than parallel quicksort &lt;BR /&gt;cause the P part (of the Amdahl equation) is bigger in parallel heapsort than in&amp;nbsp;parallel&lt;BR /&gt;quicksort, the parallel heapsort is doing more on the parallel part, it's &lt;BR /&gt;why it scales better than parallel quicksort, but parallel quicksort is still &lt;BR /&gt;faster than parallel heapsort and parallel merge sort on my tests on a&lt;BR /&gt;quad core processor.&lt;BR /&gt;&lt;BR /&gt;And about lockfree_mpmc( a lockfree fifo queue), i have done some tests &lt;BR /&gt;and it's not scaling cause when you are using a single thread some variable &lt;BR /&gt;are updated on the L1&amp;nbsp; cache but using multiple threads those variables are &lt;BR /&gt;loaded from the L2 cache and it's more expensive to load them from the L2 cache.&lt;BR /&gt;&lt;BR /&gt;But even though lockfree_mpmc is not scalable, you can&amp;nbsp;&amp;nbsp; increase &lt;BR /&gt;the P (parallel) part by doing more of the same: Increase the volume of &lt;BR /&gt;data processed by the P part (and therefore the percentage p of time spent &lt;BR /&gt;in computing). This is Gustafson's Law and you will get more scalability.&lt;BR /&gt;&lt;BR /&gt;For example i have used the IntToStr() function on each of the four threads&amp;nbsp;(on &lt;BR /&gt;a quad core) on my lockfree_mpmc test programs to convert from and integer &lt;BR /&gt;to a string, so i have increased the P (parallel) part and i have got more scalability, &lt;BR /&gt;this is Gustafson's Law, and you have to remember Gustafson's Law , &lt;BR /&gt;this is very important.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;You can download my parallel libraries from&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://pages.videotron.com/aminer/" target="_blank"&gt;http://pages.videotron.com/aminer/&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Sincerely,&lt;BR /&gt;Amine Moulay Ramdane. &lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;</description>
    <pubDate>Sat, 11 Aug 2012 01:57:43 GMT</pubDate>
    <dc:creator>aminer10</dc:creator>
    <dc:date>2012-08-11T01:57:43Z</dc:date>
    <item>
      <title>The parallel sca,lability tests ...</title>
      <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/The-parallel-sca-lability-tests/m-p/768921#M102</link>
      <description>&lt;DIV&gt;&lt;BR /&gt;Hello,&lt;BR /&gt;&lt;BR /&gt;I have tested parallelhashlist(a parallel hashtable that i have implemented) &lt;BR /&gt;with four threads on a quad core and it's giving a perfect scaling on both &lt;BR /&gt;reads and writes.&lt;BR /&gt;&lt;BR /&gt;Also when i have done those benchmarks on parallelhashlist, &lt;BR /&gt;there was not enough/much items organized as a self-balancing &lt;BR /&gt;tree in the individual chains of the hashtable, so , almost all the items &lt;BR /&gt;was found and inserted in O(1) , so the parallel part in the Amdahl &lt;BR /&gt;equation was not much bigger compared to to the serial part. But &lt;BR /&gt;you will notice in pratice that as soon as you will have more items &lt;BR /&gt;on the chains of the Hash table , organized as self-balancing tree, &lt;BR /&gt;with a worst case log(n)&amp;nbsp; , the parallel part will become bigger in the &lt;BR /&gt;Amdahl equation and you will have better performance and scalability &lt;BR /&gt;than the numbers in the graph of the benchmarks ,&amp;nbsp; This is Gustafson's Law.&lt;BR /&gt;&lt;BR /&gt;Alo i have done some scalability tests on my parallelsort library and i have come &lt;BR /&gt;to the conclusion that parallel heapsort is better on scalability than parallel quicksort &lt;BR /&gt;cause the P part (of the Amdahl equation) is bigger in parallel heapsort than in&amp;nbsp;parallel&lt;BR /&gt;quicksort, the parallel heapsort is doing more on the parallel part, it's &lt;BR /&gt;why it scales better than parallel quicksort, but parallel quicksort is still &lt;BR /&gt;faster than parallel heapsort and parallel merge sort on my tests on a&lt;BR /&gt;quad core processor.&lt;BR /&gt;&lt;BR /&gt;And about lockfree_mpmc( a lockfree fifo queue), i have done some tests &lt;BR /&gt;and it's not scaling cause when you are using a single thread some variable &lt;BR /&gt;are updated on the L1&amp;nbsp; cache but using multiple threads those variables are &lt;BR /&gt;loaded from the L2 cache and it's more expensive to load them from the L2 cache.&lt;BR /&gt;&lt;BR /&gt;But even though lockfree_mpmc is not scalable, you can&amp;nbsp;&amp;nbsp; increase &lt;BR /&gt;the P (parallel) part by doing more of the same: Increase the volume of &lt;BR /&gt;data processed by the P part (and therefore the percentage p of time spent &lt;BR /&gt;in computing). This is Gustafson's Law and you will get more scalability.&lt;BR /&gt;&lt;BR /&gt;For example i have used the IntToStr() function on each of the four threads&amp;nbsp;(on &lt;BR /&gt;a quad core) on my lockfree_mpmc test programs to convert from and integer &lt;BR /&gt;to a string, so i have increased the P (parallel) part and i have got more scalability, &lt;BR /&gt;this is Gustafson's Law, and you have to remember Gustafson's Law , &lt;BR /&gt;this is very important.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;You can download my parallel libraries from&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://pages.videotron.com/aminer/" target="_blank"&gt;http://pages.videotron.com/aminer/&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Sincerely,&lt;BR /&gt;Amine Moulay Ramdane. &lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Sat, 11 Aug 2012 01:57:43 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/The-parallel-sca-lability-tests/m-p/768921#M102</guid>
      <dc:creator>aminer10</dc:creator>
      <dc:date>2012-08-11T01:57:43Z</dc:date>
    </item>
  </channel>
</rss>

