[plt-dev] Parallel Futures Release

From: James Swaine (james.swaine at gmail.com)
Date: Mon Dec 7 12:31:01 EST 2009

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/

If you've got a multicore machine where you can't keep the cores busy
or your office/machine room is a bit cold, try this program:

#lang scheme
(require scheme/futures)
(define (loop) (loop))
(for-each
 touch
 (for/list ([i (in-range 0 (processor-count))])
  (future loop)))

Note that you have to build mzscheme with futures; it isn't enabled by
default, but see the docs above for how to do that. Beyond the above,
we've also gotten a few parallel kernels going and are seeing good
scalability up to 8 cores (the biggest machine we have around for the
time being).

Many thanks to Matthew, Robby, Kevin, and Peter Dinda, without whom this
release wouldn't have been possible.

Feedback welcome!

James
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/dev/archive/attachments/20091207/2680c443/attachment.html>

Posted on the dev mailing list.