<?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 Re: any example to show speed enhancement by parallel programming? in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/any-example-to-show-speed-enhancement-by-parallel-programming/m-p/53464#M14777</link>
    <description>I seriously doubt that splitting the data on a CPU bound job is going to help.  The DATA step is single-threaded; and you are tripling the number of steps and more than doubling the disk I/O.&lt;BR /&gt;
&lt;BR /&gt;
SAS already does a lot of multiprocessor optimization.  I doubt that you would beat it with hand coding.&lt;BR /&gt;
&lt;BR /&gt;
Doc Muhlbaier&lt;BR /&gt;
Duke</description>
    <pubDate>Wed, 20 Apr 2011 00:55:32 GMT</pubDate>
    <dc:creator>Doc_Duke</dc:creator>
    <dc:date>2011-04-20T00:55:32Z</dc:date>
    <item>
      <title>any example to show speed enhancement by parallel programming?</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/any-example-to-show-speed-enhancement-by-parallel-programming/m-p/53463#M14776</link>
      <description>Folks,&lt;BR /&gt;
&lt;BR /&gt;
I am learning the parallel programming technique to take advantage of multi- processor computers.&lt;BR /&gt;
&lt;BR /&gt;
I understand that the speed of the code could be bounded by CPU or I/O.&lt;BR /&gt;
I've read some article mentioning a rule of thumb that if the CPU time of the original code is more than 25% of the real time, the speed would be improved by parallel processing.&lt;BR /&gt;
&lt;BR /&gt;
So I picked a code of data step that CPU time is about 80% of the real time (17min vs. 22min). What I did was to split the data into two similar sized pieces. Then I ran the data step on both pieces in the way of parallel programming (buy using rsubmit/endrsubmit).&lt;BR /&gt;
&lt;BR /&gt;
The result was surprising that the new code cost me about 45min!&lt;BR /&gt;
&lt;BR /&gt;
From the log, I see each thread took about the same CPU time as before (15min and 16min) but much longer real time (31min and 47min) than the original 22min.&lt;BR /&gt;
&lt;BR /&gt;
The only reason I can think of is the I/O and network jam (the data step does a hash merge against data on server)&lt;BR /&gt;
&lt;BR /&gt;
My question is: who can give me some practical examples that take speed advantage of this kind of multi-thread parallel programming, in this rsubmit/endrsubmit way, on one multi-processor computer (like a core2duo)?&lt;BR /&gt;
&lt;BR /&gt;
Thanks,&lt;BR /&gt;
Alex</description>
      <pubDate>Tue, 19 Apr 2011 22:27:38 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/any-example-to-show-speed-enhancement-by-parallel-programming/m-p/53463#M14776</guid>
      <dc:creator>tangyoulei</dc:creator>
      <dc:date>2011-04-19T22:27:38Z</dc:date>
    </item>
    <item>
      <title>Re: any example to show speed enhancement by parallel programming?</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/any-example-to-show-speed-enhancement-by-parallel-programming/m-p/53464#M14777</link>
      <description>I seriously doubt that splitting the data on a CPU bound job is going to help.  The DATA step is single-threaded; and you are tripling the number of steps and more than doubling the disk I/O.&lt;BR /&gt;
&lt;BR /&gt;
SAS already does a lot of multiprocessor optimization.  I doubt that you would beat it with hand coding.&lt;BR /&gt;
&lt;BR /&gt;
Doc Muhlbaier&lt;BR /&gt;
Duke</description>
      <pubDate>Wed, 20 Apr 2011 00:55:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/any-example-to-show-speed-enhancement-by-parallel-programming/m-p/53464#M14777</guid>
      <dc:creator>Doc_Duke</dc:creator>
      <dc:date>2011-04-20T00:55:32Z</dc:date>
    </item>
  </channel>
</rss>

