Neal Alexander wrote:
Simon Marlow wrote:
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.
Cheers,
Simon
Yea, but you still have the problem with FFI that uses TLS don't you?
What about having a forkOnOS version with processor affinity? Or is
there a way to "upgrade" a thread created with forkOnIO to Bound.
Yes, forkOnOS would be possible (you can write it yourself using the
primitives, in fact).
I have a thread with soft real-time requirements that cooperatively
yields and uses thread local state. Right now there just doesn't seem to
be any options.
Right - real-time and priorities are things that we don't do at the moment,
unfortunately.
Cheers,
Simon
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe