MathGroup Archive 2009

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Re: ParallelTable[ ]

  • To: mathgroup at smc.vnet.net
  • Subject: [mg100815] Re: [mg100801] Re: ParallelTable[ ]
  • From: "Scot T. Martin" <smartin at seas.harvard.edu>
  • Date: Sun, 14 Jun 2009 21:20:52 -0400 (EDT)
  • References: <h0vtju$74n$1@smc.vnet.net> <200906140941.FAA14862@smc.vnet.net>

Jens,

Thanks for for getting back to me on this. This is really my first foray 
into any attempts at parallel computing. I was imagining that 
ParallelTable[i^2, {i, 1000000}]] might be broken down to two processors, 
e.g., one processor takes items 1 to 500000 and the other processor takes 
items 500001 to 1000000. I am thinking that the overall computation should 
therefore be roughly twice as fast (after taking into account some time 
costs associated with reconstructing a unified list when the two 
processors report back, plus some general inefficiency in distribution of 
the problem (i.e., probably not best to put 500000 on each processor 
for an i^2 problem)). I think you're saying in the email below that the 
overhead from reconstructing a unified list exceeds the gain from 
distribution across two processors.

So, if a seemingly straightforward divide-and-conquer problem does not 
speed up, what are the kinds of problems that ParrallelTable is good at 
and helps with?

Scot


On Sun, 14 Jun 2009, Jens-Peer Kuska wrote:

> Hi,
>
> ParallelTable[] take longer, because parallel computing take
> usual longer than serial one. Since the data must be distributed
> to the processors and the results must be collected additional
> to the original work, it must take longer ! You can't do more
> and expect it will be faster.
>
> Regards
>   Jens
>
> Scot Martin wrote:
>> Just started looking at the parallel computing. This seems a very good
>> option for me because any "long" calculations I have are usually tied to
>> list manipulation.
>>
>>
>>
>> For background,$ProcessorCount returns "2" on my machine.
>>
>>
>>
>> I tried this command:
>>
>>
>>
>> AbsoluteTiming[ParallelTable[i^2, {i, 1000000}]]
>>
>>
>>
>> The required time was 9.28 s.
>>
>>
>>
>>
>>
>> I followed with this command:
>>
>>
>>
>> AbsoluteTiming[Table[i^2, {i, 1000000}]]
>>
>>
>>
>> The requied time was 0.86 s.
>>
>>
>>
>>
>>
>>
>>
>> So, you can imagine my confusion. Can anyone explain why parallel table
>> generation took 10 times as long?
>>
>>
>>
>>
>>
>> [Incidentally and perhaps related, the command of Timing[ParallelTable[i^2,
>> {i, 1000000}]] takes 0.078 s. This leaves me very confused because the
>> computer obviously take much longer to execute, i.e., I am sitting at my
>> console for closer to 9.28 s than 0.078 s. The command of Timing[Table[i^2,
>> {i, 1000000}]] takes 0.875 s. What gives?]
>>
>>
>>
>>
>>
>> Looking forward to everyone's insights!
>>
>
>


  • Prev by Date: Re: ParallelTable[ ]
  • Next by Date: Re: a graph problem-> heptagon analog to the dodecahedron
  • Previous by thread: Re: ParallelTable[ ]
  • Next by thread: Re: ParallelTable[ ]