Parallel forkOS does not work on ubuntu

Bulat Ziganshin bulat.ziganshin at gmail.com
Wed Dec 10 10:18:48 EST 2008


Hello Simon,

Wednesday, December 10, 2008, 5:24:28 PM, you wrote:

good explanation of various shortanges on the way to multi-threading.
may be it worth a link from GHC Concurrency pages?


> Hoang Truong wrote:
>> Hi Simon,
>> 
>> I tried with forkIO and added another dowork functions but the result is 
>> the same: only one core is used, three other cores are idle. Do you have 
>> any other suggestions? Is there anything I should take care when 
>> installing GHC?
>> 
>> I also did try the Wombat.hs from the tutorial, but only one core is 
>> used and the times are almost the same.
>> 
>> seq sum: 119201850
>> seq time: 20.959932 seconds.
>> par sum: 119201850
>> par time: 20.959547 seconds.

> Your program is suffering from microbenchmarkitis, I'm afraid.  There's
> only one spark, which tickles a bug in the scheduler in 6.10.1 and earlier
> (but sometimes doesn't happen due to random scheduling behaviour).  Even
> with that fixed, the program uses fib which tickles another bug: when 
> optimised, fib doesn't do any allocation, and GHC's scheduler relies on
> allocation happening at regular enough intervals.

> In 6.10.1 we never get to do load-balancing in this example, because fib
> doesn't ever yield control to the scheduler.  In HEAD, where we have 
> work-stealing and don't rely on the scheduler for load-balancing, the 
> load-balancing problem goes away but reveals another problem: the second
> thread wants to GC, but in order to GC it has to synchronise with the other
> running threads, but the other thread is running fib and never yields.  We
> can fix this by allowing CPUs to GC independently (which we plan to do),
> but even then you could still run into the same problem because eventually
> a global GC will be required.  If you really want to see the program 
> running in parallel, turn off -O.

> Cheers,
>         Simon

> _______________________________________________
> Glasgow-haskell-users mailing list
> Glasgow-haskell-users at haskell.org
> http://www.haskell.org/mailman/listinfo/glasgow-haskell-users



-- 
Best regards,
 Bulat                            mailto:Bulat.Ziganshin at gmail.com



More information about the Glasgow-haskell-users mailing list