parList implementation question
Marcus D. Gabriel
marcus at gabriel.name
Sun Dec 20 08:57:52 EST 2009
Well, I finally put in place 6.12.1 and read the documentation for
Control.Parallel.Strategies. All of my code for the application described
below uses Done, demanding, sparking, (>|), and (>||) which are deprecated
and which is what I used. Additionally, I need to understand Eval first
to change my code.
No point in responding until I determine what this means.
Thanks nevertheless,
- Marcus
Marcus D. Gabriel wrote:
> Denis Bueno wrote:
>> On Fri, Dec 18, 2009 at 11:31, Marcus D. Gabriel <marcus at gabriel.name> wrote:
>>> than parList via parMap. For example, in one experiment, parMap
>>> with parList run at 0.81 the time of the serial solution whereas
>>> forceParMap with forceParList run at 0.58 the time of the serial
>>> solution. This is to say, forceParList completed in 0.72 the
>>> time of parList. So,
>> I don't know your application, so it's hard to interpret your numbers.
>>
>> Are you sure those measurements are statistically significant?
>
> The particular example that I gave was a straightforward
> searchDepthFirst(1) algorithm. To parallelise it, I choose the
> initial, simple approach to determine the first list of successor
> nodes from an initial node and use parMap to apply the serial
> algorithm searchDepthFirst to this list and then reduce (concat)
> the list.
>
> With some RTS tuning and using a dedicated dual-core system, I was
> able for the problem above to reproduce the numbers that I cite
> above consistently to within about plus or minus a factor of 0.01.
>
> I have played with variations of this class of problem but not
> generally compared parList with forceParList across a broader class
> of problems.
>
> I like your question above. It helped me formulate this question:
>
> Is what I observed above significant or random? I hope it is not
> random.
>
> I guess the deeper question is how does one determine with
> confidence that
>
> parallised serial algorithm + startegy1 works for problem class1
>
> and
>
> parallised serial algorithm + startegy2 works for problem class2
>
>
> where both are better than the serial case for their respective
> class of problems across a given range of operating environments,
> e.g., -N2 to -N8 for 2 to 8 cores.
>
> - Marcus
>
> (1) "Algorithms, A Functional Programming Approach" by Fethi Rabhi
> and Guy Laplame. ISBN 0201-59604-0.
--
Marcus D. Gabriel, Ph.D. Saint Louis, FRANCE
http://www.marcus.gabriel.name mailto:marcus at gabriel.name
Tel: +33.3.89.69.05.06 Portable: +33.6.34.56.07.75
More information about the Glasgow-haskell-users
mailing list