[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