[plt-dev] Parallel Futures Release

From: Jon Rafkind (rafkind at cs.utah.edu)
Date: Mon Dec 7 12:48:29 EST 2009

On 12/07/2009 10:31 AM, James Swaine wrote:
> I'm pleased to announce the initial release of parallel futures, a
> construct for fine-grained parallelism in PLT. Roughly speaking, a
> programmer passes a thunk to 'future' and it gets run in parallel.
> That "roughly" holds a few gotchas, partly because we're just getting
> started and partly due to the technique we're using. See the
> documentation for more details:
>   http://pre.plt-scheme.org/docs/html/futures/

Cool, great job. A few things:

1. Can you give more guidelines as to which functions will cause the 
future to block? Will `cons' block? If not, will allocating memory that 
triggers a GC block the future until its `touch'ed?
2. I don't see how the (sleep) call at the end of section 2 changes the 
output. I assume the runtime number that the future is waiting at was 
supposed to change but I have no reference to compare with.
3. It sounds slightly unfortunate that once a future blocks it won't 
continue in parallel on its own after the blocking call has completed. 
Is this virtually impossible to implement?

Posted on the dev mailing list.