I&#39;m pleased to announce the initial release of parallel futures, a<br>
construct for fine-grained parallelism in PLT. Roughly speaking, a<br>
programmer passes a thunk to &#39;future&#39; and it gets run in parallel.<br>
That &quot;roughly&quot; holds a few gotchas, partly because we&#39;re just getting<br>
started and partly due to the technique we&#39;re using. See the<br>
documentation for more details:<br>
<div class="im"><br>
  <a href="http://pre.plt-scheme.org/docs/html/futures/" target="_blank">http://pre.plt-scheme.org/docs/html/futures/</a><br>
<br>
</div>If you&#39;ve got a multicore machine where you can&#39;t keep the cores busy<br>
or your office/machine room is a bit cold, try this program:<br>
<br>
#lang scheme<br>
(require scheme/futures)<br>
(define (loop) (loop))<br>
(for-each<br>
 touch<br>
 (for/list ([i (in-range 0 (processor-count))])<br>
   (future loop)))<br>
<br>
Note that you have to build mzscheme with futures; it isn&#39;t enabled by<br>
default, but see the docs above for how to do that. Beyond the above,<br>
we&#39;ve also gotten a few parallel kernels going and are seeing good<br>
scalability up to 8 cores (the biggest machine we have around for the<br>
time being).<br>
<div class="im"><br>
Many thanks to Matthew, Robby, Kevin, and Peter Dinda, without whom this<br>
release wouldn&#39;t have been possible.<br>
<br>
</div>Feedback welcome!<br>
<br>
James