Don Stewart wrote:
marlowsd:
Neal Alexander wrote:
Thomas DuBuisson wrote:
It seems like we could get some priority based scheduling (and still
be slackers) if we allow marked green threads to be strictly
associated with a specific OS thread (forkChildIO?).
I think you want the GHC-only GHC.Conc.forkOnIO
GHC.Conc.forkOnIO is helpful but doest work in this case - it doesn't
attach them to the same OS thread.
But it does attach the thread to a particular "virtual CPU" in the GHC RTS
(we call them "capabilities"), with the intention that a virtual CPU
corresponds more or less to a real CPU core.
Every time Simon responds on questions of parallelism and the GHC
runtime, I learn something. That indicates to me that we've got a 'bus
error' situation with how to effectively use the smp runtime.
Simon: time for a multicore FAQ wiki page to gather this knowledge, like
we did for the performance tips? Somewhere to paste these insights?
Sure, that would be great. One slight problem is that I'm still learning
myself how to use parallelism effectively, and the RTS is still changing
rapidly. We have a paper in the works that should serve as a good overview
of the implementation, but a wiki page would be more suitable for users.
If nobody else starts one, I'll try to get to it in the next few weeks.
Cheers,
Simon
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe