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?
_________________________________________________
For list-related administrative tasks:
http://list.cs.brown.edu/mailman/listinfo/plt-dev