[dmd-concurrency] Data Parallelism
David Simcha
dsimcha at gmail.com
Mon Jan 25 06:24:00 PST 2010
I realize it's probably a little late to be jumping into the concurrency
game. I've been mostly staying on the sidelines, reading this list here
and there, since the only multithreading I understand well or personally
have any use for is data parallelism/use-every-core-I-have. However,
from reading the TDPL drafts I am getting concerned that D is moving
towards message passing as the "one true way", and if this doesn't do
what you need you're left to cowboy everything anyhow. I've been slowly
hacking away, improving my Parallelfuture library (which currently does
basically cowboy everything), and am wondering if some of the main
architects (Sean, Andrei) could take a look at it and see if some
relatively small changes could be made to either the library or the
language to make this library reasonably safe so it could be treated as
a first-class citizen.
Ideally I'd like to make this thing safe(r) and get it into Phobos,
though I don't know if it could be made to play nicely with the message
passing/sharing model that's been discussed here. I'd like to avoid the
situation where message passing becomes the "one true way" of doing
multithreading in D and the concurrency model still forces you to cowboy
just about everything if message passing isn't what you need.
The docs for Parallelfuture are at:
http://cis.jhu.edu/~dsimcha/parallelFuture.html
The code is at:
http://dsource.org/projects/scrapple/browser/trunk/parallelFuture/parallelFuture.d
More information about the dmd-concurrency
mailing list