[Haskell-cafe] Parallelism on concurrent?

Pepe Iborra mnislaih at gmail.com
Tue Mar 13 13:26:57 EDT 2007


Excuse me, I read too quick.
It works for forkIO too, although I'm not sure about forkOS. I don't  
have a demo around, but you can verify with the concurrency demos in  
the wiki:

http://haskell.org/haskellwiki/Concurrency_demos/Zeta

If it doesn't work, perhaps you are in an unsupported platform.

Cheers
pepe

On 13/03/2007, at 18:10, Dusan Kolar wrote:

> Yes, it works for operator /par/. That's what I've reported. But  
> should it work for forkIO and forkOS? Could anybody give more  
> detailed answer than yes, no? :-) (Link to the Web is OK.)
>
> BTW, thanks for the link to the paper (moreover, I can see, that  
> googling over haskell.org is not sufficient ;-) ).
>
> Regards,
>
>  Dusan
>
>
> Pepe Iborra wrote:
>> On 13/03/2007, at 17:46, Jefferson Heard wrote:
>>
>>> Simon will probably chime in on it as well, but his paper on the  
>>> subject is
>>> the best there is:
>>>
>>> http://research.microsoft.com/~simonpj/Papers/strategies.ps.gz
>>
>> It does work in GHC 6.6 very nicely.
>> You can try it with the following naive fib function, extracted  
>> from the paper mentioned above:
>>
>> \begin{code}
>> import Control.Parallel
>> import System.Environment
>> import Fib
>>
>> main = do
>>    (x:_) <- getArgs
>>    print$ pfib (read x)
>>
>> pfib 0 = 1
>> pfib 1 = 1
>> pfib n = n1 `par` n2 `seq` n1+n2+1
>>   where (n1,n2) = (pfib(n-1), pfib(n-2))
>> \end{code}
>>
>> pep:~/code/snippets/Parallelism$ ghc --make -O Main -threaded
>>
>> pep:~/code/snippets/Parallelism$ time src/Main 33
>> 11405773
>>
>> real    0m1.444s
>> user    0m1.343s
>> sys     0m0.020s
>>
>> pep:~/code/snippets/Parallelism$ time src/Main 33 +RTS -N2
>> 11405773
>>
>> real    0m0.764s
>> user    0m1.367s
>> sys     0m0.030s
>>
>>
>>
>> Got a speedup of 100%, and didn't use threads at all. Yay!
>>
>> pepe
>>
>> _______________________________________________
>> Haskell-Cafe mailing list
>> Haskell-Cafe at haskell.org
>> http://www.haskell.org/mailman/listinfo/haskell-cafe
>
> -- 
>
> Dusan Kolar            tel: +420 54 114 1238
> UIFS FIT VUT Brno      fax: +420 54 114 1270
> Bozetechova 2       e-mail: kolar at fit.vutbr.cz
> Brno 612 66
> Czech Republic
>
> --
>



More information about the Haskell-Cafe mailing list