This is something I&#39;ve been waiting for for some time. I am doing agent-based simulation using PLT Scheme and would love to be able to make use of parallelism across multicore machines. It would also be interesting to see what we could do to build this into the simulation collection to allow concurrent execution of &#39;simultaneous&#39; events.<br>
<br>Doug<br><br><div class="gmail_quote">On Mon, Dec 7, 2009 at 10:31 AM, James Swaine <span dir="ltr">&lt;<a href="mailto:james.swaine@gmail.com">james.swaine@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
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><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><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><font color="#888888">
<br>
James
</font><br>_________________________________________________<br>
  For list-related administrative tasks:<br>
  <a href="http://list.cs.brown.edu/mailman/listinfo/plt-dev" target="_blank">http://list.cs.brown.edu/mailman/listinfo/plt-dev</a><br>
<br></blockquote></div><br>